
L1: 55 ?? push ebp
 8b ec ?? mov ebp, esp
 83 ec 48 ?? sub esp, 0x48<72>
 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 08 74 40 00 00 00 ?? mov dword ds:[0x00407408], 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
 ff 15 10 50 40 00 ?? call dword ds:[0x00405010]

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

L3: 33 c0 ?? xor eax, eax
 e9 e7 02 00 00 ?? jmp basic block L29

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
 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
 b9 04 00 00 00 ?? mov ecx, 4
 6b d1 00 ?? imul edx, ecx, 0
 8b 44 15 e0 ?? mov eax, dword ss:[ebp + edx + 0xe0<224,-32>]
 89 45 c8 ?? mov dword ss:[ebp + 0xc8<200,-56>], 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 f2 47 65 6e 75 ?? xor edx, 0x756e6547
 b8 04 00 00 00 ?? mov eax, 4
 6b c8 03 ?? imul ecx, eax, 3
 8b 44 0d e0 ?? mov eax, dword ss:[ebp + ecx + 0xe0<224,-32>]
 35 69 6e 65 49 ?? xor eax, 0x49656e69
 0b d0 ?? or edx, eax
 b9 04 00 00 00 ?? mov ecx, 4
 d1 e1 ?? shl ecx, 1
 8b 44 0d e0 ?? mov eax, dword ss:[ebp + ecx + 0xe0<224,-32>]
 35 6e 74 65 6c ?? xor eax, 0x6c65746e
 0b d0 ?? or edx, eax
 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 4d d4 ?? mov cl, byte ss:[ebp + 0xd4<212,-44>]
 88 4d df ?? mov byte ss:[ebp + 0xdf<223,-33>], cl
 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
 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 d8 ?? mov dword ss:[ebp + 0xd8<216,-40>], ecx
 0f b6 55 df ?? movzx edx, byte ss:[ebp + 0xdf<223,-33>]
 85 d2 ?? test edx, edx
 74 6f ?? je basic block L15

L8: 8b 45 d8 ?? mov eax, dword ss:[ebp + 0xd8<216,-40>]
 25 f0 3f ff 0f ?? and eax, 0x0fff3ff0
 3d c0 06 01 00 ?? cmp eax, 0x000106c0
 74 53 ?? je basic block L14

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

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

L11: 8b 45 d8 ?? mov eax, dword ss:[ebp + 0xd8<216,-40>]
 25 f0 3f ff 0f ?? and eax, 0x0fff3ff0
 3d 50 06 03 00 ?? cmp eax, 0x00030650
 74 22 ?? je basic block L14

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

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

L14: a1 0c 74 40 00 ?? mov eax, dword ds:[0x0040740c]
 83 c8 01 ?? or eax, 1
 a3 0c 74 40 00 ?? mov dword ds:[0x0040740c], eax

L15: b9 04 00 00 00 ?? mov ecx, 4
 6b d1 03 ?? imul edx, ecx, 3
 b8 04 00 00 00 ?? mov eax, 4
 6b c8 00 ?? imul ecx, eax, 0
 8b 54 15 e0 ?? mov edx, dword ss:[ebp + edx + 0xe0<224,-32>]
 89 54 0d f0 ?? mov dword ss:[ebp + ecx + 0xf0<240,-16>], edx
 b8 04 00 00 00 ?? mov eax, 4
 d1 e0 ?? shl eax, 1
 b9 04 00 00 00 ?? mov ecx, 4
 c1 e1 00 ?? shl ecx, 0
 8b 54 05 e0 ?? mov edx, dword ss:[ebp + eax + 0xe0<224,-32>]
 89 54 0d f0 ?? mov dword ss:[ebp + ecx + 0xf0<240,-16>], edx
 83 7d c8 07 ?? cmp dword ss:[ebp + 0xc8<200,-56>], 7
 7c 51 ?? 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
 b8 04 00 00 00 ?? mov eax, 4
 c1 e0 00 ?? shl eax, 0
 b9 04 00 00 00 ?? mov ecx, 4
 d1 e1 ?? shl ecx, 1
 8b 54 05 e0 ?? mov edx, dword ss:[ebp + eax + 0xe0<224,-32>]
 89 54 0d f0 ?? mov dword ss:[ebp + ecx + 0xf0<240,-16>], edx
 b8 04 00 00 00 ?? mov eax, 4
 c1 e0 00 ?? shl eax, 0
 8b 4c 05 e0 ?? mov ecx, dword ss:[ebp + eax + 0xe0<224,-32>]
 81 e1 00 02 00 00 ?? and ecx, 0x00000200<512>
 74 0f ?? je basic block L18

L17: 8b 15 0c 74 40 00 ?? mov edx, dword ds:[0x0040740c]
 83 ca 02 ?? or edx, 2
 89 15 0c 74 40 00 ?? mov dword ds:[0x0040740c], edx

L18: c7 05 08 74 40 00 01 00 ?? mov dword ds:[0x00407408], 1
 00 00
 a1 10 70 40 00 ?? mov eax, dword ds:[0x00407010]
 83 c8 02 ?? or eax, 2
 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 10 00 ?? and edx, 0x00100000
 0f 84 0c 01 00 00 ?? je basic block L28

L19: c7 05 08 74 40 00 02 00 ?? mov dword ds:[0x00407408], 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
 0f 84 dd 00 00 00 ?? je basic block L28

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
 0f 84 c5 00 00 00 ?? je basic block L28

L21: 33 c9 ?? xor ecx, ecx
 0f 01 d0 ?? xgetbv
 89 45 cc ?? mov dword ss:[ebp + 0xcc<204,-52>], eax
 89 55 d0 ?? mov dword ss:[ebp + 0xd0<208,-48>], edx
 8b 55 cc ?? mov edx, dword ss:[ebp + 0xcc<204,-52>]
 8b 45 d0 ?? mov eax, dword ss:[ebp + 0xd0<208,-48>]
 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
 0f 85 9e 00 00 00 ?? jne basic block L28

L22: 83 7d c4 00 ?? cmp dword ss:[ebp + 0xc4<196,-60>], 0
 0f 85 94 00 00 00 ?? jne basic block L28

L23: c7 05 08 74 40 00 03 00 ?? mov dword ds:[0x00407408], 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 6b ?? je basic block L28

L24: c7 05 08 74 40 00 05 00 ?? mov dword ds:[0x00407408], 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
 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>]
 25 00 00 03 d0 ?? and eax, 0xd0030000
 3d 00 00 03 d0 ?? cmp eax, 0xd0030000
 75 3b ?? jne basic block L28

L25: 8b 4d cc ?? mov ecx, dword ss:[ebp + 0xcc<204,-52>]
 8b 55 d0 ?? mov edx, dword ss:[ebp + 0xd0<208,-48>]
 81 e1 e0 00 00 00 ?? and ecx, 0x000000e0<224>
 83 e2 00 ?? and edx, 0
 89 4d b8 ?? mov dword ss:[ebp + 0xb8<184,-72>], ecx
 89 55 bc ?? mov dword ss:[ebp + 0xbc<188,-68>], edx
 81 7d b8 e0 00 00 00 ?? cmp dword ss:[ebp + 0xb8<184,-72>], 0x000000e0<224>
 75 1d ?? jne basic block L28

L26: 83 7d bc 00 ?? cmp dword ss:[ebp + 0xbc<188,-68>], 0
 75 17 ?? jne basic block L28

L27: c7 05 08 74 40 00 06 00 ?? mov dword ds:[0x00407408], 6
 00 00
 a1 10 70 40 00 ?? mov eax, dword ds:[0x00407010]
 83 c8 40 ?? or eax, 0x40<64>
 a3 10 70 40 00 ?? mov dword ds:[0x00407010], eax

L28: 33 c0 ?? xor eax, eax

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

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

