Function at 0x407196
Capabilities:
Get number of processors

Disassembly:
add esp, 4
sub ecx, 0x1e13
jmp 0x405b52
pop ecx
push ebx
push esi
add esp, 4
and ebx, 0x1741c
sub ebx, 0x7614
pop ebx
push ecx
sub ecx, 0xb727
pop ecx
push ebx
push ecx
add esp, 4
and ebx, 0x18032
pop ebx
push edx
jmp 0x405b83
call 0x405b93
add byte [ecx + 0x42], cl
cmp eax, 0x4434433f
cmp al, 0x48
xor al, 0x83
les eax, [edx + ebx*2]
mov edx, dword fs:[0x18]
mov dword [ebp - 0x1890], edx
mov eax, dword [ebp - 0x1890]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x1894], ecx
mov edx, dword [ebp - 0x1894]
mov dword [ebp - 0x14d4], edx
push esi
sub esi, 0xf134
and esi, 0xc55e
jmp 0x405bd2
pop esi
push ebx
add ebx, 0xf868
jmp 0x405be2
add ebx, 0x10512
pop ebx
push eax
sub eax, 0x17c37
pop eax
cmp dword [ebp - 0x14d4], 0
jne 0x405c09
mov dword [ebp - 0x2e0], 0
jmp 0x405ec5
mov eax, dword [ebp - 0x14d4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc20], edx
push esi
sub esi, 0xbda9
and esi, 0x5938
or esi, 0x9716
jmp 0x405c36
pop esi
push edi
or edi, 0x17d05
xor edi, 0x5f01
pop edi
push edx
sub edx, 0xf13e
pop edx
cmp dword [ebp - 0xc20], 0
jne 0x405c65
mov dword [ebp - 0x2e0], 0
jmp 0x405ec5
mov eax, dword [ebp - 0xc20]
mov dword [ebp - 0x4d4], eax
push edx
push edx
add esp, 4
and edx, 0x1f51
xor edx, 0x17b0e
sub edx, 0xa6c7
or edx, 0x4998
pop edx
push esi
push edi
add esp, 4
and esi, 0xc944
pop esi
push edi
sub edi, 0x2788
pop edi
lea ecx, [ebp - 0x1628]
mov dword [ebp - 0xc1c], ecx
mov edx, dword [ebp - 0x4d4]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xc18], eax
xor ecx, ecx
mov word [ebp - 0x1f8], cx
xor edx, edx
mov word [ebp - 0x100], dx
push ebx
xor ebx, 0x98f
xor ebx, 0x48d3
or ebx, 0x114d6
pop ebx
push ebx
push esi
add esp, 4
add ebx, 0x719c
add ebx, 0x1fee
add ebx, 0x9c7f
xor ebx, 0x8e59
pop ebx
mov eax, dword [ebp - 0xc18]
mov cx, word [eax]
mov word [ebp - 0xf7e], cx
mov edx, dword [ebp - 0xc18]
add edx, 2
mov dword [ebp - 0xc18], edx
mov ax, word [ebp - 0xf7e]
mov word [ebp - 0x1f8], ax
mov ecx, dword [ebp - 0xc1c]
mov dx, word [ecx]
mov word [ebp - 0xf80], dx
mov eax, dword [ebp - 0xc1c]
add eax, 2
mov dword [ebp - 0xc1c], eax
mov cx, word [ebp - 0xf80]
mov word [ebp - 0x100], cx
push esi
push ecx
add esp, 4
sub esi, 0x11ec4
pop esi
push edx
push edx
add esp, 4
xor edx, 0x15367
or edx, 0x7c2d
pop edx
push edi
xor edi, 0xf2a5
and edi, 0x11685
or edi, 0x8cbc
pop edi
movzx edx, word [ebp - 0x100]
test edx, edx
jne 0x405db1
movzx eax, word [ebp - 0x1f8]
movzx ecx, word [ebp - 0x100]
sub eax, ecx
mov dword [ebp - 0x1498], eax
jmp 0x405e14
movzx edx, word [ebp - 0x1f8]
movzx eax, word [ebp - 0x100]
cmp edx, eax
je 0x405cd0
movzx ecx, word [ebp - 0x1f8]
xor ecx, 0x20
movzx edx, word [ebp - 0x100]
cmp ecx, edx
je 0x405cd0
movzx eax, word [ebp - 0x1f8]
movzx ecx, word [ebp - 0x100]
cmp eax, ecx
jge 0x405dfe
mov dword [ebp - 0x14d8], 0xffffffff
jmp 0x405e08
mov dword [ebp - 0x14d8], 1
mov edx, dword [ebp - 0x14d8]
mov dword [ebp - 0x1498], edx
cmp dword [ebp - 0x1498], 0
jne 0x405e5d
push eax
push ebx
add esp, 4
or eax, 0xedfe
sub eax, 0x6335
pop eax
push ebx
or ebx, 0x36b2
pop ebx
push edi
push esi
add esp, 4
sub edi, 0xf608
add edi, 0xe667
xor edi, 0x686f
pop edi
mov eax, dword [ebp - 0x4d4]
mov dword [ebp - 0x2e0], eax
jmp 0x405ec5
push esi
sub esi, 0xb48a
add esi, 0x11899
pop esi
push ebx
push esi
add esp, 4
add ebx, 0x3ab2
xor ebx, 0xdd44
pop ebx
push esi
push edx
add esp, 4
and esi, 0x86a7
add esi, 0x1744c
pop esi
mov ecx, dword [ebp - 0x4d4]
mov edx, dword [ecx]
mov dword [ebp - 0x4d4], edx
mov eax, dword [ebp - 0x4d4]
cmp eax, dword [ebp - 0xc20]
je 0x405ebb
mov ecx, dword [ebp - 0x4d4]
cmp dword [ecx + 0x30], 0
jne 0x405c71
mov dword [ebp - 0x2e0], 0
push ecx
push esi
add esp, 4
xor ecx, 0x3fed
and ecx, 0x99ab
xor ecx, 0xf809
pop ecx
push edi
sub edi, 0xfaf5
and edi, 0x3cef
pop edi
push ecx
push edx
add esp, 4
sub ecx, 0xb097
pop ecx
cmp dword [ebp - 0x2e0], 0
jne 0x406810
mov edx, 0x6b
mov word [ebp - 0x16cc], dx
mov eax, 0x65
mov word [ebp - 0x16ca], ax
mov ecx, 0x72
mov word [ebp - 0x16c8], cx
mov edx, 0x6e
mov word [ebp - 0x16c6], dx
mov eax, 0x65
mov word [ebp - 0x16c4], ax
mov ecx, 0x6c
mov word [ebp - 0x16c2], cx
mov edx, 0x33
mov word [ebp - 0x16c0], dx
mov eax, 0x32
mov word [ebp - 0x16be], ax
mov ecx, 0x2e
mov word [ebp - 0x16bc], cx
mov edx, 0x64
mov word [ebp - 0x16ba], dx
mov eax, 0x6c
mov word [ebp - 0x16b8], ax
mov ecx, 0x6c
mov word [ebp - 0x16b6], cx
xor edx, edx
mov word [ebp - 0x16b4], dx
push ecx
jmp 0x405fa3
or ecx, 0x78d5
call 0x405fb7
add byte [ebx + 0x4b], cl
dec esi
inc edi
cmp dword [ebp + 0x4a], ecx
cmp eax, 0x5904c483
push edx
or edx, 0x4304
or edx, 0x14f1d
add edx, 0x91ed
pop edx
mov byte [ebp - 0x820], 0x4c
mov byte [ebp - 0x81f], 0x6f
mov byte [ebp - 0x81e], 0x61
mov byte [ebp - 0x81d], 0x64
mov byte [ebp - 0x81c], 0x4c
mov byte [ebp - 0x81b], 0x69
mov byte [ebp - 0x81a], 0x62
mov byte [ebp - 0x819], 0x72
mov byte [ebp - 0x818], 0x61
mov byte [ebp - 0x817], 0x72
mov byte [ebp - 0x816], 0x79
mov byte [ebp - 0x815], 0x57
mov byte [ebp - 0x814], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1898], eax
mov ecx, dword [ebp - 0x1898]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x189c], edx
mov eax, dword [ebp - 0x189c]
mov dword [ebp - 0x14dc], eax
push ebx
push ecx
add esp, 4
add ebx, 0x107c9
sub ebx, 0x3393
sub ebx, 0x1b53
or ebx, 0x10c17
pop ebx
push edi
sub edi, 0x850a
and edi, 0xcfe8
sub edi, 0x139e6
pop edi
cmp dword [ebp - 0x14dc], 0
jne 0x40609b
mov dword [ebp - 0x6ec], 0
jmp 0x406357
mov ecx, dword [ebp - 0x14dc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc2c], eax
push esi
call 0x4060bc
add byte [edi + 0x3d], cl
xor cl, byte [ebp + 0x47]
xor ecx, dword [ebp + 0x3f]
add esp, 4
call 0x4060cf
add byte [esi], dh
cmp eax, 0x48323e3c
inc ebp
cmp bh, byte [esi]
xor eax, dword [ebx - 0x97efb3c]
xor eax, dword [ecx]
add byte [ecx + 0x6037ce], al
add byte [esi - 0x7d], bl
mov ebp, 0xfffff3d4
add byte [ebp + 0xf], dh
mov dword [ebp - 0x6ec], 0
jmp 0x406357
push esi
xor esi, 0x6822
xor esi, 0xe9e8
or esi, 0x17f18
pop esi
push ebx
push eax
add esp, 4
or ebx, 0x1316
jmp 0x40637c
sub ebx, 0x114f5
add ebx, 0xe068
pop ebx
cmp dword [ebp - 0x6ec], 0
jne 0x4063d3
push ebx
or ebx, 0x162e4
sub ebx, 0x5d7f
or ebx, 0x8257
add ebx, 0xbcbb
pop ebx
push edx
push esi
add esp, 4
jmp 0x4063b7
add edx, 0x9c6f
and edx, 0x8684
pop edx
mov dword [ebp - 0x738], 0
jmp 0x406efa
push ecx
push edx
add esp, 4
sub ecx, 0x1511a
jmp 0x4063e4
jmp 0x4063ec
add ecx, 0x7472
pop ecx
push edx
push ecx
add esp, 4
sub edx, 0x173c0
jmp 0x406404
pop edx
mov eax, dword [ebp - 0x6ec]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2f8], ecx
mov dword [ebp - 0x6fc], 0
mov edx, dword [ebp - 0x2f8]
mov dword [ebp - 0x14e8], edx
cmp dword [ebp - 0x14e8], 0
jne 0x406444
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x406735
mov ecx, dword [ebp - 0x14e8]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x14ec], edx
jne 0x40646c
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x406735
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x14ec]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x14f0], ecx
cmp dword [ebp - 0x14f0], 0
jne 0x40649e
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
jmp 0x406735
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x14f0]
mov dword [ebp - 0x6f0], eax
jne 0x4064c3
mov ecx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], ecx
jmp 0x406735
mov edx, dword [ebp - 0x6f0]
mov eax, dword [ebp - 0x2f8]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x18a0], eax
mov ecx, dword [ebp - 0x6f0]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18a4], edx
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x2f8]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x18a8], ecx
mov dword [ebp - 0x6f4], 0
jmp 0x40651d
mov edx, dword [ebp - 0x6f4]
add edx, 1
mov dword [ebp - 0x6f4], edx
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x6f4]
cmp ecx, dword [eax + 0x18]
jae 0x406729
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a0]
mov ecx, dword [ebp - 0x2f8]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x6f8], ecx
mov edx, dword [ebp - 0x6f4]
mov eax, dword [ebp - 0x18a4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18a8]
mov eax, dword [ebp - 0x2f8]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18ac], eax
mov dword [ebp - 0x180], 0
jmp 0x40658d
mov ecx, dword [ebp - 0x180]
add ecx, 1
mov dword [ebp - 0x180], ecx
mov edx, dword [ebp - 0x6f8]
add edx, dword [ebp - 0x180]
movsx eax, byte [edx]
test eax, eax
je 0x40663f
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
test edx, edx
je 0x40663f
push ebx
push eax
add esp, 4
and ebx, 0x1070a
pop ebx
push ecx
push eax
add esp, 4
xor ecx, 0x218d
call 0x4065df
add byte [edx], bh
dec edx
dec eax
xor cl, byte [ebp + 0x33]
xor eax, 0x4c48342
jmp 0x4065eb
pop ecx
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x180]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x180]
movsx eax, byte [ebp + edx - 0x820]
cmp ecx, eax
je 0x406631
mov ecx, dword [ebp - 0x6f8]
add ecx, dword [ebp - 0x180]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x180]
movsx ecx, byte [ebp + eax - 0x820]
cmp edx, ecx
jne 0x406638
jmp 0x40657e
jmp 0x40663f
push eax
and eax, 0xde2c
jmp 0x40664d
and eax, 0xd03b
pop eax
push esi
jmp 0x40665e
add esi, 0x7e0f
and esi, 0xb4a1
or esi, 0x140db
pop esi
mov edx, dword [ebp - 0x6f8]
add edx, dword [ebp - 0x180]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
cmp eax, edx
jne 0x40669e
mov dword [ebp - 0xc30], 0
jmp 0x40670d
push ecx
push edx
add esp, 4
xor ecx, 0x13d75
and ecx, 0xf0ae
sub ecx, 0x11201
add ecx, 0xe5a3
pop ecx
push ebx
sub ebx, 0x16e49
and ebx, 0x142a8
and ebx, 0x5483
pop ebx
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x180]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x180]
movsx eax, byte [ebp + edx - 0x820]
or eax, 0x20
cmp ecx, eax
jge 0x406703
mov dword [ebp - 0xc30], 0xffffffff
jmp 0x40670d
mov dword [ebp - 0xc30], 1
cmp dword [ebp - 0xc30], 0
jne 0x406724
mov ecx, dword [ebp - 0x18ac]
mov dword [ebp - 0x3c4], ecx
jmp 0x406735
jmp 0x40650e
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
cmp dword [ebp - 0x3c4], 0
je 0x406810
push edi
or edi, 0x13855
jmp 0x406750
sub edi, 0x15253
pop edi
push esi
push esi
add esp, 4
jmp 0x406763
pop esi
push eax
xor eax, 0x32b8
pop eax
push eax
or eax, 0x10228
pop eax
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x18b0], eax
push eax
add eax, 0x1eb1
sub eax, 0xd68
sub eax, 0x16614
pop eax
push esi
push ebx
add esp, 4
call 0x4067a6
add byte [eax + 0x47], al
cmp dword [ebp + 0x4b], eax
aaa
inc eax
add esp, 4
jmp 0x4067b1
pop esi
mov ecx, dword [ebp - 0x18b0]
mov dword [ebp - 0x18b4], ecx
lea edx, [ebp - 0x1628]
push edx
call dword [ebp - 0x18b4]
test eax, eax
jne 0x406810
push edi
or edi, 0x1b50
pop edi
push eax
push ecx
add esp, 4
sub eax, 0x105a8
add eax, 0xa9bb
or eax, 0x93f2
xor eax, 0xd5ed
pop eax
push ecx
push esi
add esp, 4
sub ecx, 0x13bf0
pop ecx
mov dword [ebp - 0x738], 0
jmp 0x406efa
push eax
push eax
add esp, 4
and eax, 0x135d0
sub eax, 0x52d6
pop eax
push edx
xor edx, 0xc3ed
pop edx
push eax
push ecx
add esp, 4
sub eax, 0x31e3
or eax, 0x8d9f
and eax, 0x133d5
pop eax
mov eax, dword fs:[0x18]
mov dword [ebp - 0x18b8], eax
mov ecx, dword [ebp - 0x18b8]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x18bc], edx
mov eax, dword [ebp - 0x18bc]
mov dword [ebp - 0x14f4], eax
push esi
push eax
add esp, 4
or esi, 0x10fce
or esi, 0x80d7
add esi, 0x9b75
xor esi, 0x14a48
pop esi
push ebx
xor ebx, 0xd71
pop ebx
push eax
push edx
add esp, 4
add eax, 0x7744
pop eax
cmp dword [ebp - 0x14f4], 0
jne 0x4068b3
mov dword [ebp - 0x2e0], 0
jmp 0x406b5a
mov ecx, dword [ebp - 0x14f4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc3c], eax
push eax
push esi
add esp, 4
jmp 0x4068d3
and eax, 0x1509c
sub eax, 0x91e8
pop eax
push eax
push ecx
add esp, 4
sub eax, 0x181aa
and eax, 0x124e5
jmp 0x4068f6
pop eax
cmp dword [ebp - 0xc3c], 0
jne 0x40690f
mov dword [ebp - 0x2e0], 0
jmp 0x406b5a
mov ecx, dword [ebp - 0xc3c]
mov dword [ebp - 0x4dc], ecx
push edi
push eax
add esp, 4
xor edi, 0x12e74
or edi, 0x12eaa
pop edi
push edi
and edi, 0x633c
pop edi
push esi
push esi
add esp, 4
and esi, 0x6ecb
add esi, 0xfa43
xor esi, 0x172c9
pop esi
lea edx, [ebp - 0x1628]
mov dword [ebp - 0xc38], edx
mov eax, dword [ebp - 0x4dc]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc34], ecx
xor edx, edx
mov word [ebp - 0x200], dx
xor eax, eax
mov word [ebp - 0x34], ax
push edx
xor edx, 0x180d0
pop edx
push ecx
push edi
add esp, 4
or ecx, 0xee44
sub ecx, 0xf8b3
pop ecx
push ecx
push edi
add esp, 4
and ecx, 0xc5d0
sub ecx, 0x5923
xor ecx, 0xfb69
pop ecx
mov ecx, dword [ebp - 0xc34]
mov dx, word [ecx]
mov word [ebp - 0xf86], dx
mov eax, dword [ebp - 0xc34]
add eax, 2
mov dword [ebp - 0xc34], eax
mov cx, word [ebp - 0xf86]
mov word [ebp - 0x200], cx
mov edx, dword [ebp - 0xc38]
mov ax, word [edx]
mov word [ebp - 0xf88], ax
mov ecx, dword [ebp - 0xc38]
add ecx, 2
mov dword [ebp - 0xc38], ecx
mov dx, word [ebp - 0xf88]
mov word [ebp - 0x34], dx
push ebx
add ebx, 0x16712
or ebx, 0x15a2a
jmp 0x406a13
xor ebx, 0x16c26
pop ebx
push eax
push ebx
add esp, 4
add eax, 0xf6fa
add eax, 0xbbf9
add eax, 0xbb6c
pop eax
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x406a4f
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x14fc], ecx
jmp 0x406aa9
movzx eax, word [ebp - 0x200]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x406977
movzx edx, word [ebp - 0x200]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x406977
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x406a93
mov dword [ebp - 0x14f8], 0xffffffff
jmp 0x406a9d
mov dword [ebp - 0x14f8], 1
mov eax, dword [ebp - 0x14f8]
mov dword [ebp - 0x14fc], eax
cmp dword [ebp - 0x14fc], 0
jne 0x406af2
push ebx
push eax
add esp, 4
jmp 0x406abe
xor ebx, 0xda2f
add ebx, 0x10bcd
add ebx, 0x686
pop ebx
push esi
and esi, 0x7988
jmp 0x406add
jmp 0x406ae3
pop esi
mov ecx, dword [ebp - 0x4dc]
mov dword [ebp - 0x2e0], ecx
jmp 0x406b5a
push edi
push ecx
add esp, 4
sub edi, 0x10197
add edi, 0x605
pop edi
push ebx
push ecx
add esp, 4
or ebx, 0x16c90
pop ebx
push edi
sub edi, 0xd5e3
sub edi, 0x6ce6
and edi, 0x9c99
pop edi
mov edx, dword [ebp - 0x4dc]
mov eax, dword [edx]
mov dword [ebp - 0x4dc], eax
mov ecx, dword [ebp - 0x4dc]
cmp ecx, dword [ebp - 0xc3c]
je 0x406b50
mov edx, dword [ebp - 0x4dc]
cmp dword [edx + 0x30], 0
jne 0x40691b
mov dword [ebp - 0x2e0], 0
push ecx
push esi
add esp, 4
and ecx, 0x15974
sub ecx, 0x4187
xor ecx, 0x7255
xor ecx, 0x13f91
pop ecx
push ebx
sub ebx, 0x15e05
or ebx, 0xf4f5
xor ebx, 0x115df
pop ebx
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2fc], ecx
push edx
push ecx
add esp, 4
sub edx, 0x1433c
add edx, 0x12eb8
and edx, 0x15fdc
pop edx
push ecx
push edi
add esp, 4
xor ecx, 0xb204
pop ecx
push edi
and edi, 0x3776
jmp 0x406bcc
pop edi
mov dword [ebp - 0x70c], 0
mov edx, dword [ebp - 0x2fc]
mov dword [ebp - 0x1500], edx
cmp dword [ebp - 0x1500], 0
jne 0x406bfd
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x406eee
mov ecx, dword [ebp - 0x1500]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1504], edx
jne 0x406c25
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x406eee
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1504]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1508], ecx
cmp dword [ebp - 0x1508], 0
jne 0x406c57
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
jmp 0x406eee
mov eax, dword [ebp - 0x2fc]
add eax, dword [ebp - 0x1508]
mov dword [ebp - 0x700], eax
jne 0x406c7c
mov ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], ecx
jmp 0x406eee
mov edx, dword [ebp - 0x700]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x18c0], eax
mov ecx, dword [ebp - 0x700]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x18c4], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x18c8], ecx
mov dword [ebp - 0x704], 0
jmp 0x406cd6
mov edx, dword [ebp - 0x704]
add edx, 1
mov dword [ebp - 0x704], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x704]
cmp ecx, dword [eax + 0x18]
jae 0x406ee2
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c0]
mov ecx, dword [ebp - 0x2fc]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x708], ecx
mov edx, dword [ebp - 0x704]
mov eax, dword [ebp - 0x18c4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x18c8]
mov eax, dword [ebp - 0x2fc]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x18cc], eax
mov dword [ebp - 0x184], 0
jmp 0x406d46
mov ecx, dword [ebp - 0x184]
add ecx, 1
mov dword [ebp - 0x184], ecx
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
test eax, eax
je 0x406df8
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
test edx, edx
je 0x406df8
push edx
push ebx
add esp, 4
jmp 0x406d7f
jmp 0x406d87
pop edx
push edi
push ebx
add esp, 4
call 0x406d9b
add byte [esp + edi + 0x41], cl
inc edx
inc ebp
cmp al, byte [esi + 0x33]
add esp, 4
xor edi, 0xca2
pop edi
mov eax, dword [ebp - 0x708]
add eax, dword [ebp - 0x184]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x184]
movsx eax, byte [ebp + edx - 0x804]
cmp ecx, eax
je 0x406dea
mov ecx, dword [ebp - 0x708]
add ecx, dword [ebp - 0x184]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x184]
movsx ecx, byte [ebp + eax - 0x804]
cmp edx, ecx
jne 0x406df1
jmp 0x406d37
jmp 0x406df8
push eax
push ecx
add esp, 4
jmp 0x406e06
sub eax, 0x131e1
pop eax
push ecx
or ecx, 0xb9db
and ecx, 0xa649
jmp 0x406e23
jmp 0x406e29
pop ecx
mov edx, dword [ebp - 0x708]
add edx, dword [ebp - 0x184]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
cmp eax, edx
jne 0x406e57
mov dword [ebp - 0xc40], 0
jmp 0x406ec6
push esi
push eax
add esp, 4
xor esi, 0x130ed
jmp 0x406e6b
pop esi
push ecx
push edi
add esp, 4
xor ecx, 0x28b1
call 0x406e85
add byte [edx], bh
cmp eax, 0x45364c47
dec edi
add esp, 4
pop ecx
mov eax, dword [ebp - 0x708]
add eax, dword [ebp - 0x184]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x184]
movsx eax, byte [ebp + edx - 0x804]
or eax, 0x20
cmp ecx, eax
jge 0x406ebc
mov dword [ebp - 0xc40], 0xffffffff
jmp 0x406ec6
mov dword [ebp - 0xc40], 1
cmp dword [ebp - 0xc40], 0
jne 0x406edd
mov ecx, dword [ebp - 0x18cc]
mov dword [ebp - 0x4e0], ecx
jmp 0x406eee
jmp 0x406cc7
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x738], eax
push edi
and edi, 0x17432
add edi, 0x14e0e
call 0x406f17
add byte [ebp + 0x32], cl
dec ebx
aas
dec esp
inc esp
inc ecx
dec esp
inc edi
aaa
add esp, 4
call 0x406f28
add byte [edx], dh
inc esi
aaa
aas
aas
cmp al, 0x3d
dec ebp
add esp, 4
pop edi
mov ecx, dword [ebp - 0x3cc]
add ecx, 0xe
mov dword [ebp - 0x1918], ecx
push esi
push esi
add esp, 4
sub esi, 0xa2f6
pop esi
push eax
push edx
add esp, 4
xor eax, 0x15835
jmp 0x406f58
sub eax, 0x138f0
xor eax, 0xc8ac
pop eax
push ebx
and ebx, 0x15e9a
pop ebx
cmp dword [ebp - 0x3cc], 0
je 0x406f7f
cmp dword [ebp - 0xa5c], 0
jne 0x406fc5
push edx
or edx, 0xf455
add edx, 0x5347
pop edx
push eax
push esi
add esp, 4
and eax, 0x1485f
add eax, 0x5b8f
call 0x406fad
add byte [esi], dh
inc esp
aas
xor al, 0x3c
cmp edi, dword [edi]
inc edi
dec esi
add esp, 4
pop eax
mov edx, dword [ebp - 0x738]
mov dword [ebp - 0x18d0], edx
push 0
call dword [ebp - 0x18d0]
mov dword [ebp - 0x1fb0], 0xa
push esi
add esi, 0xd282
add esi, 0x555e
pop esi
push ebx
push ecx
add esp, 4
and ebx, 0x6246
jmp 0x406ff1
or ebx, 0x113c6
jmp 0x407000
pop ebx
mov eax, dword [ebp - 0x3cc]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x381], cl
mov edx, dword [ebp - 0xa5c]
sub edx, dword [ebp - 0x3cc]
mov dword [ebp - 0x158c], edx
mov dword [ebp - 0xc70], 0
push ebx
call 0x40703c
add byte [esi + edi], dh
dec edx
cmp byte [edi + 0x38], al
inc ebp
dec edx
add esp, 4
pop ebx
push ebx
or ebx, 0x13d7f
pop ebx
push ebx
and ebx, 0x16f2b
pop ebx
push edx
or edx, 0x1682
sub edx, 0x1765d
pop edx
mov byte [ebp - 0x960], 0x56
mov byte [ebp - 0x95f], 0x69
mov byte [ebp - 0x95e], 0x72
mov byte [ebp - 0x95d], 0x74
mov byte [ebp - 0x95c], 0x75
mov byte [ebp - 0x95b], 0x61
mov byte [ebp - 0x95a], 0x6c
mov byte [ebp - 0x959], 0x50
mov byte [ebp - 0x958], 0x72
mov byte [ebp - 0x957], 0x6f
mov byte [ebp - 0x956], 0x74
mov byte [ebp - 0x955], 0x65
mov byte [ebp - 0x954], 0x63
mov byte [ebp - 0x953], 0x74
mov byte [ebp - 0x952], 0
push ecx
add ecx, 0xd1d3
jmp 0x4070d7
xor ecx, 0xdd61
pop ecx
push esi
push ecx
add esp, 4
call 0x4070ef
add byte [edi + 0x4d], cl
xor dh, byte [ebx + esi]
inc ecx
add esp, 4
add esi, 0xeb37
pop esi
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1c34], eax
mov ecx, dword [ebp - 0x1c34]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x18d4], edx
mov eax, dword [ebp - 0x18d4]
mov dword [ebp - 0x150c], eax
push edi
jmp 0x407128
pop edi
push ecx
push ecx
add esp, 4
and ecx, 0x2ec1
jmp 0x40713b
call 0x407148
add byte [esi], dh
aaa
dec eax
cmp byte ds:[ebx + 0x40], al
add esp, 4
xor ecx, 0x17917
pop ecx
cmp dword [ebp - 0x150c], 0
jne 0x40716a
mov dword [ebp - 0x2a8], 0
jmp 0x407411
mov ecx, dword [ebp - 0x150c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc4c], eax
push eax
push eax
add esp, 4
add eax, 0x6ace
call 0x407196
add byte [eax + 0x3e], dl
inc edi
cmp byte [esi], bh
inc ebx
dec esi
add esp, 4
xor eax, 0xaed0
or eax, 0x13fc8
pop eax
push eax
and eax, 0x14ad3
pop eax
cmp dword [ebp - 0xc4c], 0
jne 0x4071c6
mov dword [ebp - 0x2a8], 0
jmp 0x407411
mov ecx, dword [ebp - 0xc4c]
mov dword [ebp - 0x4e4], ecx
push edx
push edx
add esp, 4
or edx, 0x10b6d
pop edx
push ecx
add ecx, 0x140db
and ecx, 0x149b2
xor ecx, 0x951e
sub ecx, 0x8ad8
pop ecx
push ecx
push ecx
add esp, 4
xor ecx, 0xfb85
pop ecx
lea edx, [ebp - 0x1628]
mov dword [ebp - 0xc48], edx
mov eax, dword [ebp - 0x4e4]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc44], ecx
xor edx, edx
mov word [ebp - 0x204], dx
xor eax, eax
mov word [ebp - 0x38], ax
push ecx
xor ecx, 0x63b9
xor ecx, 0x14e97
and ecx, 0xa949
pop ecx
push edx
push edx
add esp, 4
sub edx, 0x5f3c
xor edx, 0x13fd4
and edx, 0x9b67
sub edx, 0x12c04
pop edx
mov ecx, dword [ebp - 0xc44]
mov dx, word [ecx]
mov word [ebp - 0xf8a], dx
mov eax, dword [ebp - 0xc44]
add eax, 2
mov dword [ebp - 0xc44], eax
mov cx, word [ebp - 0xf8a]
mov word [ebp - 0x204], cx
mov edx, dword [ebp - 0xc48]
mov ax, word [edx]
mov word [ebp - 0xf8c], ax
mov ecx, dword [ebp - 0xc48]
add ecx, 2
mov dword [ebp - 0xc48], ecx
mov dx, word [ebp - 0xf8c]
mov word [ebp - 0x38], dx
push edx
push ebx
add esp, 4
or edx, 0x2369
or edx, 0x13a54
xor edx, 0x3463
and edx, 0x134f4
pop edx
push ebx
sub ebx, 0x168c0
pop ebx
push edi
push esi
add esp, 4
xor edi, 0x384
pop edi
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x407306
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x1514], ecx
jmp 0x407360
movzx eax, word [ebp - 0x204]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x40722e
movzx edx, word [ebp - 0x204]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x40722e
movzx ecx, word [ebp - 0x204]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x40734a
mov dword [ebp - 0x1510], 0xffffffff
jmp 0x407354
mov dword [ebp - 0x1510], 1
mov eax, dword [ebp - 0x1510]
mov dword [ebp - 0x1514], eax
cmp dword [ebp - 0x1514], 0
jne 0x4073a9
push edi
or edi, 0x2cd7
and edi, 0x43dd
pop edi
push eax
push edx
add esp, 4
and eax, 0x8862
sub eax, 0x29
pop eax
push ecx
push ebx
add esp, 4
sub ecx, 0x17fb0
add ecx, 0x13ea3
pop ecx
mov ecx, dword [ebp - 0x4e4]
mov dword [ebp - 0x2a8], ecx
jmp 0x407411
push eax
push ebx
add esp, 4
sub eax, 0xe378
call 0x4073c1
add byte [ecx], bh
dec ebx
dec ebp
dec ebx
inc ebp
dec esi
push eax
add esp, 4
pop eax
push edi
and edi, 0xf919
pop edi
push ecx
add ecx, 0x4f9b
or ecx, 0xb1cc
pop ecx
mov edx, dword [ebp - 0x4e4]
mov eax, dword [edx]
mov dword [ebp - 0x4e4], eax
mov ecx, dword [ebp - 0x4e4]
cmp ecx, dword [ebp - 0xc4c]
je 0x407407
mov edx, dword [ebp - 0x4e4]
cmp dword [edx + 0x30], 0
jne 0x4071d2
mov dword [ebp - 0x2a8], 0
push edx
push edi
add esp, 4
xor edx, 0x3381
xor edx, 0xb66
pop edx
push ebx
push ecx
add esp, 4
xor ebx, 0x15481
pop ebx
push edx
add edx, 0x12449
jmp 0x40743c
sub edx, 0x8659
pop edx
cmp dword [ebp - 0x2a8], 0
jne 0x407d48
mov eax, 0x6b
mov word [ebp - 0x16e8], ax
mov ecx, 0x65
mov word [ebp - 0x16e6], cx
mov edx, 0x72
mov word [ebp - 0x16e4], dx
mov eax, 0x6e
mov word [ebp - 0x16e2], ax
mov ecx, 0x65
mov word [ebp - 0x16e0], cx
mov edx, 0x6c
mov word [ebp - 0x16de], dx
mov eax, 0x33
mov word [ebp - 0x16dc], ax
mov ecx, 0x32
mov word [ebp - 0x16da], cx
mov edx, 0x2e
mov word [ebp - 0x16d8], dx
mov eax, 0x64
mov word [ebp - 0x16d6], ax
mov ecx, 0x6c
mov word [ebp - 0x16d4], cx
mov edx, 0x6c
mov word [ebp - 0x16d2], dx
xor eax, eax
mov word [ebp - 0x16d0], ax
push esi
sub esi, 0x2226
add esi, 0x4665
pop esi
push esi
and esi, 0xeec
sub esi, 0x15858
or esi, 0x177d8
pop esi
push eax
sub eax, 0x10c90
pop eax
push eax
xor eax, 0x10235
pop eax
mov byte [ebp - 0x830], 0x4c
mov byte [ebp - 0x82f], 0x6f
mov byte [ebp - 0x82e], 0x61
mov byte [ebp - 0x82d], 0x64
mov byte [ebp - 0x82c], 0x4c
mov byte [ebp - 0x82b], 0x69
mov byte [ebp - 0x82a], 0x62
mov byte [ebp - 0x829], 0x72
mov byte [ebp - 0x828], 0x61
mov byte [ebp - 0x827], 0x72
mov byte [ebp - 0x826], 0x79
mov byte [ebp - 0x825], 0x57
mov byte [ebp - 0x824], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18d8], ecx
mov edx, dword [ebp - 0x18d8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18dc], eax
mov ecx, dword [ebp - 0x18dc]
mov dword [ebp - 0x1518], ecx
push eax
xor eax, 0xf332
pop eax
push ecx
and ecx, 0xbde2
sub ecx, 0xb028
xor ecx, 0x17454
pop ecx
push ebx
push esi
add esp, 4
call 0x4075cc
add byte [esi + 0x4d], cl
inc ebx
dec edi
inc edi
dec eax
cmp al, byte [ebx - 0x7ca4fb3c]
mov ebp, 0xffffeae8
add byte [ebp + 0xf], dh
mov dword [ebp - 0x710], 0
jmp 0x40788f
push edx
push edi
add esp, 4
xor edx, 0x20d5
and edx, 0x4b22
xor edx, 0x18478
sub edx, 0x14400
pop edx
push eax
xor eax, 0x296c
and eax, 0x11676
add eax, 0x11688
pop eax
cmp dword [ebp - 0x710], 0
jne 0x40790b
push edx
push eax
add esp, 4
sub edx, 0x12914
or edx, 0xd235
and edx, 0x14981
add edx, 0x818
pop edx
push ecx
push ecx
add esp, 4
jmp 0x4078f5
add ecx, 0x95e9
pop ecx
mov dword [ebp - 0xa58], 0
jmp 0x408433
push ecx
jmp 0x407914
call 0x407922
add byte [esi], bh
dec esi
dec eax
dec ecx
inc eax
dec esi
inc esi
add esp, 4
jmp 0x40792e
add ecx, 0x1b84
pop ecx
push ebx
add ebx, 0xea69
pop ebx
mov ecx, dword [ebp - 0x710]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x300], edx
mov dword [ebp - 0x720], 0
mov eax, dword [ebp - 0x300]
mov dword [ebp - 0x1564], eax
cmp dword [ebp - 0x1564], 0
jne 0x40797c
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x407c6d
mov edx, dword [ebp - 0x1564]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1568], eax
jne 0x4079a4
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], ecx
jmp 0x407c6d
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1568]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1570], edx
cmp dword [ebp - 0x1570], 0
jne 0x4079d6
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
jmp 0x407c6d
mov ecx, dword [ebp - 0x300]
add ecx, dword [ebp - 0x1570]
mov dword [ebp - 0x714], ecx
jne 0x4079fb
mov edx, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], edx
jmp 0x407c6d
mov eax, dword [ebp - 0x714]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x18e0], ecx
mov edx, dword [ebp - 0x714]
mov eax, dword [ebp - 0x300]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x18e4], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x300]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x18e8], edx
mov dword [ebp - 0x718], 0
jmp 0x407a55
mov eax, dword [ebp - 0x718]
add eax, 1
mov dword [ebp - 0x718], eax
mov ecx, dword [ebp - 0x714]
mov edx, dword [ebp - 0x718]
cmp edx, dword [ecx + 0x18]
jae 0x407c61
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e0]
mov edx, dword [ebp - 0x300]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x71c], edx
mov eax, dword [ebp - 0x718]
mov ecx, dword [ebp - 0x18e4]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x18e8]
mov ecx, dword [ebp - 0x300]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x18ec], ecx
mov dword [ebp - 0x188], 0
jmp 0x407ac5
mov edx, dword [ebp - 0x188]
add edx, 1
mov dword [ebp - 0x188], edx
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
test ecx, ecx
je 0x407b77
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
test eax, eax
je 0x407b77
push esi
and esi, 0x8c7c
call 0x407b09
add byte [ecx + edi + 0x42], cl
cmp eax, 0x33394c3d
dec edi
inc ebp
add esp, 4
sub esi, 0x131f4
call 0x407b20
add byte [edx + 0x45], al
dec edi
dec ebp
xor al, 0x37
inc ebx
cmp al, 0x83
les eax, [esi + ebx*2]
mov ecx, dword [ebp - 0x71c]
add ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x188]
movsx ecx, byte [ebp + eax - 0x830]
cmp edx, ecx
je 0x407b69
mov edx, dword [ebp - 0x71c]
add edx, dword [ebp - 0x188]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x188]
movsx edx, byte [ebp + ecx - 0x830]
cmp eax, edx
jne 0x407b70
jmp 0x407ab6
jmp 0x407b77
push ecx
xor ecx, 0x323f
call 0x407b8b
add byte [ebx + 0x3b], cl
cmp byte [edx], bh
xor dh, byte ds:[edi]
add esp, 4
pop ecx
push esi
push edx
add esp, 4
add esi, 0xea02
jmp 0x407ba0
pop esi
push eax
and eax, 0xd9d3
pop eax
mov eax, dword [ebp - 0x71c]
add eax, dword [ebp - 0x188]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x188]
movsx eax, byte [ebp + edx - 0x830]
cmp ecx, eax
jne 0x407bd6
mov dword [ebp - 0xc5c], 0
jmp 0x407c45
push esi
push eax
add esp, 4
xor esi, 0xf382
call 0x407bef
add byte [esi + 0x36], cl
inc edx
inc ecx
inc ecx
dec edi
inc esi
cmp al, 0x83
les eax, [eax + ebp*8]
pop es
add byte [eax], al
add byte [eax], al
aas
cmp al, 0x4b
cmp byte [ebp + 0x3a], cl
add esp, 4
xor esi, 0x16fb1
pop esi
mov ecx, dword [ebp - 0x71c]
add ecx, dword [ebp - 0x188]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x188]
movsx ecx, byte [ebp + eax - 0x830]
or ecx, 0x20
cmp edx, ecx
jge 0x407c3b
mov dword [ebp - 0xc5c], 0xffffffff
jmp 0x407c45
mov dword [ebp - 0xc5c], 1
cmp dword [ebp - 0xc5c], 0
jne 0x407c5c
mov edx, dword [ebp - 0x18ec]
mov dword [ebp - 0x3c8], edx
jmp 0x407c6d
jmp 0x407a46
mov eax, dword [ebp - 0x720]
mov dword [ebp - 0x3c8], eax
cmp dword [ebp - 0x3c8], 0
je 0x407d48
push edi
push esi
add esp, 4
call 0x407c8d
add byte [edi + 0x47], cl
cmp dword [edi], edi
dec edx
inc ebx
inc esi
aaa
add esp, 4
and edi, 0x16a9b
pop edi
push ecx
jmp 0x407c9f
xor ecx, 0x11e91
add ecx, 0x6e28
pop ecx
invalid
lea edi, [eax]
cld