Function at 0x408987
Capabilities:
Contain obfuscated stackstrings
Get number of processors

Disassembly:
add esp, 4
pop edi
push ebx
xor ebx, 0x12b4e
or ebx, 0x14015
and ebx, 0x11edb
and ebx, 0x392a
pop ebx
mov eax, dword [ebp - 0x4d0]
mov dword [ebp - 0xa5c], eax
jmp 0x40895f
push edx
jmp 0x408966
and edx, 0xc235
pop edx
push eax
push ecx
add esp, 4
and eax, 0x1fa9
call 0x408987
add byte [ebx], dh
cmp dh, byte [0x4933423e]
dec esi
aaa
add esp, 4
or eax, 0xdc20
pop eax
mov byte [ebp - 0x804], 0x45
mov byte [ebp - 0x803], 0x78
mov byte [ebp - 0x802], 0x69
mov byte [ebp - 0x801], 0x74
mov byte [ebp - 0x800], 0x50
mov byte [ebp - 0x7ff], 0x72
mov byte [ebp - 0x7fe], 0x6f
mov byte [ebp - 0x7fd], 0x63
mov byte [ebp - 0x7fc], 0x65
mov byte [ebp - 0x7fb], 0x73
mov byte [ebp - 0x7fa], 0x73
mov byte [ebp - 0x7f9], 0
push eax
push esi
add esp, 4
sub eax, 0x11fc5
sub eax, 0xa150
xor eax, 0x14aa9
call 0x408a0b
add byte [0x4632324c], dh
cmp al, 0x3d
dec esi
dec ebp
add esp, 4
pop eax
push eax
sub eax, 0x104c4
pop eax
mov ecx, 0x6b
mov word [ebp - 0x1628], cx
mov edx, 0x65
mov word [ebp - 0x1626], dx
mov eax, 0x72
mov word [ebp - 0x1624], ax
mov ecx, 0x6e
mov word [ebp - 0x1622], cx
mov edx, 0x65
mov word [ebp - 0x1620], dx
mov eax, 0x6c
mov word [ebp - 0x161e], ax
mov ecx, 0x33
mov word [ebp - 0x161c], cx
mov edx, 0x32
mov word [ebp - 0x161a], dx
mov eax, 0x2e
mov word [ebp - 0x1618], ax
mov ecx, 0x64
mov word [ebp - 0x1616], cx
mov edx, 0x6c
mov word [ebp - 0x1614], dx
mov eax, 0x6c
mov word [ebp - 0x1612], ax
xor ecx, ecx
mov word [ebp - 0x1610], cx
push eax
call 0x408abf
add byte [edi], bh
inc ebx
inc ebx
cmp dword [edi + 0x3b], eax
cmp dword [edi], edi
add esp, 4
jmp 0x408ac8
pop eax
push esi
push eax
add esp, 4
call 0x408ade
add byte [0x50493b43], dh
inc edx
dec edi
dec ebx
xor cl, byte [ebx + eax*4 - 0x3c]
add al, 0x5e
push edi
sub edi, 0xfa9d
pop edi
push edi
jmp 0x408af1
jmp 0x408af9
or edi, 0x12fbc
pop edi
push edi
push ebx
add esp, 4
add edi, 0x15ff4
pop edi
push ecx
jmp 0x408b13
pop ecx
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 edx
or edx, 0x11a34
sub edx, 0x16174
pop edx
push ebx
push edi
add esp, 4
sub ebx, 0x13e25
pop ebx
push ecx
call 0x408b64
add byte [ecx + 0x3c], cl
cmp dword ss:[eax + 0x4e], eax
inc esi
add esp, 4
add ecx, 0x16e42
pop ecx
cmp dword [ebp - 0x14d4], 0
jne 0x408b86
mov dword [ebp - 0x2e0], 0
jmp 0x408e42
mov eax, dword [ebp - 0x14d4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc20], edx
push edx
and edx, 0xc472
sub edx, 0xe5a9
jmp 0x408bad
xor edx, 0x6df0
pop edx
push ebx
xor ebx, 0x14987
jmp 0x408bc3
add ebx, 0x158ec
pop ebx
cmp dword [ebp - 0xc20], 0
jne 0x408be2
mov dword [ebp - 0x2e0], 0
jmp 0x408e42
mov eax, dword [ebp - 0xc20]
mov dword [ebp - 0x4d4], eax
push ebx
xor ebx, 0x15546
xor ebx, 0x4c80
pop ebx
push edi
sub edi, 0x49cb
call 0x408c10
add byte [ebp + esi + 0x38], cl
inc esp
xor al, 0x3d
xor eax, dword [ebx - 0x187efb3c]
in al, 0x3f
add dword [eax], eax
and edi, 0x7925
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 ecx
sub ecx, 0x1e7c
xor ecx, 0x16255
add ecx, 0x136ef
sub ecx, 0x3e5c
pop ecx
push ebx
push edi
add esp, 4
add ebx, 0x13cea
and ebx, 0xf847
and ebx, 0x4421
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 ecx
sub ecx, 0x10b2b
pop ecx
push ebx
push esi
add esp, 4
add ebx, 0x32a0
pop ebx
push ecx
push ecx
add esp, 4
sub ecx, 0xcebb
xor ecx, 0xc1ad
jmp 0x408d04
add ecx, 0x10f90
pop ecx
movzx edx, word [ebp - 0x100]
test edx, edx
jne 0x408d2e
movzx eax, word [ebp - 0x1f8]
movzx ecx, word [ebp - 0x100]
sub eax, ecx
mov dword [ebp - 0x1498], eax
jmp 0x408d91
movzx edx, word [ebp - 0x1f8]
movzx eax, word [ebp - 0x100]
cmp edx, eax
je 0x408c4d
movzx ecx, word [ebp - 0x1f8]
xor ecx, 0x20
movzx edx, word [ebp - 0x100]
cmp ecx, edx
je 0x408c4d
movzx eax, word [ebp - 0x1f8]
movzx ecx, word [ebp - 0x100]
cmp eax, ecx
jge 0x408d7b
mov dword [ebp - 0x14d8], 0xffffffff
jmp 0x408d85
mov dword [ebp - 0x14d8], 1
mov edx, dword [ebp - 0x14d8]
mov dword [ebp - 0x1498], edx
cmp dword [ebp - 0x1498], 0
jne 0x408dda
push edi
push ecx
add esp, 4
add edi, 0x502d
pop edi
push ecx
push edx
add esp, 4
or ecx, 0x6f53
call 0x408dbd
add byte [edi + 0x3b], al
push eax
xor al, 0x33
inc eax
add esp, 4
pop ecx
push edx
push esi
add esp, 4
jmp 0x408dcb
pop edx
mov eax, dword [ebp - 0x4d4]
mov dword [ebp - 0x2e0], eax
jmp 0x408e42
push edi
push esi
add esp, 4
xor edi, 0x4764
call 0x408df1
add byte [0x39373b4a], dh
dec edx
add esp, 4
call 0x408e01
add byte [edi + 0x4e], al
dec ecx
xor eax, dword [ebx + edi + 0x3d]
add esp, 4
jmp 0x408e0b
pop edi
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 0x408e38
mov ecx, dword [ebp - 0x4d4]
cmp dword [ecx + 0x30], 0
jne 0x408bee
mov dword [ebp - 0x2e0], 0
push esi
call 0x408e50
add byte [edi + edi + 0x4c], al
dec esp
cmp eax, 0xc4833e46
add al, 0x81
out dx, al
adc al, byte [edx + 0x6eb0000]
aaa
inc edi
xor eax, 0xae83a
add byte [eax], al
add byte [edi], bh
inc ebp
push eax
dec ecx
cmp dword [eax + 0x4f], ecx
dec edx
dec edi
add esp, 4
pop esi
cmp dword [ebp - 0x2e0], 0
jne 0x40978d
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 edx
or edx, 0x15a57
pop edx
push edi
xor edi, 0x113b3
add edi, 0x14be9
pop edi
push eax
and eax, 0xd16f
jmp 0x408f3f
and eax, 0x1371
sub eax, 0xa802
pop eax
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 edi
push edi
add esp, 4
sub edi, 0x16da7
pop edi
push ecx
push ebx
add esp, 4
xor ecx, 0xaf1a
pop ecx
push esi
and esi, 0x23f5
add esi, 0xb54b
add esi, 0x33f9
and esi, 0x15da2
pop esi
cmp dword [ebp - 0x14dc], 0
jne 0x409018
mov dword [ebp - 0x6ec], 0
jmp 0x4092d4
mov ecx, dword [ebp - 0x14dc]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc2c], eax
push edx
push edi
add esp, 4
sub edx, 0x4d07
pop edx
push ebx
call 0x409046
add byte [ecx + 0x4d], al
dec eax
dec edi
cmp eax, dword [edx + 0x3d]
inc esp
cmp al, 0x83
les eax, [ecx + eax*4]
jmp 0x40906b
add byte [eax], al
add byte [eax], al
jmp 0x4092d4
push ebx
push ecx
add esp, 4
jmp 0x4092df
add ebx, 0x14dfa
add ebx, 0x1850c
add ebx, 0x15a6e
pop ebx
push edi
xor edi, 0x75e2
or edi, 0x17ea5
xor edi, 0x17bb1
pop edi
cmp dword [ebp - 0x6ec], 0
jne 0x409350
push esi
push esi
add esp, 4
add esi, 0x13a08
jmp 0x409320
call 0x40932e
add byte [ebp + 0x4c], cl
cmp dh, byte [esi]
inc esi
dec esp
inc ecx
inc edx
add esp, 4
jmp 0x409338
pop esi
push edi
and edi, 0x9111
pop edi
mov dword [ebp - 0x738], 0
jmp 0x409e77
push edi
push esi
add esp, 4
add edi, 0x9532
add edi, 0x15593
and edi, 0xe41
call 0x409373
add byte [edx + 0x40], cl
cmp edi, dword [edx]
dec edi
add esp, 4
pop edi
push eax
jmp 0x409381
pop eax
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 0x4093c1
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x4096b2
mov ecx, dword [ebp - 0x14e8]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x14ec], edx
jne 0x4093e9
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x4096b2
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 0x40941b
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
jmp 0x4096b2
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x14f0]
mov dword [ebp - 0x6f0], eax
jne 0x409440
mov ecx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], ecx
jmp 0x4096b2
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 0x40949a
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 0x4096a6
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 0x40950a
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 0x4095bc
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
test edx, edx
je 0x4095bc
push ecx
push eax
add esp, 4
and ecx, 0xdfba
sub ecx, 0xdb80
and ecx, 0x126ab
pop ecx
push eax
xor eax, 0x13ccf
sub eax, 0x132f5
xor eax, 0xdb87
xor eax, 0x537c
pop eax
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 0x4095ae
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 0x4095b5
jmp 0x4094fb
jmp 0x4095bc
push edi
jmp 0x4095c3
xor edi, 0x9d21
and edi, 0x5be2
call 0x4095dc
add byte [ecx + 0x45], al
cmp cl, byte [ebx + 0x32]
cmp edi, dword [eax]
add esp, 4
pop edi
push edx
add edx, 0xc51c
and edx, 0x21fa
pop edx
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 0x40961b
mov dword [ebp - 0xc30], 0
jmp 0x40968a
push eax
xor eax, 0x16eb9
sub eax, 0x6000
pop eax
push esi
sub esi, 0xdab6
pop esi
push edx
and edx, 0x135b6
xor edx, 0xa522
jmp 0x409646
or edx, 0x9b0d
pop edx
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 0x409680
mov dword [ebp - 0xc30], 0xffffffff
jmp 0x40968a
mov dword [ebp - 0xc30], 1
cmp dword [ebp - 0xc30], 0
jne 0x4096a1
mov ecx, dword [ebp - 0x18ac]
mov dword [ebp - 0x3c4], ecx
jmp 0x4096b2
jmp 0x40948b
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
cmp dword [ebp - 0x3c4], 0
je 0x40978d
push ecx
jmp 0x4096c7
pop ecx
push eax
push ecx
add esp, 4
jmp 0x4096d2
sub eax, 0x24a6
pop eax
push esi
push eax
add esp, 4
xor esi, 0x1572b
or esi, 0x7caa
add esi, 0xe656
pop esi
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x18b0], eax
push eax
push ebx
add esp, 4
or eax, 0xbde3
sub eax, 0x173cc
pop eax
push edx
xor edx, 0x136af
pop edx
push ecx
push ecx
add esp, 4
sub ecx, 0xa862
xor ecx, 0x5b62
and ecx, 0x10096
pop ecx
mov ecx, dword [ebp - 0x18b0]
mov dword [ebp - 0x18b4], ecx
lea edx, [ebp - 0x1628]
push edx
call dword [ebp - 0x18b4]
test eax, eax
jne 0x40978d
push edx
push edi
add esp, 4
add edx, 0x12802
add edx, 0x117f2
sub edx, 0x12211
pop edx
push edx
add edx, 0x141f2
or edx, 0x17afe
pop edx
push esi
push ebx
add esp, 4
and esi, 0x17807
pop esi
mov dword [ebp - 0x738], 0
jmp 0x409e77
push edx
push ecx
add esp, 4
sub edx, 0xc853
call 0x4097a7
add byte [esi + edi], dh
inc edi
cmp byte [ebx + 0x3d], al
dec ecx
xor bh, byte [edi]
add esp, 4
pop edx
push ecx
add ecx, 0x129e4
pop ecx
push ebx
push esi
add esp, 4
or ebx, 0xd945
pop ebx
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 ebx
add esp, 4
add esi, 0x2cb0
jmp 0x4097f9
and esi, 0x16605
xor esi, 0x10174
pop esi
push ebx
push ecx
add esp, 4
jmp 0x409811
sub ebx, 0x1304b
pop ebx
cmp dword [ebp - 0x14f4], 0
jne 0x409830
mov dword [ebp - 0x2e0], 0
jmp 0x409ad7
mov ecx, dword [ebp - 0x14f4]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc3c], eax
push eax
jmp 0x40984a
pop eax
push esi
xor esi, 0x9bbc
or esi, 0x4578
and esi, 0x15401
add esi, 0x143f5
pop esi
push esi
jmp 0x40986d
and esi, 0x2d31
pop esi
cmp dword [ebp - 0xc3c], 0
jne 0x40988c
mov dword [ebp - 0x2e0], 0
jmp 0x409ad7
mov ecx, dword [ebp - 0xc3c]
mov dword [ebp - 0x4dc], ecx
push esi
push ebx
add esp, 4
jmp 0x4098a3
pop esi
push esi
add esi, 0xd726
call 0x4098b7
add byte [edi + edi], bh
dec edi
inc edx
inc edx
cmp al, byte [ebx + 0x7eb04c4]
inc edi
inc esp
dec ebx
dec ebp
dec ebp
inc esi
and esi, 0x164a9
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 edi
and edi, 0x1642a
pop edi
push ecx
push edi
add esp, 4
xor ecx, 0x14d3e
xor ecx, 0x74ca
xor ecx, 0x134cf
call 0x409922
add byte [0x3a394a4b], bh
aas
inc ebp
inc eax
xor eax, dword [ebx - 0x74a6fb3c]
invalid
push edi
push esi
add esp, 4
add edi, 0x15001
and edi, 0xb351
sub edi, 0x16cde
pop edi
push eax
call 0x409aff
add byte [ecx + 0x45], cl
cmp al, byte [edx + 0x4b]
inc eax
dec ecx
inc esi
aaa
add esp, 4
and eax, 0x6853
pop eax
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2fc], ecx
push esi
and esi, 0x33d2
add esi, 0xa415
or esi, 0x9707
pop esi
push edi
push edx
add esp, 4
xor edi, 0x7a1
and edi, 0xc3f8
xor edi, 0xf675
sub edi, 0x139eb
pop edi
mov dword [ebp - 0x70c], 0
mov edx, dword [ebp - 0x2fc]
mov dword [ebp - 0x1500], edx
cmp dword [ebp - 0x1500], 0
jne 0x409b7a
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x409e6b
mov ecx, dword [ebp - 0x1500]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1504], edx
jne 0x409ba2
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x409e6b
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 0x409bd4
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
jmp 0x409e6b
mov eax, dword [ebp - 0x2fc]
add eax, dword [ebp - 0x1508]
mov dword [ebp - 0x700], eax
jne 0x409bf9
mov ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], ecx
jmp 0x409e6b
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 0x409c53
mov eax, dword [ebp - 0x700]
mov ecx, dword [ebp - 0x704]
cmp ecx, dword [eax + 0x18]
jae 0x409e5f
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 0x409cc3
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 0x409d75
mov ecx, dword [ebp - 0x184]
movsx edx, byte [ebp + ecx - 0x804]
test edx, edx
je 0x409d75
push esi
push edi
add esp, 4
sub esi, 0x163e4
xor esi, 0x17bee
xor esi, 0x47bf
jmp 0x409d10
pop esi
push esi
call 0x409d1e
add byte [esp + eax*2], dh
xor edi, dword [ecx]
dec esi
aaa
add esp, 4
pop esi
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 0x409d67
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 0x409d6e
jmp 0x409cb4
jmp 0x409d75
push edx
or edx, 0x8fce
and edx, 0x15105
sub edx, 0x1591e
pop edx
push eax
push edi
add esp, 4
call 0x409d9c
add byte [edx], dh
inc edi
xor al, 0x37
xor eax, 0xc4834c3c
add al, 0xeb
add eax, 0x39344338
cmp eax, 0xf8958b58
clc
invalid
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x738], eax
push edi
push ecx
add esp, 4
call 0x409e8c
add byte [edx + ecx*2 + 0x43], al
dec ebp
inc ebp
aaa
push eax
xor eax, 0xc483374d
add al, 0xe8
or dword [eax], eax
add byte [eax], al
add byte [eax + eax*2], dh
inc esp
dec esp
inc esp