
L1: 55 ?? push ebp
 8b ec ?? mov ebp, esp
 83 25 50 54 40 00 00 ?? and dword ds:[0x00405450], 0
 83 ec 24 ?? sub esp, 0x24<36>
 83 0d 10 50 40 00 01 ?? or dword ds:[0x00405010], 1
 6a 0a ?? push 10
 ff 15 10 30 40 00 ?? call dword ds:[0x00403010<"HF@">]

L2: 85 c0 ?? test eax, eax
 0f 84 ac 01 00 00 ?? je basic block L25

L3: 83 65 f0 00 ?? and dword ss:[ebp + 0xf0<240,-16>], 0
 33 c0 ?? xor eax, eax
 53 ?? push ebx
 56 ?? push esi
 57 ?? push edi
 33 c9 ?? xor ecx, ecx
 8d 7d dc ?? lea edi, ss:[ebp + 0xdc<220,-36>]
 53 ?? push ebx
 0f a2 ?? cpuid
 8b f3 ?? mov esi, ebx
 5b ?? pop ebx
 90 ?? nop
 89 07 ?? mov dword ds:[edi], eax
 89 77 04 ?? mov dword ds:[edi + 4], esi
 89 4f 08 ?? mov dword ds:[edi + 8], ecx
 33 c9 ?? xor ecx, ecx
 89 57 0c ?? mov dword ds:[edi + 12], edx
 8b 45 dc ?? mov eax, dword ss:[ebp + 0xdc<220,-36>]
 8b 7d e0 ?? mov edi, dword ss:[ebp + 0xe0<224,-32>]
 89 45 f4 ?? mov dword ss:[ebp + 0xf4<244,-12>], eax
 81 f7 47 65 6e 75 ?? xor edi, 0x756e6547
 8b 45 e8 ?? mov eax, dword ss:[ebp + 0xe8<232,-24>]
 35 69 6e 65 49 ?? xor eax, 0x49656e69
 89 45 fc ?? mov dword ss:[ebp + 0xfc<252,-4>], eax
 8b 45 e4 ?? mov eax, dword ss:[ebp + 0xe4<228,-28>]
 35 6e 74 65 6c ?? xor eax, 0x6c65746e
 89 45 f8 ?? mov dword ss:[ebp + 0xf8<248,-8>], eax
 33 c0 ?? xor eax, eax
 40 ?? inc eax
 53 ?? push ebx
 0f a2 ?? cpuid
 8b f3 ?? mov esi, ebx
 5b ?? pop ebx
 90 ?? nop
 8d 5d dc ?? lea ebx, ss:[ebp + 0xdc<220,-36>]
 89 03 ?? mov dword ds:[ebx], eax
 8b 45 fc ?? mov eax, dword ss:[ebp + 0xfc<252,-4>]
 0b 45 f8 ?? or eax, dword ss:[ebp + 0xf8<248,-8>]
 0b c7 ?? or eax, edi
 89 73 04 ?? mov dword ds:[ebx + 4], esi
 89 4b 08 ?? mov dword ds:[ebx + 8], ecx
 89 53 0c ?? mov dword ds:[ebx + 12], edx
 75 43 ?? jne basic block L11

L4: 8b 45 dc ?? mov eax, dword ss:[ebp + 0xdc<220,-36>]
 25 f0 3f ff 0f ?? and eax, 0x0fff3ff0
 3d c0 06 01 00 ?? cmp eax, 0x000106c0
 74 23 ?? je basic block L10

L5: 3d 60 06 02 00 ?? cmp eax, 0x00020660
 74 1c ?? je basic block L10

L6: 3d 70 06 02 00 ?? cmp eax, 0x00020670
 74 15 ?? je basic block L10

L7: 3d 50 06 03 00 ?? cmp eax, 0x00030650
 74 0e ?? je basic block L10

L8: 3d 60 06 03 00 ?? cmp eax, 0x00030660
 74 07 ?? je basic block L10

L9: 3d 70 06 03 00 ?? cmp eax, 0x00030670
 75 11 ?? jne basic block L11

L10: 8b 3d 54 54 40 00 ?? mov edi, dword ds:[0x00405454]
 83 cf 01 ?? or edi, 1
 89 3d 54 54 40 00 ?? mov dword ds:[0x00405454], edi
 eb 06 ?? jmp basic block L12

L11: 8b 3d 54 54 40 00 ?? mov edi, dword ds:[0x00405454]

L12: 8b 4d e4 ?? mov ecx, dword ss:[ebp + 0xe4<228,-28>]
 6a 07 ?? push 7
 58 ?? pop eax
 89 4d fc ?? mov dword ss:[ebp + 0xfc<252,-4>], ecx
 39 45 f4 ?? cmp dword ss:[ebp + 0xf4<244,-12>], eax
 7c 30 ?? jl basic block L15

L13: 33 c9 ?? xor ecx, ecx
 53 ?? push ebx
 0f a2 ?? cpuid
 8b f3 ?? mov esi, ebx
 5b ?? pop ebx
 90 ?? nop
 8d 5d dc ?? lea ebx, ss:[ebp + 0xdc<220,-36>]
 89 03 ?? mov dword ds:[ebx], eax
 89 73 04 ?? mov dword ds:[ebx + 4], esi
 89 4b 08 ?? mov dword ds:[ebx + 8], ecx
 8b 4d fc ?? mov ecx, dword ss:[ebp + 0xfc<252,-4>]
 89 53 0c ?? mov dword ds:[ebx + 12], edx
 8b 5d e0 ?? mov ebx, dword ss:[ebp + 0xe0<224,-32>]
 f7 c3 00 02 00 00 ?? test ebx, 0x00000200<512>
 74 0e ?? je basic block L16

L14: 83 cf 02 ?? or edi, 2
 89 3d 54 54 40 00 ?? mov dword ds:[0x00405454], edi
 eb 03 ?? jmp basic block L16

L15: 8b 5d f0 ?? mov ebx, dword ss:[ebp + 0xf0<240,-16>]

L16: a1 10 50 40 00 ?? mov eax, dword ds:[0x00405010]
 83 c8 02 ?? or eax, 2
 c7 05 50 54 40 00 01 00 ?? mov dword ds:[0x00405450], 1
 00 00
 a3 10 50 40 00 ?? mov dword ds:[0x00405010], eax
 f7 c1 00 00 10 00 ?? test ecx, 0x00100000
 0f 84 93 00 00 00 ?? je basic block L24

L17: 83 c8 04 ?? or eax, 4
 c7 05 50 54 40 00 02 00 ?? mov dword ds:[0x00405450], 2
 00 00
 a3 10 50 40 00 ?? mov dword ds:[0x00405010], eax
 f7 c1 00 00 00 08 ?? test ecx, 0x08000000
 74 79 ?? je basic block L24

L18: f7 c1 00 00 00 10 ?? test ecx, 0x10000000
 74 71 ?? je basic block L24

L19: 33 c9 ?? xor ecx, ecx
 0f 01 d0 ?? xgetbv
 89 45 ec ?? mov dword ss:[ebp + 0xec<236,-20>], eax
 89 55 f0 ?? mov dword ss:[ebp + 0xf0<240,-16>], edx
 8b 45 ec ?? mov eax, dword ss:[ebp + 0xec<236,-20>]
 8b 4d f0 ?? mov ecx, dword ss:[ebp + 0xf0<240,-16>]
 6a 06 ?? push 6
 5e ?? pop esi
 23 c6 ?? and eax, esi
 3b c6 ?? cmp eax, esi
 75 57 ?? jne basic block L24

L20: a1 10 50 40 00 ?? mov eax, dword ds:[0x00405010]
 83 c8 08 ?? or eax, 8
 c7 05 50 54 40 00 03 00 ?? mov dword ds:[0x00405450], 3
 00 00
 a3 10 50 40 00 ?? mov dword ds:[0x00405010], eax
 f6 c3 20 ?? test bl, 0x20<32>
 74 3b ?? je basic block L24

L21: 83 c8 20 ?? or eax, 0x20<32>
 c7 05 50 54 40 00 05 00 ?? mov dword ds:[0x00405450], 5
 00 00
 a3 10 50 40 00 ?? mov dword ds:[0x00405010], eax
 b8 00 00 03 d0 ?? mov eax, 0xd0030000
 23 d8 ?? and ebx, eax
 3b d8 ?? cmp ebx, eax
 75 1e ?? jne basic block L24

L22: 8b 45 ec ?? mov eax, dword ss:[ebp + 0xec<236,-20>]
 ba e0 00 00 00 ?? mov edx, 0x000000e0<224>
 8b 4d f0 ?? mov ecx, dword ss:[ebp + 0xf0<240,-16>]
 23 c2 ?? and eax, edx
 3b c2 ?? cmp eax, edx
 75 0d ?? jne basic block L24

L23: 83 0d 10 50 40 00 40 ?? or dword ds:[0x00405010], 0x40<64>
 89 35 50 54 40 00 ?? mov dword ds:[0x00405450], esi

L24: 5f ?? pop edi
 5e ?? pop esi
 5b ?? pop ebx

L25: 33 c0 ?? xor eax, eax
 c9 ?? leave
 c3 ?? ret

