Function at 0x407156
Capabilities:
Get number of processors

Disassembly:
add esp, 4
pop esi
push esi
push ecx
add esp, 4
xor esi, 0x5a36
or esi, 0x86b9
add esi, 0xf664
pop esi
imul edx, dword [ebp - 0x1060], 0xfe
add edx, 0x56f3663b
imul eax, dword [ebp - 0x1060], 0xfe
sub edx, eax
xor edx, 0xaa6272
imul edx, dword [ebp - 0x1060]
imul ecx, dword [ebp - 0x1060], 0xfe
sub edx, ecx
mov dword [ebp - 0x1064], edx
push ecx
add ecx, 0x13eae
and ecx, 0x262e
sub ecx, 0x1651d
or ecx, 0x78d7
pop ecx
push eax
push esi
add esp, 4
or eax, 0xd502
and eax, 0x37a2
xor eax, 0xa752
pop eax
mov dword [ebp - 0x10], 1
push esi
xor esi, 0x14eb
or esi, 0xd685
call 0x403a99
add byte [0x4d3e444b], dh
inc esi
aas
add esp, 4
and esi, 0x17efd
pop esi
push esi
jmp 0x403aaa
and esi, 0xc9f5
pop esi
imul edx, dword [ebp - 0x10], 0xfe
add edx, 0x56f3663b
imul eax, dword [ebp - 0x10], 0xfe
sub edx, eax
xor edx, 0x153c
imul edx, dword [ebp - 0x10]
imul ecx, dword [ebp - 0x10], 0xfe
sub edx, ecx
mov dword [ebp - 0x14], edx
push edi
push eax
add esp, 4
add edi, 0x11471
xor edi, 0x14c63
and edi, 0x6906
pop edi
push eax
add eax, 0xaac9
call 0x403b0b
add byte [0x3f4b4538], dh
aaa
xor al, 0x49
dec eax
add esp, 4
pop eax
push eax
push ecx
add esp, 4
sub eax, 0xa09a
sub eax, 0xdcad
and eax, 0x8930
pop eax
push edi
xor edi, 0x1716
sub edi, 0xf4ae
sub edi, 0x1c0f
add edi, 0xb6a1
pop edi
mov dword [ebp - 0x2c], 1
push edi
push eax
add esp, 4
or edi, 0x10ac3
pop edi
push esi
push edi
add esp, 4
or esi, 0xecc9
pop esi
push edi
xor edi, 0x7c2e
pop edi
push esi
push ecx
add esp, 4
add esi, 0x126
jmp 0x403b79
pop esi
imul edx, dword [ebp - 0x2c], 0xfe
add edx, 0x56f3663b
imul eax, dword [ebp - 0x2c], 0xfe
sub edx, eax
xor edx, 0
imul edx, dword [ebp - 0x2c]
imul ecx, dword [ebp - 0x2c], 0xfe
sub edx, ecx
mov dword [ebp - 0x30], edx
jmp 0x403d5b
mov ecx, dword [ebp - 0x1064]
mov edx, dword [ebp - 0x1060]
mov dword [ebp - 0x1634], ecx
mov dword [ebp - 0x1630], edx
push ecx
push ecx
add esp, 4
add ecx, 0x8eee
and ecx, 0x9e0c
pop ecx
push edi
push ebx
add esp, 4
or edi, 0x49b5
pop edi
push esi
push esi
add esp, 4
add esi, 0x1a01
jmp 0x403da4
pop esi
push edx
push edx
add esp, 4
sub edx, 0xd9d2
add edx, 0xc7a7
pop edx
push esi
sub esi, 0x79e1
add esi, 0x49b3
call 0x403dd3
add byte [esi + 0x4e], cl
cmp byte [esi + 0x50], cl
cmp byte [ebx + esi + 0x47], al
add esp, 4
pop esi
mov eax, dword [ebp - 0x30]
add eax, 0xfe
imul ecx, dword [ebp - 0x2c], 0xfe
add ecx, 0x56f3663b
imul edx, dword [ebp - 0x2c], 0xfe
sub ecx, edx
xor eax, ecx
imul eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1e30], eax
push ecx
push edx
add esp, 4
add ecx, 0xaab4
jmp 0x403e12
or ecx, 0x219
pop ecx
push edi
xor edi, 0xb6fe
xor edi, 0x13458
or edi, 0x12655
xor edi, 0xfd8f
pop edi
mov eax, dword [ebp - 0x1634]
add eax, 0xfe
imul ecx, dword [ebp - 0x1630], 0xfe
add ecx, 0x56f3663b
imul edx, dword [ebp - 0x1630], 0xfe
sub ecx, edx
xor eax, ecx
imul eax, dword [ebp - 0x1630]
mov dword [ebp - 0x1e2c], eax
mov eax, dword [ebp - 0x1e2c]
mov dword [ebp - 0x1e34], eax
mov ecx, dword [ebp - 0x1e30]
cmp ecx, dword [ebp - 0x1e34]
jae 0x403e8f
mov dword [ebp - 0x15a4], 1
jmp 0x403e99
mov dword [ebp - 0x15a4], 0
mov dl, byte [ebp - 0x15a4]
mov byte [ebp - 0x3ad], dl
movzx eax, byte [ebp - 0x3ad]
test eax, eax
je 0x406f0c
push edi
push ecx
add esp, 4
jmp 0x403ebe
call 0x403ece
add byte [eax + 0x46], al
dec edi
push eax
inc esi
xor al, 0x4a
inc ebx
inc esp
cmp byte [ebx + 0x6eb04c4], al
inc eax
inc ecx
cmp al, 0x34
inc ecx
cmp dword [edi + 0x56], ebx
push eax
add esp, 4
jmp 0x403ee5
pop esi
push edi
or edi, 0x12680
xor edi, 0x781f
pop edi
push ecx
xor ecx, 0x8515
add ecx, 0xb855
jmp 0x403f06
jmp 0x403f0b
pop ecx
push ecx
push ecx
add esp, 4
or ecx, 0xd687
pop ecx
mov ecx, dword [ebp - 0x30]
add ecx, 0xfe
imul edx, dword [ebp - 0x2c], 0xfe
add edx, 0x56f3663b
imul eax, dword [ebp - 0x2c], 0xfe
sub edx, eax
xor ecx, edx
imul ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x1e38], ecx
mov ecx, dword [ebp - 0x1e38]
mov dword [ebp - 0x1e3c], ecx
cmp dword [ebp - 0x1e3c], 0x63c1
jne 0x404093
push ebx
xor ebx, 0x344
add ebx, 0x8c34
jmp 0x403f75
pop ebx
push ebx
and ebx, 0xf446
pop ebx
push esi
call 0x403f8d
add byte [edx + eax*2 + 0x4b], al
dec ebp
dec ebx
inc edi
cmp cl, byte [edx - 0x7d]
les eax, [esi + ebx*2]
mov edx, dword [ebp - 0x14]
add edx, 0xfe
imul eax, dword [ebp - 0x10], 0xfe
add eax, 0x56f3663b
imul ecx, dword [ebp - 0x10], 0xfe
sub eax, ecx
xor edx, eax
imul edx, dword [ebp - 0x10]
mov dword [ebp - 0x1e40], edx
mov edx, dword [ebp - 0x1e40]
mov dword [ebp - 0x1e44], edx
mov eax, dword [ebp - 0x1e44]
sub eax, 0x898
mov dword [ebp - 0x1e48], eax
mov dword [ebp - 0x1068], 1
push ebx
or ebx, 0x122e1
sub ebx, 0xcad9
or ebx, 0xa4d1
pop ebx
push esi
push edi
add esp, 4
call 0x40400a
add byte [ebx + 0x4c], cl
xor al, 0x4a
dec esp
xor cl, byte [ebx + 0x36]
dec edx
add esp, 4
sub esi, 0xc305
pop esi
imul ecx, dword [ebp - 0x1068], 0xfe
add ecx, 0x56f3663b
imul edx, dword [ebp - 0x1068], 0xfe
sub ecx, edx
xor ecx, dword [ebp - 0x1e48]
imul ecx, dword [ebp - 0x1068]
imul eax, dword [ebp - 0x1068], 0xfe
sub ecx, eax
mov dword [ebp - 0x106c], ecx
mov ecx, dword [ebp - 0x106c]
mov edx, dword [ebp - 0x1068]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x10], edx
push edi
push ecx
add esp, 4
add edi, 0x106bf
sub edi, 0x17c04
add edi, 0x9f87
xor edi, 0x4a37
pop edi
push ebx
xor ebx, 0x1471f
add ebx, 0x17c73
xor ebx, 0xe1d2
pop ebx
push eax
jmp 0x404099
add eax, 0x246d
add eax, 0x8c2d
pop eax
push edi
or edi, 0x15379
call 0x4040bb
add byte [esi + 0x48], al
cmp ecx, dword [ebp + 0x48]
cmp al, byte [eax + 0x34]
add esp, 4
and edi, 0x68ad
pop edi
mov eax, dword [ebp - 0x14]
add eax, 0xfe
imul ecx, dword [ebp - 0x10], 0xfe
add ecx, 0x56f3663b
imul edx, dword [ebp - 0x10], 0xfe
sub ecx, edx
xor eax, ecx
imul eax, dword [ebp - 0x10]
mov dword [ebp - 0x1e4c], eax
mov eax, dword [ebp - 0x1e4c]
mov dword [ebp - 0x1ebc], eax
lea ecx, [ebp - 0x9ac]
mov dword [ebp - 0x3e0], ecx
mov edx, dword [ebp - 0x3e0]
mov dword [edx + 4], 1
push esi
and esi, 0xbd48
add esi, 0x1612d
or esi, 0x2a28
pop esi
push esi
push edi
add esp, 4
add esi, 0xeb42
xor esi, 0x1170b
pop esi
push eax
push edi
add esp, 4
and eax, 0x4b71
pop eax
mov eax, dword [ebp - 0x3e0]
imul ecx, dword [eax + 4], 0xfe
add ecx, 0x56f3663b
mov edx, dword [ebp - 0x3e0]
imul eax, dword [edx + 4], 0xfe
sub ecx, eax
xor ecx, 0x23
mov edx, dword [ebp - 0x3e0]
imul ecx, dword [edx + 4]
mov eax, dword [ebp - 0x3e0]
imul edx, dword [eax + 4], 0xfe
sub ecx, edx
mov eax, dword [ebp - 0x3e0]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x3e0]
mov dword [ebp - 0x2050], ecx
push edx
push ecx
add esp, 4
and edx, 0x110d
xor edx, 0xfd61
pop edx
push esi
and esi, 0x911c
add esi, 0x18133
pop esi
push edi
push edi
add esp, 4
or edi, 0x16e61
sub edi, 0x7c20
pop edi
mov dword [ebp - 0x15ac], 1
push edi
jmp 0x4041de
and edi, 0x6889
pop edi
push ecx
push eax
add esp, 4
xor ecx, 0xb4b6
pop ecx
push edi
call 0x404202
add byte [0x36393b4f], dh
inc ebp
dec esp
cmp dword [esp + esi - 0x7d], ecx
les eax, [edi + ebx*2]
mov dword [ebp - 0x2054], 0x38
mov dword [ebp - 0x2058], 0xe6
mov dword [ebp - 0x205c], 0x6e
mov dword [ebp - 0x2060], 0x6e
mov dword [ebp - 0x2064], 0x78
mov dword [ebp - 0x1638], 1
push edi
push eax
add esp, 4
or edi, 0x2185
pop edi
push edx
push ebx
add esp, 4
jmp 0x40425c
or edx, 0x795
pop edx
push edi
push esi
add esp, 4
jmp 0x40426d
and edi, 0xb1e3
pop edi
imul edx, dword [ebp - 0x1638], 0xfe
add edx, 0x56f3663b
imul eax, dword [ebp - 0x1638], 0xfe
sub edx, eax
xor edx, 0xe6
imul edx, dword [ebp - 0x1638]
imul ecx, dword [ebp - 0x1638], 0xfe
sub edx, ecx
mov dword [ebp - 0x163c], edx
push ebx
or ebx, 0x312e
and ebx, 0x152f1
xor ebx, 0x14f7a
add dword [eax], eax
sub ebx, 0x4040
pop ebx
push esi
jmp 0x4042d2
pop esi
push edx
xor edx, 0x9c02
or edx, 0x81d7
pop edx
push edi
or edi, 0x8c24
call 0x4042f7
add byte [ecx + 0x3b], cl
cmp dword [esi + 0x4e], ecx
inc ebx
dec ebx
xor esi, dword [edx]
add esp, 4
add edi, 0xa288
call 0x40430f
add byte [esi], bh
cmp eax, 0x503a4943
aas
xor eax, 0x4c4834d
pop edi
mov edx, dword [ebp - 0x9ac]
add edx, 0xfe
imul eax, dword [ebp - 0x9a8], 0xfe
add eax, 0x56f3663b
imul ecx, dword [ebp - 0x9a8], 0xfe
sub eax, ecx
xor edx, eax
imul edx, dword [ebp - 0x9a8]
mov dword [ebp - 0x1e50], edx
mov edx, dword [ebp - 0x1e50]
mov dword [ebp - 0x1e54], edx
mov eax, dword [ebp - 0x1e54]
sub eax, 0x6e
mov dword [ebp - 0x1e5c], eax
mov dword [ebp - 0xa74], 1
push esi
call 0x40437f
add byte [ecx + eax*2], bh
inc esi
xor cl, byte [eax + 0x3d]
xor edi, dword ds:[esi]
cmp byte [ebx - 0x97efb3c], al
jl 0x4043b8
add dword [eax], eax
pop esi
push edx
push esi
add esp, 4
and edx, 0x11e19
jmp 0x404399
and edx, 0x915a
pop edx
imul ecx, dword [ebp - 0xa74], 0xfe
add ecx, 0x56f3663b
imul edx, dword [ebp - 0xa74], 0xfe
add byte [eax], al
sub ecx, edx
xor ecx, dword [ebp - 0x1e5c]
imul ecx, dword [ebp - 0xa74]
imul eax, dword [ebp - 0xa74], 0xfe
sub ecx, eax
mov dword [ebp - 0xa78], ecx
push esi
jmp 0x4043e2
sub esi, 0x14b
add esi, 0x90d3
and esi, 0xbf0e
pop esi
push esi
push ebx
add esp, 4
sub esi, 0x1818d
pop esi
push ecx
push edi
add esp, 4
and ecx, 0x13336
pop ecx
mov ecx, dword [ebp - 0x9ac]
add ecx, 0xfe
imul edx, dword [ebp - 0x9a8], 0xfe
add edx, 0x56f3663b
imul eax, dword [ebp - 0x9a8], 0xfe
sub edx, eax
xor ecx, edx
imul ecx, dword [ebp - 0x9a8]
mov dword [ebp - 0x1e60], ecx
mov ecx, dword [ebp - 0x1e60]
mov dword [ebp - 0x1e64], ecx
mov edx, dword [ebp - 0x1e64]
add edx, 0x38
mov dword [ebp - 0x1e68], edx
mov dword [ebp - 0xa7c], 1
push eax
push ebx
add esp, 4
and eax, 0x45c7
pop eax
push edx
push ecx
add esp, 4
jmp 0x404482
and edx, 0xbaeb
or edx, 0x14610
pop edx
push edi
push ecx
add esp, 4
xor edi, 0x628c
pop edi
imul eax, dword [ebp - 0xa7c], 0xfe
add eax, 0x56f3663b
imul ecx, dword [ebp - 0xa7c], 0xfe
sub eax, ecx
xor eax, dword [ebp - 0x1e68]
imul eax, dword [ebp - 0xa7c]
imul edx, dword [ebp - 0xa7c], 0xfe
sub eax, edx
mov dword [ebp - 0xa80], eax
push eax
call 0x4044e3
add byte [ebx + 0x4f], al
dec ecx
dec ecx
inc esi
dec ecx
add esp, 4
pop eax
push edx
push edx
add esp, 4
jmp 0x4044f3
or edx, 0x12952
sub edx, 0xd7b2
jmp 0x404506
pop edx
push esi
call 0x404518
add byte [eax + edx*2 + 0x4e], cl
dec ecx
inc edx
dec eax
cmp al, 0x42
cmp ecx, dword [esi - 0x7d]
les eax, [esi + ebx*2]
push ecx
jmp 0x404524
and ecx, 0x11952
pop ecx
push ebx
xor ebx, 0x4510
or ebx, 0x62bb
pop ebx
mov dword [ebp - 0x2f0], 1
push edi
call 0x404553
add byte [ecx + 0x4d], al
inc eax
cmp dh, byte [esp + ecx*2]
dec ecx
xor al, 0x83
les eax, [ecx + eax*4]
invalid
mov dword [ebp - 0x3f0], 0
call 0x406f1b
mov eax, 0x13379797
pop eax
mov dword [ebp - 0x3f0], eax
push ecx
push ecx
add esp, 4
sub ecx, 0x12e1b
sub ecx, 0x159a1
jmp 0x406f3e
pop ecx
push eax
or eax, 0x3692
pop eax
push edi
push ecx
add esp, 4
sub edi, 0xf07e
xor edi, 0x13a4f
pop edi
mov ecx, dword [ebp - 0x2098]
mov dword [ebp - 0x15c0], ecx
push edi
call 0x406f74
add byte [ebx + eax*2 + 0x4b], al
xor eax, 0x4b364438
add esp, 4
pop edi
push ebx
call 0x406f85
add byte [ebx + 0x35], al
xor bh, byte [eax]
cmp eax, 0x4c48339
and ebx, 0x1486a
jmp 0x406f96
pop ebx
mov edx, dword [ebp - 0x14]
add edx, 0xfe
imul eax, dword [ebp - 0x10], 0xfe
add eax, 0x56f3663b
imul ecx, dword [ebp - 0x10], 0xfe
sub eax, ecx
xor edx, eax
imul edx, dword [ebp - 0x10]
mov dword [ebp - 0x15c0], edx
mov edx, dword [ebp - 0x3f0]
mov dword [ebp - 0x1ffc], edx
mov eax, dword [ebp - 0x1ffc]
add eax, dword [ebp - 0x15c0]
mov dword [ebp - 0x3f0], eax
push eax
push ebx
add esp, 4
jmp 0x406fed
sub eax, 0xc14c
sub eax, 0x18b8
jmp 0x407002
pop eax
push eax
add eax, 0x5a83
xor eax, 0xe8c3
pop eax
mov byte [ebp - 0xbec], 0x52
mov byte [ebp - 0xbeb], 0xb9
mov byte [ebp - 0xbea], 0x10
mov byte [ebp - 0xbe9], 0x10
mov byte [ebp - 0xbe8], 0x10
mov byte [ebp - 0xbe7], 0x10
mov byte [ebp - 0xbe6], 0x5a
push ecx
push ebx
add esp, 4
add ecx, 0x3cab
sub ecx, 0x14521
xor ecx, 0x11b40
pop ecx
push ecx
push esi
add esp, 4
add ecx, 0x12f6f
add ecx, 0xa59f
pop ecx
push edx
sub edx, 0x5777
pop edx
mov byte [ebp - 0xbe4], 0x52
mov byte [ebp - 0xbe3], 0xb9
mov byte [ebp - 0xbe2], 0x20
mov byte [ebp - 0xbe1], 0x20
mov byte [ebp - 0xbe0], 0x20
mov byte [ebp - 0xbdf], 0x20
mov byte [ebp - 0xbde], 0x5a
push ebx
jmp 0x4070af
add ebx, 0x10762
pop ebx
push ecx
push edi
add esp, 4
add ecx, 0x13c5
jmp 0x4070ca
pop ecx
push edi
push eax
add esp, 4
add edi, 0x2d94
pop edi
mov dword [ebp - 0x209c], 0xe
push ecx
push edi
add esp, 4
sub ecx, 0xcdb2
pop ecx
push eax
xor eax, 0x12e57
and eax, 0xcbd5
pop eax
push eax
push edi
add esp, 4
xor eax, 0x10883
or eax, 0x1612c
and eax, 0x15325
pop eax
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xbec]
mov dword [ebp - 0x15c4], eax
push esi
call 0x407137
add byte [ebx + 0x44], al
cmp eax, 0x41484741
dec ecx
add esp, 4
add esi, 0x4e8c
and esi, 0x12b67
pop esi
push ecx
call 0x407156
add byte [esi], dh
inc ecx
dec ebx
inc edx
cmp eax, 0x833d404c
les eax, [ecx + ebx*2]
mov dword [ebp - 0x20a0], 0xffffffff
push ecx
and ecx, 0xd4ca
jmp 0x407172
jmp 0x407177
call 0x407186
add byte [ebx], bh
xor al, 0x38
dec esp
dec esp
inc edx
dec edx
add esp, 4
pop ecx
push edx
push edi
add esp, 4
and edx, 0xd516
pop edx
mov ecx, dword [ebp - 0x3f0]
mov dword [ebp - 0x4fc], ecx
jmp 0x4071b3
mov edx, dword [ebp - 0x4fc]
add edx, 1
mov dword [ebp - 0x4fc], edx
push eax
call 0x4071c3
add byte [ebx + 0x36], al
dec esp
inc edx
aas
inc edi
inc eax
dec esi
cmp al, byte [ebx - 0x377efb3c]
aaa
and eax, dword [ecx]
add byte [ecx + 0x95b7f0], al
add byte [eax + 0x51], bl
push ecx
add esp, 4
jmp 0x4071de
or ecx, 0x179be
pop ecx
mov eax, dword [ebp - 0x4fc]
sub eax, dword [ebp - 0x3f0]
cmp eax, 0xffffffff
jb 0x40722d
push edi
push eax
add esp, 4
sub edi, 0xadb5
jmp 0x407207
xor edi, 0x5e7a
pop edi
push ebx
push edi
add esp, 4
jmp 0x407219
jmp 0x40721e
jmp 0x407227
pop ebx
jmp 0x40745b
mov dword [ebp - 0xc80], 7
mov ecx, dword [ebp - 0x4fc]
mov dword [ebp - 0xac4], ecx
push edi
push ebx
add esp, 4
xor edi, 0x9237
pop edi
push ecx
call 0x40725f
add byte [ebp + 0x3e], cl
dec esi
inc ecx
cmp byte [ebp + 0x39], cl
dec ebx
cmp dword [ebx - 0x167efb3c], eax
adc esp, edx
add byte [eax], al
sub ecx, 0x66e8
and ecx, 0x1705
pop ecx
mov edx, dword [ebp - 0x15c4]
mov dword [ebp - 0xa60], edx
mov dword [ebp - 0xc84], 0
mov eax, dword [ebp - 0x4fc]
cmp eax, dword [ebp - 0x15c4]
jne 0x4072dc
push ecx
push esi
add esp, 4
jmp 0x4072a3
or ecx, 0x1522a
add ecx, 0x6e03
pop ecx
push esi
and esi, 0xf2b4
call 0x4072c7
add byte [0x3c3c4934], bh
aas
inc edi
inc edi
cmp dword [ebx + eax*4 - 0x3c], ecx
add al, 0x5e
mov ecx, dword [ebp - 0xc84]
mov dword [ebp - 0x15cc], ecx
jmp 0x40740d
cmp dword [ebp - 0xc80], 0
jle 0x407401
push edx
push ebx
add esp, 4
add edx, 0x17a0d
xor edx, 0xeb6f
sub edx, 0xde5c
or edx, 0x9cef
pop edx
push edi
and edi, 0x4db3
sub edi, 0xd5df
sub edi, 0x1325b
pop edi
mov edx, dword [ebp - 0xac4]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xa60]
movzx edx, byte [ecx]
cmp eax, edx
je 0x40739d
push ecx
call 0x407342
add byte [ecx + 0x47], cl
inc ecx
dec edi
cmp dword [eax + 0x45], ecx
dec eax
xor ecx, dword [esi - 0x7d]
les eax, [ecx + ebx*2]
push edx
push esi
add esp, 4
or edx, 0x168e2
pop edx
push ebx
or ebx, 0x3080
jmp 0x407362
pop ebx
mov eax, dword [ebp - 0xac4]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xa60]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x407385
mov dword [ebp - 0x15c8], 1
jmp 0x40738f
mov dword [ebp - 0x15c8], 0xffffffff
mov ecx, dword [ebp - 0x15c8]
mov dword [ebp - 0xc84], ecx
jmp 0x407401
push esi
push eax
add esp, 4
or esi, 0x5407
add esi, 0x399b
xor esi, 0xd6eb
pop esi
push ebx
push edi
add esp, 4
xor ebx, 0x16f34
pop ebx
push ecx
xor ecx, 0xac81
or ecx, 0x2dcc
pop ecx
mov edx, dword [ebp - 0xc80]
sub edx, 1
mov dword [ebp - 0xc80], edx
mov eax, dword [ebp - 0xac4]
add eax, 1
mov dword [ebp - 0xac4], eax
mov ecx, dword [ebp - 0xa60]
add ecx, 1
mov dword [ebp - 0xa60], ecx
jmp 0x4072dc
mov edx, dword [ebp - 0xc84]
mov dword [ebp - 0x15cc], edx
cmp dword [ebp - 0x15cc], 0
jne 0x407456
push edi
push ecx
add esp, 4
or edi, 0xde68
xor edi, 0xb29a
add edi, 0xc256
pop edi
push edx
push esi
add esp, 4
xor edx, 0x14ae2
and edx, 0x121bc
pop edx
push ebx
sub ebx, 0x9c56
pop ebx
mov eax, dword [ebp - 0x4fc]
mov dword [ebp - 0x3e8], eax
jmp 0x407497
jmp 0x4071a4
push edi
push eax
add esp, 4
jmp 0x407468
pop edi
push edx
push ecx
add esp, 4
sub edx, 0x127ce
pop edx
push ebx
push ecx
add esp, 4
or ebx, 0xb183
add ebx, 0x11bcc
xor ebx, 0x3155
pop ebx
mov dword [ebp - 0x3e8], 0
push edx
jmp 0x40749e
jmp 0x4074a7
pop edx
push eax
push eax
add esp, 4
and eax, 0x1aef
pop eax
push edx
push eax
add esp, 4
add edx, 0x861a
jmp 0x4074c8
pop edx
push ebx
and ebx, 0xdeb3
add ebx, 0x4092
call 0x4074e4
add byte [edx + 0x39], al
aaa
inc ebx
inc esp
dec ebx
dec ebx
add esp, 4
call 0x4074f7
add byte [ebp + 0x45], al
cmp dword [0x4a374346], esi
inc ebp
xor al, byte [ebx - 0x46a4fb3c]
add dword [eax], eax
add byte [eax], al
imul edx, ecx, 0
lea eax, [ebp + edx - 0xbe4]
mov dword [ebp - 0x15d0], eax
push eax
push ebx
add esp, 4
or eax, 0x16d4c
pop eax
push edx
add edx, 0x2de7
pop edx
push esi
push eax
add esp, 4
add esi, 0x1825a
or esi, 0x132c1
xor esi, 0x1254c
sub esi, 0x3bcc
pop esi
mov dword [ebp - 0x20a4], 0xffffffff
push ebx
and ebx, 0x11bb9
jmp 0x40755a
call 0x407566
add byte [eax + 0x38], dl
xor al, 0x3e
dec edi
add esp, 4
pop ebx
push ecx
sub ecx, 0xb3ff
pop ecx
push edx
push edx
add esp, 4
and edx, 0xdf8d
pop edx
mov ecx, dword [ebp - 0x3f0]
mov dword [ebp - 0x500], ecx
jmp 0x40759b
mov edx, dword [ebp - 0x500]
add edx, 1
mov dword [ebp - 0x500], edx
push eax
push esi
add esp, 4
jmp 0x4075a6
pop eax
push ecx
push edi
add esp, 4
xor ecx, 0x94a9
add ecx, 0x935f
pop ecx
push ebx
sub ebx, 0x3679
pop ebx
push ebx
push edi
add esp, 4
sub ebx, 0x1028e
pop ebx
mov eax, dword [ebp - 0x500]
sub eax, dword [ebp - 0x3f0]
cmp eax, 0xffffffff
jb 0x407615
push esi
push edx
add esp, 4
xor esi, 0x1589f
call 0x4075f7
add byte [ecx + 0x43], cl
dec ebp
xor edx, dword [eax + 0x3d]
dec esi
xor eax, 0x8104c483
neg byte [edx + 0x67]
add byte [eax], al
call 0x40760c
add byte [esi], bh
inc edx
dec edi
push eax
inc esi
dec ebp
add esp, 4
pop esi
jmp 0x407843
mov dword [ebp - 0xc88], 7
mov ecx, dword [ebp - 0x500]
mov dword [ebp - 0xac0], ecx
push esi
xor esi, 0x7a27
add esi, 0x820
xor esi, 0x4e1d
pop esi
push ecx
push ebx
add esp, 4
sub ecx, 0x13876
add ecx, 0x136ce
sub ecx, 0xf22e
xor ecx, 0xf633
pop ecx
mov edx, dword [ebp - 0x15d0]
mov dword [ebp - 0xabc], edx
mov dword [ebp - 0xc8c], 0
mov eax, dword [ebp - 0x500]
cmp eax, dword [ebp - 0x15d0]
jne 0x4076c4
push esi
push ecx
add esp, 4
or esi, 0xc6f2
jmp 0x407692
or esi, 0xfe38
or esi, 0x143be
pop esi
push edx
sub edx, 0x3f43
xor edx, 0x7b3c
sub edx, 0x100e2
pop edx
mov ecx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d4], ecx
jmp 0x4077f5
cmp dword [ebp - 0xc88], 0
jle 0x4077e9
push ebx
xor ebx, 0x804c
pop ebx
push edx
or edx, 0x12a3a
sub edx, 0x912d
pop edx
push edx
xor edx, 0xe3f
xor edx, 0x16713
and edx, 0x119ee
pop edx
push edi
xor edi, 0x634b
pop edi
mov edx, dword [ebp - 0xac0]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xabc]
movzx edx, byte [ecx]
cmp eax, edx
je 0x407785
push esi
push edi
add esp, 4
jmp 0x407726
and esi, 0xbe1e
add esi, 0x1822d
or esi, 0x15326
pop esi
push ebx
push ebx
add esp, 4
add ebx, 0x11bf5
sub ebx, 0x16a05
pop ebx
mov eax, dword [ebp - 0xac0]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xabc]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x40776d
mov dword [ebp - 0x15a0], 1
jmp 0x407777
mov dword [ebp - 0x15a0], 0xffffffff
mov ecx, dword [ebp - 0x15a0]
mov dword [ebp - 0xc8c], ecx
jmp 0x4077e9
push ecx
push esi
add esp, 4
sub ecx, 0x3e8f
pop ecx
push edi
push ebx
add esp, 4
jmp 0x40779e
jmp 0x4077a3
call 0x4077b3
add byte [edx], bh
dec eax
xor eax, 0x334b354b
cmp byte [esp + esi], bh
add esp, 4
pop edi
mov edx, dword [ebp - 0xc88]
sub edx, 1
mov dword [ebp - 0xc88], edx
mov eax, dword [ebp - 0xac0]
add eax, 1
mov dword [ebp - 0xac0], eax
mov ecx, dword [ebp - 0xabc]
add ecx, 1
mov dword [ebp - 0xabc], ecx
jmp 0x4076c4
mov edx, dword [ebp - 0xc8c]
mov dword [ebp - 0x15d4], edx
cmp dword [ebp - 0x15d4], 0
jne 0x40783e
push eax
call 0x40780e
add byte [ebp + 0x50], cl
aas
inc esp
inc eax
dec edi
cmp byte ds:[eax - 0x7d], cl
les eax, [ebx + ebp*8]
add al, 0x3e
inc ebx
cmp eax, 0x52515845
add esp, 4
xor ecx, 0xfdbf
xor ecx, 0x233f
and ecx, 0xdc90
pop ecx
mov eax, dword [ebp - 0x500]
mov dword [ebp - 0xab8], eax
jmp 0x40787f
jmp 0x40758c
push ecx
call 0x407854
add byte [esp + ecx*2 + 0x4d], cl
dec esi
cmp edi, dword [esi]
xor eax, dword [ecx + 0x44]
aaa
add esp, 4
or ecx, 0x127f3
pop ecx
push edi
push ecx
add esp, 4
call 0x407871
add byte [esi], dh
inc ecx
xor eax, dword [ebx + 0x45]
dec ecx
inc esi
dec edx
add esp, 4
pop edi
mov dword [ebp - 0xab8], 0
push edx
or edx, 0x1252c
xor edx, 0xb4f2
sub edx, 0x16a44
pop edx
push ecx
push ecx
add esp, 4
jmp 0x40789e
sub ecx, 0x740f
sub ecx, 0xa02c
xor ecx, 0x1799c
pop ecx
mov byte [ebp - 0x878], 0x45
mov byte [ebp - 0x877], 0x78
mov byte [ebp - 0x876], 0x69
mov byte [ebp - 0x875], 0x74
mov byte [ebp - 0x874], 0x50
mov byte [ebp - 0x873], 0x72
mov byte [ebp - 0x872], 0x6f
mov byte [ebp - 0x871], 0x63
mov byte [ebp - 0x870], 0x65
mov byte [ebp - 0x86f], 0x73
mov byte [ebp - 0x86e], 0x73
mov byte [ebp - 0x86d], 0
push esi
push esi
add esp, 4
sub esi, 0xb142
xor esi, 0xa8bd
pop esi
push esi
xor esi, 0x13aeb
add esi, 0x7fc6
pop esi
push edi
push esi
add esp, 4
jmp 0x407930
add edi, 0xde97
pop edi
mov ecx, 0x6b
mov word [ebp - 0x1738], cx
mov edx, 0x65
mov word [ebp - 0x1736], dx
mov eax, 0x72
mov word [ebp - 0x1734], ax
mov ecx, 0x6e
mov word [ebp - 0x1732], cx
mov edx, 0x65
mov word [ebp - 0x1730], dx
mov eax, 0x6c
mov word [ebp - 0x172e], ax
mov ecx, 0x33
mov word [ebp - 0x172c], cx
mov edx, 0x32
mov word [ebp - 0x172a], dx
mov eax, 0x2e
mov word [ebp - 0x1728], ax
mov ecx, 0x64
mov word [ebp - 0x1726], cx
mov edx, 0x6c
mov word [ebp - 0x1724], dx
mov eax, 0x6c
mov word [ebp - 0x1722], ax
xor ecx, ecx
mov word [ebp - 0x1720], cx
push eax
add eax, 0x14877
and eax, 0xd4ba
jmp 0x4079e6
pop eax
push edi
push edi
add esp, 4
xor edi, 0x11549
and edi, 0x1206d
jmp 0x407a01
pop edi
push eax
push esi
add esp, 4
call 0x407a15
add byte [ebp + ecx*2 + 0x3d], al
dec edi
dec esp
dec ebp
dec esp
add esp, 4
add eax, 0x5367
pop eax
push edx
sub edx, 0x17f6b
xor edx, 0x2a09
jmp 0x407a33
pop edx
mov edx, dword fs:[0x18]
mov dword [ebp - 0x1954], edx
mov eax, dword [ebp - 0x1954]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1958], ecx
mov edx, dword [ebp - 0x1958]
mov dword [ebp - 0x15d8], edx
push ebx
or ebx, 0x2d0a
and ebx, 0xf272
add ebx, 0x4d7c
pop ebx
push edi
push ecx
add esp, 4
jmp 0x407a7c
add edi, 0x3570
jmp 0x407a87
or edi, 0x13a29
pop edi
cmp dword [ebp - 0x15d8], 0
jne 0x407aa6
mov dword [ebp - 0x31c], 0
jmp 0x407d62
mov eax, dword [ebp - 0x15d8]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc98], edx
push esi
jmp 0x407ac1
add esi, 0x170d2
pop esi
push edi
push ecx
add esp, 4
and edi, 0x7ee4
and edi, 0x11d28
call 0x407ae6
add byte [ebx + 0x3f], cl
inc ecx
cmp byte [ecx], bh
cmp al, 0x35
add esp, 4
pop edi
cmp dword [ebp - 0xc98], 0
jne 0x407b02
mov dword [ebp - 0x31c], 0
jmp 0x407d62
mov eax, dword [ebp - 0xc98]
mov dword [ebp - 0x504], eax
push ecx
or ecx, 0x90ae
xor ecx, 0x82d8
call 0x407b29
add byte [ecx], bh
aaa
dec ebx
aaa
cmp edi, dword [esi]
dec edx
inc ecx
add esp, 4
call 0x407b3c
add byte [ebx + ecx*2 + 0x3d], al
dec eax
aas
xor dh, byte [esi]
cmp eax, 0xc4834b37
add al, 0x59
lea ecx, [ebp - 0x1738]
mov dword [ebp - 0xc94], ecx
mov edx, dword [ebp - 0x504]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc90], eax
xor ecx, ecx
mov word [ebp - 0x210], cx
xor edx, edx
mov word [ebp - 0x10c], dx
push edx
push ecx
add esp, 4
xor edx, 0x614f
xor edx, 0x1212b
pop edx
push esi
sub esi, 0x126b5
and esi, 0x99bd
pop esi
push eax
push ecx
add esp, 4
and eax, 0x625
or eax, 0xf10b
pop eax
mov eax, dword [ebp - 0xc90]
mov cx, word [eax]
mov word [ebp - 0x1032], cx
mov edx, dword [ebp - 0xc90]
add edx, 2
mov dword [ebp - 0xc90], edx
mov ax, word [ebp - 0x1032]
mov word [ebp - 0x210], ax
mov ecx, dword [ebp - 0xc94]
mov dx, word [ecx]
mov word [ebp - 0x1034], dx
mov eax, dword [ebp - 0xc94]
add eax, 2
mov dword [ebp - 0xc94], eax
mov cx, word [ebp - 0x1034]
mov word [ebp - 0x10c], cx
push eax
sub eax, 0x16f
and eax, 0x47cd
pop eax
push eax
push edx
add esp, 4
sub eax, 0x17b5a
xor eax, 0x8b05
or eax, 0x708f
pop eax
push edx
push eax
add esp, 4
or edx, 0x5a3f
pop edx
movzx edx, word [ebp - 0x10c]
test edx, edx
jne 0x407c4e
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
sub eax, ecx
mov dword [ebp - 0x15e0], eax
jmp 0x407cb1
movzx edx, word [ebp - 0x210]
movzx eax, word [ebp - 0x10c]
cmp edx, eax
je 0x407b6d
movzx ecx, word [ebp - 0x210]
xor ecx, 0x20
movzx edx, word [ebp - 0x10c]
cmp ecx, edx
je 0x407b6d
movzx eax, word [ebp - 0x210]
movzx ecx, word [ebp - 0x10c]
cmp eax, ecx
jge 0x407c9b
mov dword [ebp - 0x15dc], 0xffffffff
jmp 0x407ca5
mov dword [ebp - 0x15dc], 1
mov edx, dword [ebp - 0x15dc]
mov dword [ebp - 0x15e0], edx
cmp dword [ebp - 0x15e0], 0
jne 0x407cfa
push edx
push esi
add esp, 4
or edx, 0x9ddb
and edx, 0x11133
or edx, 0xd610
pop edx
push edi
push esi
add esp, 4
add edi, 0x1398a
sub edi, 0xf0ee
pop edi
push edx
add edx, 0xc7d0
pop edx
mov eax, dword [ebp - 0x504]
mov dword [ebp - 0x31c], eax
jmp 0x407d62
push esi
push ecx
add esp, 4
sub esi, 0x10594
pop esi
push esi
push edx
add esp, 4
xor esi, 0x8bf
pop esi
push ecx
push ebx
add esp, 4
add ecx, 0x1211f
pop ecx
push edi
xor edi, 0x9fb4
jmp 0x407d2b
pop edi
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx]
mov dword [ebp - 0x504], edx
mov eax, dword [ebp - 0x504]
cmp eax, dword [ebp - 0xc98]
je 0x407d58
mov ecx, dword [ebp - 0x504]
cmp dword [ecx + 0x30], 0
jne 0x407b0e
mov dword [ebp - 0x31c], 0
push edx
push edi
add esp, 4
jmp 0x407d6e
sub edx, 0x14d86
xor edx, 0x2d25
pop edx
push eax
push ecx
add esp, 4
sub eax, 0x4ce6
jmp 0x407d8b
pop eax
push edx
add edx, 0x173a3
pop edx
cmp dword [ebp - 0x31c], 0
jne 0x4086ad
mov edx, 0x6b
mov word [ebp - 0x1774], dx
mov eax, 0x65
mov word [ebp - 0x1772], ax
mov ecx, 0x72
mov word [ebp - 0x1770], cx
mov edx, 0x6e
mov word [ebp - 0x176e], dx
mov eax, 0x65
mov word [ebp - 0x176c], ax
mov ecx, 0x6c
mov word [ebp - 0x176a], cx
mov edx, 0x33
mov word [ebp - 0x1768], dx
mov eax, 0x32
mov word [ebp - 0x1766], ax
mov ecx, 0x2e
mov word [ebp - 0x1764], cx
mov edx, 0x64
mov word [ebp - 0x1762], dx
mov eax, 0x6c
mov word [ebp - 0x1760], ax
mov ecx, 0x6c
mov word [ebp - 0x175e], cx
xor edx, edx
mov word [ebp - 0x175c], dx
push edx
xor edx, 0x10462
xor edx, 0xc9c4
call 0x407e55
add byte [ecx], bh
cmp al, 0x33
aaa
dec edi
inc ebx
cmp eax, 0x4c48339
call 0x407e68
add byte [0x4a374f41], dh
xor cl, byte [esi + 0x40]
dec ecx
cmp eax, 0x5a04c483
mov byte [ebp - 0x894], 0x4c
mov byte [ebp - 0x893], 0x6f
mov byte [ebp - 0x892], 0x61
mov byte [ebp - 0x891], 0x64
mov byte [ebp - 0x890], 0x4c
mov byte [ebp - 0x88f], 0x69
mov byte [ebp - 0x88e], 0x62
mov byte [ebp - 0x88d], 0x72
mov byte [ebp - 0x88c], 0x61
mov byte [ebp - 0x88b], 0x72
mov byte [ebp - 0x88a], 0x79
mov byte [ebp - 0x889], 0x57
mov byte [ebp - 0x888], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x195c], eax
mov ecx, dword [ebp - 0x195c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1960], edx
mov eax, dword [ebp - 0x1960]
mov dword [ebp - 0x15e4], eax
push esi
push ebx
add esp, 4
sub esi, 0x147a9
call 0x407f07
add byte [ebx + 0x36], al
inc ebp
inc eax
dec ecx
inc eax
cmp dword [ebp - 0x7d], ecx
les eax, [ebx + ebp*8]
pop es
inc ecx
push eax
inc edx
inc edx
inc ecx
inc eax
push eax
pop esi
push ecx
push ebx
add esp, 4
sub ecx, 0xcd9
pop ecx
cmp dword [ebp - 0x15e4], 0
jne 0x407f38
mov dword [ebp - 0x750], 0
jmp 0x4081f4
mov ecx, dword [ebp - 0x15e4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xca4], eax
push eax
push edx
add esp, 4
call 0x407f5d
add byte [edi + 0x3e], cl
cmp al, 0x46
inc ebp
xor esi, dword [0x4c4833f]
xor eax, 0xf655
call 0x407f72
add byte [esi + 0x33], cl
dec ebx
dec eax
push eax
add esp, 4
or eax, 0x13580
pop eax
cmp dword [ebp - 0xca4], 0
jne 0x407f94
mov dword [ebp - 0x750], 0
jmp 0x4081f4
mov ecx, dword [ebp - 0xca4]
mov dword [ebp - 0x508], ecx
push edi
jmp 0x407fa7
add edi, 0xae41
or edi, 0x146d4
pop edi
push edx
push edi
add esp, 4
and edx, 0x17f4e
and edx, 0x546c
xor edx, 0x2ff3
and edx, 0x17dd1
pop edx
lea edx, [ebp - 0x1774]
mov dword [ebp - 0xca0], edx
mov eax, dword [ebp - 0x508]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc9c], ecx
xor edx, edx
mov word [ebp - 0x214], dx
xor eax, eax
mov word [ebp - 0x110], ax
push eax
or eax, 0xe552
add eax, 0x235e
jmp 0x408012
and eax, 0x64f6
pop eax
push ecx
push ecx
add esp, 4
and ecx, 0x8c77
sub ecx, 0xee32
xor ecx, 0x75bf
pop ecx
mov ecx, dword [ebp - 0xc9c]
mov dx, word [ecx]
mov word [ebp - 0x1036], dx
mov eax, dword [ebp - 0xc9c]
add eax, 2
mov dword [ebp - 0xc9c], eax
mov cx, word [ebp - 0x1036]
mov word [ebp - 0x214], cx
mov edx, dword [ebp - 0xca0]
mov ax, word [edx]
mov word [ebp - 0x1038], ax
mov ecx, dword [ebp - 0xca0]
add ecx, 2
mov dword [ebp - 0xca0], ecx
mov dx, word [ebp - 0x1038]
mov word [ebp - 0x110], dx
push edi
or edi, 0x13372
pop edi
push edx
push eax
add esp, 4
call 0x4080a5
add byte [ebx], dh
dec ebp
xor al, 0x36
xor al, 0x3e
inc eax
add esp, 4
pop edx
push esi
push esi
add esp, 4
jmp 0x4080b6
add esi, 0xaeb8
pop esi
movzx eax, word [ebp - 0x110]
test eax, eax
jne 0x4080e0
movzx ecx, word [ebp - 0x214]
invalid