Function at 0x406659
Capabilities:
Get number of processors
Resolve function by parsing pe exports

Disassembly:
mov edx, dword [ebp - 0x758]
add edx, 1
mov dword [ebp - 0x758], edx
mov eax, dword [ebp - 0x754]
mov ecx, dword [ebp - 0x758]
cmp ecx, dword [eax + 0x18]
jae 0x405b88
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x1964]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x75c], ecx
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x1968]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x196c]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x1970], eax
mov dword [ebp - 0x198], 0
jmp 0x4059ec
mov ecx, dword [ebp - 0x198]
add ecx, 1
mov dword [ebp - 0x198], ecx
mov edx, dword [ebp - 0x75c]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
test eax, eax
je 0x405a9e
add byte [eax], al
invalid
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x894]
inc dword [ebp - 0x7a7bf02e]
add byte [eax], al
invalid
push esi
or esi, 0xb7b9
and esi, 0xff32
call 0x405a33
add byte [ebx + 0x3e], al
aas
dec eax
dec esp
cmp cl, byte [ebx + eax*4 - 0x3c]
add al, 0x5e
push ebx
or ebx, 0x15fcd
xor ebx, 0x8276
or ebx, 0x2ca2
pop ebx
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x894]
cmp ecx, eax
je 0x405a90
mov ecx, dword [ebp - 0x75c]
add ecx, dword [ebp - 0x198]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x198]
movsx ecx, byte [ebp + eax - 0x894]
cmp edx, ecx
jne 0x405a97
jmp 0x4059dd
jmp 0x405a9e
push edx
call 0x405aae
add byte [ebx], bh
inc esp
cmp esi, dword [esi]
dec eax
xor al, 0x3f
xor eax, dword [edi - 0x7d]
les eax, [eax + ebp*8]
or al, byte [eax]
add byte [eax], al
add byte [ebx], dh
dec ebx
cmp cl, byte [edi + eax*2 + 0x47]
xor al, 0x4e
dec ecx
add esp, 4
and edx, 0x1817b
add edx, 0x160c1
pop edx
mov edx, dword [ebp - 0x75c]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x894]
cmp eax, edx
jne 0x405afd
mov dword [ebp - 0xca8], 0
jmp 0x405b6c
push ecx
or ecx, 0x94db
call 0x405b11
add byte [eax + 0x3b], cl
inc ecx
inc esp
inc esp
inc ebx
cmp byte [ebx + 0x6eb04c4], al
dec esi
dec eax
aaa
inc edx
cmp al, 0x32
pop ecx
push esi
push esi
add esp, 4
sub esi, 0xc61d
sub esi, 0x1fc8
pop esi
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x894]
or eax, 0x20
cmp ecx, eax
jge 0x405b62
mov dword [ebp - 0xca8], 0xffffffff
jmp 0x405b6c
mov dword [ebp - 0xca8], 1
cmp dword [ebp - 0xca8], 0
jne 0x405b83
mov ecx, dword [ebp - 0x1970]
mov dword [ebp - 0x3f4], ecx
jmp 0x405b94
jmp 0x40596d
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], edx
cmp dword [ebp - 0x3f4], 0
je 0x405c6f
push eax
or eax, 0x3526
pop eax
push edi
jmp 0x405bb0
pop edi
push eax
push ebx
add esp, 4
or eax, 0x7143
call 0x405bc9
add byte [ebx + edi], dh
inc edx
cmp al, 0x4f
inc ecx
cmp dword [ebx - 0x1f7efb3c], eax
imul byte [eax]
add byte [eax], al
pop eax
mov eax, dword [ebp - 0x3f4]
mov dword [ebp - 0x1974], eax
push eax
push edi
add esp, 4
add eax, 0x17079
xor eax, 0x15856
pop eax
push eax
jmp 0x405bfa
pop eax
push eax
and eax, 0xa825
pop eax
push edx
and edx, 0x13e50
sub edx, 0x1374c
pop edx
mov ecx, dword [ebp - 0x1974]
mov dword [ebp - 0x1978], ecx
lea edx, [ebp - 0x1738]
push edx
call dword [ebp - 0x1978]
test eax, eax
jne 0x405c6f
push edx
push ebx
add esp, 4
jmp 0x405c3c
xor edx, 0x6955
call 0x405c52
add byte [ebx], dh
cmp al, 0x37
inc edx
dec ecx
dec esp
inc ebp
push eax
cmp byte [edi - 0x7d], al
les eax, [edx + ebx*2]
push eax
jmp 0x405c5f
pop eax
mov dword [ebp - 0x79c], 0
jmp 0x406359
push eax
push eax
add esp, 4
or eax, 0xa6c9
pop eax
push edi
add edi, 0xabb4
or edi, 0x2dc8
add edi, 0x10b4c
sub edi, 0x1ceb
pop edi
push esi
push eax
add esp, 4
xor esi, 0x80d1
pop esi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x197c], eax
mov ecx, dword [ebp - 0x197c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1980], edx
mov eax, dword [ebp - 0x1980]
mov dword [ebp - 0x15fc], eax
push esi
and esi, 0x1364d
add esi, 0x8f13
or esi, 0xc012
call 0x405ce8
add byte [0x3740453a], dh
cmp eax, 0x4c48341
pop esi
push ecx
and ecx, 0x2bc5
and ecx, 0x5580
pop ecx
cmp dword [ebp - 0x15fc], 0
jne 0x405d12
mov dword [ebp - 0x31c], 0
jmp 0x405fb9
mov ecx, dword [ebp - 0x15fc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcb4], eax
push ecx
push edi
add esp, 4
or ecx, 0xafad
add ecx, 0x84a
sub ecx, 0xce9
pop ecx
push edx
xor edx, 0x16630
xor edx, 0x9e48
add edx, 0x14677
add edx, 0x82ca
pop edx
cmp dword [ebp - 0xcb4], 0
jne 0x405d6e
mov dword [ebp - 0x31c], 0
jmp 0x405fb9
mov ecx, dword [ebp - 0xcb4]
mov dword [ebp - 0x50c], ecx
push esi
push edi
add esp, 4
jmp 0x405d87
xor esi, 0xe9ce
sub esi, 0x11004
add esi, 0x4bd2
pop esi
push esi
jmp 0x405da0
jmp 0x405da5
add esi, 0xe1f0
pop esi
lea edx, [ebp - 0x1738]
mov dword [ebp - 0xcb0], edx
mov eax, dword [ebp - 0x50c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcac], ecx
xor edx, edx
mov word [ebp - 0x218], dx
xor eax, eax
mov word [ebp - 0x34], ax
push ebx
push ecx
add esp, 4
call 0x405dea
add byte [edi + 0x33], cl
dec eax
inc eax
dec ebp
cmp dword [edi + ecx*2], esi
inc ebx
add esp, 4
pop ebx
push edi
sub edi, 0xa534
sub edi, 0x2654
and edi, 0x7f95
add edi, 0x10bb1
pop edi
mov ecx, dword [ebp - 0xcac]
mov dx, word [ecx]
mov word [ebp - 0x103a], dx
mov eax, dword [ebp - 0xcac]
add eax, 2
mov dword [ebp - 0xcac], eax
mov cx, word [ebp - 0x103a]
mov word [ebp - 0x218], cx
mov edx, dword [ebp - 0xcb0]
mov ax, word [edx]
mov word [ebp - 0x103c], ax
mov ecx, dword [ebp - 0xcb0]
add ecx, 2
mov dword [ebp - 0xcb0], ecx
mov dx, word [ebp - 0x103c]
mov word [ebp - 0x34], dx
push edi
sub edi, 0xe7cf
and edi, 0x15df0
pop edi
push edx
or edx, 0x160e3
xor edx, 0xcda
and edx, 0x12ca4
pop edx
push esi
jmp 0x405e8a
add esi, 0x4dc8
pop esi
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x405eae
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x1604], ecx
jmp 0x405f08
movzx eax, word [ebp - 0x218]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x405dd6
movzx edx, word [ebp - 0x218]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x405dd6
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x405ef2
mov dword [ebp - 0x1600], 0xffffffff
jmp 0x405efc
mov dword [ebp - 0x1600], 1
mov eax, dword [ebp - 0x1600]
mov dword [ebp - 0x1604], eax
cmp dword [ebp - 0x1604], 0
jne 0x405f51
push edx
add edx, 0x47a6
pop edx
push eax
jmp 0x405f21
pop eax
push eax
push ecx
add esp, 4
xor eax, 0xbed8
jmp 0x405f36
add eax, 0x8fd4
xor eax, 0xb0a2
pop eax
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x31c], ecx
jmp 0x405fb9
push eax
push ecx
add esp, 4
or eax, 0x110b9
xor eax, 0xa6e
and eax, 0xa6a8
sub eax, 0xe68e
pop eax
push ecx
add ecx, 0x88d
or ecx, 0xf9b0
and ecx, 0xa2a3
pop ecx
mov edx, dword [ebp - 0x50c]
mov eax, dword [edx]
mov dword [ebp - 0x50c], eax
mov ecx, dword [ebp - 0x50c]
cmp ecx, dword [ebp - 0xcb4]
je 0x405faf
mov edx, dword [ebp - 0x50c]
cmp dword [edx + 0x30], 0
jne 0x405d7a
mov dword [ebp - 0x31c], 0
push edx
push ebx
add esp, 4
sub edx, 0x24c
xor edx, 0xe998
add edx, 0x1011c
pop edx
push ebx
push eax
add esp, 4
xor ebx, 0x175ce
sub ebx, 0xd439
pop ebx
push esi
sub esi, 0x13651
pop esi
mov eax, dword [ebp - 0x31c]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x324], ecx
push eax
or eax, 0x13706
add eax, 0x8400
pop eax
push edi
push edx
add esp, 4
or edi, 0x12305
pop edi
push esi
push edx
add esp, 4
add esi, 0xbf17
sub esi, 0x1530a
xor esi, 0xf7e4
pop esi
mov dword [ebp - 0x770], 0
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x1608], edx
cmp dword [ebp - 0x1608], 0
jne 0x40605c
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x40634d
mov ecx, dword [ebp - 0x1608]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x160c], edx
jne 0x406084
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x510], eax
jmp 0x40634d
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x160c]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1610], ecx
cmp dword [ebp - 0x1610], 0
jne 0x4060b6
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
jmp 0x40634d
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x1610]
mov dword [ebp - 0x764], eax
jne 0x4060db
mov ecx, dword [ebp - 0x770]
mov dword [ebp - 0x510], ecx
jmp 0x40634d
mov edx, dword [ebp - 0x764]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x1984], eax
mov ecx, dword [ebp - 0x764]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x1988], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x1d10], ecx
mov dword [ebp - 0x768], 0
jmp 0x406135
mov edx, dword [ebp - 0x768]
add edx, 1
mov dword [ebp - 0x768], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x768]
cmp ecx, dword [eax + 0x18]
jae 0x406341
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x1984]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x76c], ecx
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x1988]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x1d10]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x198c], eax
mov dword [ebp - 0x19c], 0
jmp 0x4061a5
mov ecx, dword [ebp - 0x19c]
add ecx, 1
mov dword [ebp - 0x19c], ecx
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
test eax, eax
je 0x406257
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x878]
test edx, edx
je 0x406257
push edx
or edx, 0x14c7b
pop edx
push ecx
push edi
add esp, 4
or ecx, 0xf598
add ecx, 0xf5d9
and ecx, 0xe31f
add ecx, 0xf9bd
pop ecx
push edx
push ecx
add esp, 4
xor edx, 0x12fac
pop edx
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x878]
cmp ecx, eax
je 0x406249
mov ecx, dword [ebp - 0x76c]
add ecx, dword [ebp - 0x19c]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x19c]
movsx ecx, byte [ebp + eax - 0x878]
cmp edx, ecx
jne 0x406250
jmp 0x406196
jmp 0x406257
push edx
xor edx, 0xa3c4
add edx, 0x92fb
add edx, 0x13898
add edx, 0x3c33
pop edx
push edi
push ebx
add esp, 4
sub edi, 0x15600
and edi, 0x8d54
sub edi, 0x12316
pop edi
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x878]
cmp eax, edx
jne 0x4062b6
mov dword [ebp - 0xcb8], 0
jmp 0x406325
push eax
push edi
add esp, 4
jmp 0x4062c1
pop eax
push eax
call 0x4062d1
add byte [ebx + esi], bh
dec eax
push eax
inc ecx
xor eax, 0xc4833c35
add al, 0xe8
or eax, dword [eax]
add byte [eax], al
add byte [ecx*2 + 0x394f3f41], bh
dec edx
dec ecx
inc ecx
cmp dword [ebx - 0x74a7fb3c], eax
test dword [eax + edi*8 - 0x7afc0001], edx
invalid
cmp dword [ebp - 0xcb8], 0
jne 0x40633c
mov ecx, dword [ebp - 0x198c]
mov dword [ebp - 0x510], ecx
jmp 0x40634d
jmp 0x406126
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x510], edx
mov eax, dword [ebp - 0x510]
mov dword [ebp - 0x79c], eax
push eax
and eax, 0x4791
and eax, 0xfa46
add eax, 0x17422
pop eax
push ecx
push eax
add esp, 4
add ecx, 0x70d1
sub ecx, 0xff7
or ecx, 0x4bc7
add ecx, 0x15042
pop ecx
mov ecx, dword [ebp - 0x3e8]
add ecx, 0xe
mov dword [ebp - 0x19dc], ecx
push ebx
push esi
add esp, 4
or ebx, 0x155ce
call 0x4063b1
add byte [esi + 0x3d], cl
cmp eax, dword [esi + 0x40]
cmp eax, 0xeb04c483
add esi, dword [ebx]
cmp eax, 0x57575b46
add esp, 4
and edi, 0x36f0
and edi, 0xca34
pop edi
cmp dword [ebp - 0x3e8], 0
je 0x4063de
cmp dword [ebp - 0xab8], 0
jne 0x406424
push ebx
xor ebx, 0xb6eb
call 0x4063f5
add byte [edi + 0x47], al
inc ebx
xor al, 0x35
inc ebx
push eax
inc ebx
dec esi
add esp, 4
pop ebx
push eax
xor eax, 0xa9d4
or eax, 0x1725c
jmp 0x40640f
pop eax
mov edx, dword [ebp - 0x79c]
mov dword [ebp - 0x1990], edx
push 0
call dword [ebp - 0x1990]
mov dword [ebp - 0x20a8], 0xa
push edx
push edi
add esp, 4
and edx, 0x10c9b
jmp 0x406440
jmp 0x406447
and edx, 0x16210
pop edx
push edi
push ecx
add esp, 4
add edi, 0x3b21
sub edi, 0x9bad
pop edi
mov eax, dword [ebp - 0x3e8]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x3ae], cl
mov edx, dword [ebp - 0xab8]
sub edx, dword [ebp - 0x3e8]
mov dword [ebp - 0x1694], edx
mov dword [ebp - 0xce8], 0
push eax
push eax
add esp, 4
sub eax, 0x88d9
xor eax, 0x82cb
or eax, 0x4506
or eax, 0xfab2
pop eax
push eax
and eax, 0x3e77
sub eax, 0x184d
or eax, 0x18406
pop eax
mov byte [ebp - 0x9d4], 0x56
idiv bh
call dword [esi - 0x3a]
test dword [0x69fffff6], ebp
mov byte [ebp - 0x9d2], 0x72
mov byte [ebp - 0x9d1], 0x74
mov byte [ebp - 0x9d0], 0x75
mov byte [ebp - 0x9cf], 0x61
mov byte [ebp - 0x9ce], 0x6c
mov byte [ebp - 0x9cd], 0x50
mov byte [ebp - 0x9cc], 0x72
mov byte [ebp - 0x9cb], 0x6f
mov byte [ebp - 0x9ca], 0x74
mov byte [ebp - 0x9c9], 0x65
mov byte [ebp - 0x9c8], 0x63
mov byte [ebp - 0x9c7], 0x74
mov byte [ebp - 0x9c6], 0
push esi
call 0x406537
add byte [edx], bh
xor bh, byte [edx]
dec ebx
xor esi, dword [0x413c4e40]
add esp, 4
sub esi, 0x304c
or esi, 0x29f6
pop esi
push eax
call 0x406554
add byte [eax], bh
dec esp
dec esp
dec eax
dec ebp
add esp, 4
pop eax
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1994], eax
mov ecx, dword [ebp - 0x1994]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1998], edx
mov eax, dword [ebp - 0x1998]
mov dword [ebp - 0x1614], eax
push esi
push eax
add esp, 4
sub esi, 0x4e25
call 0x406599
add byte [0x383c4e42], bh
inc edi
xor al, 0x34
cmp byte [ebx + 0x515e04c4], al
xor ecx, 0x33bc
pop ecx
push ebx
push eax
add esp, 4
xor ebx, 0x1921
pop ebx
cmp dword [ebp - 0x1614], 0
jne 0x4065c9
mov dword [ebp - 0x2fc], 0
jmp 0x406870
mov ecx, dword [ebp - 0x1614]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcc4], eax
push edx
or edx, 0x4ada
and edx, 0x8f06
pop edx
push edx
push ecx
add esp, 4
xor edx, 0x10508
pop edx
push eax
push edx
add esp, 4
and eax, 0x1430d
and eax, 0x10616
add eax, 0x1199c
pop eax
cmp dword [ebp - 0xcc4], 0
jne 0x406625
mov dword [ebp - 0x2fc], 0
jmp 0x406870
mov ecx, dword [ebp - 0xcc4]
mov dword [ebp - 0x514], ecx
push edx
and edx, 0xb82b
pop edx
push edi
add edi, 0x9fce
pop edi
push ecx
push eax
add esp, 4
and ecx, 0x14375
call 0x406659
add byte [edx + ecx*2 + 0x48], cl
xor bh, byte [esi]
dec ebx
inc esp
add esp, 4
add ecx, 0x29c3
pop ecx
lea edx, [ebp - 0x1738]
mov dword [ebp - 0xcc0], edx
mov eax, dword [ebp - 0x514]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcbc], ecx
xor edx, edx
mov word [ebp - 0x21c], dx
xor eax, eax
mov word [ebp - 0x38], ax
push eax
and eax, 0x3676
pop eax
push ecx
push ecx
add esp, 4
jmp 0x4066a1
pop ecx
push ecx
or ecx, 0x1262
add ecx, 0x140f7
xor ecx, 0xfe7e
jmp 0x4066be
pop ecx
mov ecx, dword [ebp - 0xcbc]
mov dx, word [ecx]
mov word [ebp - 0x103e], dx
mov eax, dword [ebp - 0xcbc]
add eax, 2
mov dword [ebp - 0xcbc], eax
mov cx, word [ebp - 0x103e]
mov word [ebp - 0x21c], cx
mov edx, dword [ebp - 0xcc0]
mov ax, word [edx]
mov word [ebp - 0x1040], ax
mov ecx, dword [ebp - 0xcc0]
add ecx, 2
mov dword [ebp - 0xcc0], ecx
mov dx, word [ebp - 0x1040]
mov word [ebp - 0x38], dx
push ecx
push esi
add esp, 4
or ecx, 0x1424
add ecx, 0x14135
xor ecx, 0x132b7
pop ecx
push edx
add edx, 0xd918
sub edx, 0x3f0a
add edx, 0x13ab0
and edx, 0x57ec
pop edx
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x406765
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x161c], ecx
jmp 0x4067bf
movzx eax, word [ebp - 0x21c]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x40668d
movzx edx, word [ebp - 0x21c]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x40668d
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x4067a9
mov dword [ebp - 0x1618], 0xffffffff
jmp 0x4067b3
mov dword [ebp - 0x1618], 1
mov eax, dword [ebp - 0x1618]
mov dword [ebp - 0x161c], eax
cmp dword [ebp - 0x161c], 0
jne 0x406808
push esi
xor esi, 0x182c2
call 0x4067dc
add byte [ebp + 0x3f], al
cmp eax, 0x4a403b3a
add esp, 4
jmp 0x4067e7
pop esi
push edx
push ecx
add esp, 4
or edx, 0x8205
add edx, 0xe9ff
pop edx
mov ecx, dword [ebp - 0x514]
mov dword [ebp - 0x2fc], ecx
jmp 0x406870
push eax
or eax, 0x73de
pop eax
push ebx
add ebx, 0x183c8
sub ebx, 0x10977
and ebx, 0x10658
pop ebx
push ebx
xor ebx, 0xca1f
pop ebx
push edi
add edi, 0x2852
and edi, 0x4567
pop edi
mov edx, dword [ebp - 0x514]
mov eax, dword [edx]
mov dword [ebp - 0x514], eax
mov ecx, dword [ebp - 0x514]
cmp ecx, dword [ebp - 0xcc4]
je 0x406866
mov edx, dword [ebp - 0x514]
cmp dword [edx + 0x30], 0
jne 0x406631
mov dword [ebp - 0x2fc], 0
push eax
sub eax, 0x128f6
add eax, 0x1681b
sub eax, 0x10e85
add eax, 0x37f0
pop eax
push edi
push esi
add esp, 4
or edi, 0x17a4c
xor edi, 0x1b05
and edi, 0xfa26
pop edi
cmp dword [ebp - 0x2fc], 0
jne 0x4071a7
mov eax, 0x6b
mov word [ebp - 0x1790], ax
mov ecx, 0x65
mov word [ebp - 0x178e], cx
mov edx, 0x72
mov word [ebp - 0x178c], dx
mov eax, 0x6e
mov word [ebp - 0x178a], ax
mov ecx, 0x65
mov word [ebp - 0x1788], cx
mov edx, 0x6c
mov word [ebp - 0x1786], dx
mov eax, 0x33
mov word [ebp - 0x1784], ax
mov ecx, 0x32
mov word [ebp - 0x1782], cx
mov edx, 0x2e
mov word [ebp - 0x1780], dx
mov eax, 0x64
mov word [ebp - 0x177e], ax
mov ecx, 0x6c
mov word [ebp - 0x177c], cx
mov edx, 0x6c
mov word [ebp - 0x177a], dx
xor eax, eax
mov word [ebp - 0x1778], ax
push ebx
push eax
add esp, 4
and ebx, 0xbae9
xor ebx, 0x7a6a
or ebx, 0x2563
pop ebx
push eax
call 0x406970
add byte [edi + 0x33], al
inc edx
aaa
inc eax
inc ebx
dec ebx
xor eax, 0x4c48333
add eax, 0xe3a3
pop eax
mov byte [ebp - 0x8a4], 0x4c
mov byte [ebp - 0x8a3], 0x6f
mov byte [ebp - 0x8a2], 0x61
mov byte [ebp - 0x8a1], 0x64
mov byte [ebp - 0x8a0], 0x4c
mov byte [ebp - 0x89f], 0x69
mov byte [ebp - 0x89e], 0x62
mov byte [ebp - 0x89d], 0x72
mov byte [ebp - 0x89c], 0x61
mov byte [ebp - 0x89b], 0x72
mov byte [ebp - 0x89a], 0x79
mov byte [ebp - 0x899], 0x57
mov byte [ebp - 0x898], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x199c], ecx
mov edx, dword [ebp - 0x199c]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19a0], eax
mov ecx, dword [ebp - 0x19a0]
mov dword [ebp - 0x1620], ecx
push edx
push eax
add esp, 4
and edx, 0xfcbe
and edx, 0xac85
pop edx
push edi
push ebx
add esp, 4
call 0x406a24
add byte [eax], bh
cmp al, 0x4f
inc ecx
cmp bh, byte [0x443f4039]
add esp, 4
jmp 0x406a2e
pop edi
cmp dword [ebp - 0x1620], 0
jne 0x406a47
mov dword [ebp - 0x774], 0
jmp 0x406cee
mov edx, dword [ebp - 0x1620]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcd0], ecx
push eax
add eax, 0x480
and eax, 0x1fda
and eax, 0x148e9
pop eax
push esi
push eax
add esp, 4
les eax, [ecx + eax*4]
out 0xd8, al
test eax, 0x5eb0000
pop esi
push ebx
jmp 0x406a8a
pop ebx
cmp dword [ebp - 0xcd0], 0
jne 0x406aa3
mov dword [ebp - 0x774], 0
jmp 0x406cee
mov edx, dword [ebp - 0xcd0]
mov dword [ebp - 0x518], edx
push ebx
push esi
add esp, 4
jmp 0x406aba
or ebx, 0x16df3
and ebx, 0x692
xor ebx, 0x14249
pop ebx
push eax
push edi
add esp, 4
sub eax, 0x1059c
pop eax
push edi
jmp 0x406ae0
pop edi
lea eax, [ebp - 0x1790]
mov dword [ebp - 0xccc], eax
mov ecx, dword [ebp - 0x518]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcc8], edx
xor eax, eax
mov word [ebp - 0x220], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push eax
and eax, 0x11d72
xor eax, 0xae1f
and eax, 0x8a8a
pop eax
push eax
push ecx
add esp, 4
sub eax, 0xfce6
call 0x406b39
add byte [ecx + 0x37], cl
cmp bh, byte [ecx]
dec edi
aas
push eax
cmp al, byte ds:[ebx - 0x74a7fb3c]
xchg ebp, eax
cmp bl, dh
invalid
push esi
push esi
add esp, 4
or esi, 0x8618
or esi, 0x133ed
add esi, 0x14e70
sub esi, 0x8ec4
pop esi
push edi
or edi, 0x8e00
or edi, 0x184ca
xor edi, 0x7a22
pop edi
cmp dword [ebp - 0x774], 0
jne 0x406d6a
push ebx
push esi
add esp, 4
and ebx, 0x968d
or ebx, 0x8f
pop ebx
push ebx
call 0x406d4b
add byte [edi + 0x49], al
cmp cl, byte ds:[edi + 0x46]
inc eax
dec ecx
inc ecx
add esp, 4
add ebx, 0x1082a
and ebx, 0x17ee5
pop ebx
mov dword [ebp - 0xab4], 0
jmp 0x407892
push ecx
push esi
add esp, 4
and ecx, 0x1575a
or ecx, 0xe994
pop ecx
push ecx
push eax
add esp, 4
xor ecx, 0xd5b9
xor ecx, 0x6bb0
xor ecx, 0x16bc4
pop ecx
push ebx
xor ebx, 0x13e9f
pop ebx
mov ecx, dword [ebp - 0x774]
invalid
dec dword [ebx - 0x6a76e7af]
pop esp
cld
invalid
inc edi
test dword [eax + edi*8 - 1], edi
inc dword [eax]
add byte [eax], al
add byte [ebx - 0x3a37b], cl
dec dword [ecx - 0x166b7b]
inc dword [ebx - 0x166b43]
inc dword [eax]
jne 0x406ddb
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], ecx
jmp 0x4070cc
mov edx, dword [ebp - 0x166c]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1670], eax
jne 0x406e03
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], ecx
jmp 0x4070cc
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1670]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1678], edx
cmp dword [ebp - 0x1678], 0
jne 0x406e35
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], eax
jmp 0x4070cc
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [ebp - 0x1678]
mov dword [ebp - 0x778], ecx
jne 0x406e5a
mov edx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], edx
jmp 0x4070cc
mov eax, dword [ebp - 0x778]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19a4], ecx
mov edx, dword [ebp - 0x778]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19a8], eax
mov ecx, dword [ebp - 0x778]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x19ac], edx
mov dword [ebp - 0x77c], 0
jmp 0x406eb4