
L1: 55 ?? push ebp
 8b ec ?? mov ebp, esp
 83 ec 40 ?? sub esp, 0x40<64>
 a1 04 70 40 00 ?? mov eax, dword ds:[0x00407004]
 33 c5 ?? xor eax, ebp
 89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
 53 ?? push ebx
 56 ?? push esi
 c7 05 2c 74 40 00 00 00 ?? mov dword ds:[0x0040742c], 0
 00 00
 a1 10 70 40 00 ?? mov eax, dword ds:[0x00407010]
 83 c8 01 ?? or eax, 1
 a3 10 70 40 00 ?? mov dword ds:[0x00407010], eax
 6a 0a ?? push 10
 e8 14 04 00 00 ?? call function 0x00402ce4

L2: 85 c0 ?? test eax, eax
 75 07 ?? jne basic block L4

L3: 33 c0 ?? xor eax, eax
 e9 88 02 00 00 ?? jmp basic block L26

L4: c7 45 f0 00 00 00 00 ?? mov dword ss:[ebp + 0xf0<240,-16>], 0
 c7 45 f4 00 00 00 00 ?? mov dword ss:[ebp + 0xf4<244,-12>], 0
 c7 45 f8 00 00 00 00 ?? mov dword ss:[ebp + 0xf8<248,-8>], 0
 c7 05 2c 74 40 00 01 00 ?? mov dword ds:[0x0040742c], 1
 00 00
 8b 0d 10 70 40 00 ?? mov ecx, dword ds:[0x00407010]
 83 c9 02 ?? or ecx, 2
 89 0d 10 70 40 00 ?? mov dword ds:[0x00407010], ecx
 8d 75 e0 ?? lea esi, ss:[ebp + 0xe0<224,-32>]
 33 c0 ?? xor eax, eax
 33 c9 ?? xor ecx, ecx
 0f a2 ?? cpuid
 89 06 ?? mov dword ds:[esi], eax
 89 5e 04 ?? mov dword ds:[esi + 4], ebx
 89 4e 08 ?? mov dword ds:[esi + 8], ecx
 89 56 0c ?? mov dword ds:[esi + 12], edx
 ba 04 00 00 00 ?? mov edx, 4
 6b c2 00 ?? imul eax, edx, 0
 8b 4c 05 e0 ?? mov ecx, dword ss:[ebp + eax + 0xe0<224,-32>]
 89 4d d0 ?? mov dword ss:[ebp + 0xd0<208,-48>], ecx
 ba 04 00 00 00 ?? mov edx, 4
 c1 e2 00 ?? shl edx, 0
 8b 44 15 e0 ?? mov eax, dword ss:[ebp + edx + 0xe0<224,-32>]
 35 47 65 6e 75 ?? xor eax, 0x756e6547
 b9 04 00 00 00 ?? mov ecx, 4
 6b d1 03 ?? imul edx, ecx, 3
 8b 4c 15 e0 ?? mov ecx, dword ss:[ebp + edx + 0xe0<224,-32>]
 81 f1 69 6e 65 49 ?? xor ecx, 0x49656e69
 0b c1 ?? or eax, ecx
 ba 04 00 00 00 ?? mov edx, 4
 d1 e2 ?? shl edx, 1
 8b 4c 15 e0 ?? mov ecx, dword ss:[ebp + edx + 0xe0<224,-32>]
 81 f1 6e 74 65 6c ?? xor ecx, 0x6c65746e
 0b c1 ?? or eax, ecx
 75 09 ?? jne basic block L6

L5: c7 45 d4 01 00 00 00 ?? mov dword ss:[ebp + 0xd4<212,-44>], 1
 eb 07 ?? jmp basic block L7

L6: c7 45 d4 00 00 00 00 ?? mov dword ss:[ebp + 0xd4<212,-44>], 0

L7: 8a 55 d4 ?? mov dl, byte ss:[ebp + 0xd4<212,-44>]
 88 55 df ?? mov byte ss:[ebp + 0xdf<223,-33>], dl
 8d 75 e0 ?? lea esi, ss:[ebp + 0xe0<224,-32>]
 b8 01 00 00 00 ?? mov eax, 1
 33 c9 ?? xor ecx, ecx
 0f a2 ?? cpuid
 89 06 ?? mov dword ds:[esi], eax
 89 5e 04 ?? mov dword ds:[esi + 4], ebx
 89 4e 08 ?? mov dword ds:[esi + 8], ecx
 89 56 0c ?? mov dword ds:[esi + 12], edx
 b8 04 00 00 00 ?? mov eax, 4
 6b c8 00 ?? imul ecx, eax, 0
 8b 54 0d e0 ?? mov edx, dword ss:[ebp + ecx + 0xe0<224,-32>]
 89 55 d8 ?? mov dword ss:[ebp + 0xd8<216,-40>], edx
 0f b6 45 df ?? movzx eax, byte ss:[ebp + 0xdf<223,-33>]
 85 c0 ?? test eax, eax
 74 71 ?? je basic block L15

L8: 8b 4d d8 ?? mov ecx, dword ss:[ebp + 0xd8<216,-40>]
 81 e1 f0 3f ff 0f ?? and ecx, 0x0fff3ff0
 81 f9 c0 06 01 00 ?? cmp ecx, 0x000106c0
 74 51 ?? je basic block L14

L9: 8b 55 d8 ?? mov edx, dword ss:[ebp + 0xd8<216,-40>]
 81 e2 f0 3f ff 0f ?? and edx, 0x0fff3ff0
 81 fa 60 06 02 00 ?? cmp edx, 0x00020660
 74 40 ?? je basic block L14

L10: 8b 45 d8 ?? mov eax, dword ss:[ebp + 0xd8<216,-40>]
 25 f0 3f ff 0f ?? and eax, 0x0fff3ff0
 3d 70 06 02 00 ?? cmp eax, 0x00020670
 74 31 ?? je basic block L14

L11: 8b 4d d8 ?? mov ecx, dword ss:[ebp + 0xd8<216,-40>]
 81 e1 f0 3f ff 0f ?? and ecx, 0x0fff3ff0
 81 f9 50 06 03 00 ?? cmp ecx, 0x00030650
 74 20 ?? je basic block L14

L12: 8b 55 d8 ?? mov edx, dword ss:[ebp + 0xd8<216,-40>]
 81 e2 f0 3f ff 0f ?? and edx, 0x0fff3ff0
 81 fa 60 06 03 00 ?? cmp edx, 0x00030660
 74 0f ?? je basic block L14

L13: 8b 45 d8 ?? mov eax, dword ss:[ebp + 0xd8<216,-40>]
 25 f0 3f ff 0f ?? and eax, 0x0fff3ff0
 3d 70 06 03 00 ?? cmp eax, 0x00030670
 75 0f ?? jne basic block L15

L14: 8b 0d 30 74 40 00 ?? mov ecx, dword ds:[0x00407430]
 83 c9 01 ?? or ecx, 1
 89 0d 30 74 40 00 ?? mov dword ds:[0x00407430], ecx

L15: ba 04 00 00 00 ?? mov edx, 4
 6b c2 03 ?? imul eax, edx, 3
 b9 04 00 00 00 ?? mov ecx, 4
 6b d1 00 ?? imul edx, ecx, 0
 8b 44 05 e0 ?? mov eax, dword ss:[ebp + eax + 0xe0<224,-32>]
 89 44 15 f0 ?? mov dword ss:[ebp + edx + 0xf0<240,-16>], eax
 b9 04 00 00 00 ?? mov ecx, 4
 d1 e1 ?? shl ecx, 1
 ba 04 00 00 00 ?? mov edx, 4
 c1 e2 00 ?? shl edx, 0
 8b 44 0d e0 ?? mov eax, dword ss:[ebp + ecx + 0xe0<224,-32>]
 89 44 15 f0 ?? mov dword ss:[ebp + edx + 0xf0<240,-16>], eax
 83 7d d0 07 ?? cmp dword ss:[ebp + 0xd0<208,-48>], 7
 7c 4f ?? jl basic block L18

L16: 8d 75 e0 ?? lea esi, ss:[ebp + 0xe0<224,-32>]
 b8 07 00 00 00 ?? mov eax, 7
 33 c9 ?? xor ecx, ecx
 0f a2 ?? cpuid
 89 06 ?? mov dword ds:[esi], eax
 89 5e 04 ?? mov dword ds:[esi + 4], ebx
 89 4e 08 ?? mov dword ds:[esi + 8], ecx
 89 56 0c ?? mov dword ds:[esi + 12], edx
 b9 04 00 00 00 ?? mov ecx, 4
 c1 e1 00 ?? shl ecx, 0
 ba 04 00 00 00 ?? mov edx, 4
 d1 e2 ?? shl edx, 1
 8b 44 0d e0 ?? mov eax, dword ss:[ebp + ecx + 0xe0<224,-32>]
 89 44 15 f0 ?? mov dword ss:[ebp + edx + 0xf0<240,-16>], eax
 b9 04 00 00 00 ?? mov ecx, 4
 c1 e1 00 ?? shl ecx, 0
 8b 54 0d e0 ?? mov edx, dword ss:[ebp + ecx + 0xe0<224,-32>]
 81 e2 00 02 00 00 ?? and edx, 0x00000200<512>
 74 0d ?? je basic block L18

L17: a1 30 74 40 00 ?? mov eax, dword ds:[0x00407430]
 83 c8 02 ?? or eax, 2
 a3 30 74 40 00 ?? mov dword ds:[0x00407430], eax

L18: b9 04 00 00 00 ?? mov ecx, 4
 c1 e1 00 ?? shl ecx, 0
 8b 54 0d f0 ?? mov edx, dword ss:[ebp + ecx + 0xf0<240,-16>]
 81 e2 00 00 10 00 ?? and edx, 0x00100000
 0f 84 aa 00 00 00 ?? je basic block L25

L19: c7 05 2c 74 40 00 02 00 ?? mov dword ds:[0x0040742c], 2
 00 00
 a1 10 70 40 00 ?? mov eax, dword ds:[0x00407010]
 83 c8 04 ?? or eax, 4
 a3 10 70 40 00 ?? mov dword ds:[0x00407010], eax
 b9 04 00 00 00 ?? mov ecx, 4
 c1 e1 00 ?? shl ecx, 0
 8b 54 0d f0 ?? mov edx, dword ss:[ebp + ecx + 0xf0<240,-16>]
 81 e2 00 00 00 08 ?? and edx, 0x08000000
 74 7f ?? je basic block L25

L20: b8 04 00 00 00 ?? mov eax, 4
 c1 e0 00 ?? shl eax, 0
 8b 4c 05 f0 ?? mov ecx, dword ss:[ebp + eax + 0xf0<240,-16>]
 81 e1 00 00 00 10 ?? and ecx, 0x10000000
 74 6b ?? je basic block L25

L21: 33 c9 ?? xor ecx, ecx
 0f 01 d0 ?? xgetbv
 89 45 c8 ?? mov dword ss:[ebp + 0xc8<200,-56>], eax
 89 55 cc ?? mov dword ss:[ebp + 0xcc<204,-52>], edx
 8b 55 c8 ?? mov edx, dword ss:[ebp + 0xc8<200,-56>]
 8b 45 cc ?? mov eax, dword ss:[ebp + 0xcc<204,-52>]
 83 e2 06 ?? and edx, 6
 83 e0 00 ?? and eax, 0
 89 55 c0 ?? mov dword ss:[ebp + 0xc0<192,-64>], edx
 89 45 c4 ?? mov dword ss:[ebp + 0xc4<196,-60>], eax
 83 7d c0 06 ?? cmp dword ss:[ebp + 0xc0<192,-64>], 6
 75 48 ?? jne basic block L25

L22: 83 7d c4 00 ?? cmp dword ss:[ebp + 0xc4<196,-60>], 0
 75 42 ?? jne basic block L25

L23: c7 05 2c 74 40 00 03 00 ?? mov dword ds:[0x0040742c], 3
 00 00
 8b 0d 10 70 40 00 ?? mov ecx, dword ds:[0x00407010]
 83 c9 08 ?? or ecx, 8
 89 0d 10 70 40 00 ?? mov dword ds:[0x00407010], ecx
 ba 04 00 00 00 ?? mov edx, 4
 d1 e2 ?? shl edx, 1
 8b 44 15 f0 ?? mov eax, dword ss:[ebp + edx + 0xf0<240,-16>]
 83 e0 20 ?? and eax, 0x20<32>
 74 19 ?? je basic block L25

L24: c7 05 2c 74 40 00 05 00 ?? mov dword ds:[0x0040742c], 5
 00 00
 8b 0d 10 70 40 00 ?? mov ecx, dword ds:[0x00407010]
 83 c9 20 ?? or ecx, 0x20<32>
 89 0d 10 70 40 00 ?? mov dword ds:[0x00407010], ecx

L25: 33 c0 ?? xor eax, eax

L26: 5e ?? pop esi
 5b ?? pop ebx
 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
 33 cd ?? xor ecx, ebp
 e8 e1 e5 ff ff ?? call function 0x00401150

L27: 8b e5 ?? mov esp, ebp
 5d ?? pop ebp
 c3 ?? ret

