Function at 0x409707
Capabilities:
Contain obfuscated stackstrings
Get number of processors
Resolve function by parsing pe exports

Disassembly:
mov edx, dword [ebp - 0x500]
add edx, 1
mov dword [ebp - 0x500], edx
push edi
push esi
add esp, 4
sub edi, 0x1b0d
or edi, 0x177b8
xor edi, 0x4cdc
and edi, 0xc6bd
pop edi
push edi
push esi
add esp, 4
xor edi, 0xde1
jmp 0x4079fa
pop edi
mov eax, dword [ebp - 0x500]
sub eax, dword [ebp - 0x3f4]
cmp eax, 0xffffffff
jb 0x407a43
push ecx
push eax
add esp, 4
sub ecx, 0x86b8
or ecx, 0xe2fe
jmp 0x407a23
pop ecx
push eax
jmp 0x407a2b
add eax, 0xbb2
and eax, 0x17595
add eax, 0x6257
pop eax
jmp 0x407c71
mov dword [ebp - 0xc84], 7
mov ecx, dword [ebp - 0x500]
mov dword [ebp - 0xad0], ecx
push eax
xor eax, 0x10862
pop eax
push edx
or edx, 0x8a35
add edx, 0x8bb4
jmp 0x407a74
pop edx
push eax
add eax, 0x16e83
pop eax
push edi
xor edi, 0xe0b5
or edi, 0x11d9e
pop edi
mov edx, dword [ebp - 0x15cc]
mov dword [ebp - 0xacc], edx
mov dword [ebp - 0xc88], 0
mov eax, dword [ebp - 0x500]
cmp eax, dword [ebp - 0x15cc]
jne 0x407af2
push ecx
push edx
add esp, 4
and ecx, 0x16776
add ecx, 0x1053d
pop ecx
push edi
and edi, 0x9cff
call 0x407ad7
add byte [ebp + 0x50], al
xor eax, 0x45484d4a
inc esi
add esp, 4
jmp 0x407ae0
pop edi
mov ecx, dword [ebp - 0xc88]
mov dword [ebp - 0x15d4], ecx
jmp 0x407c23
cmp dword [ebp - 0xc84], 0
jle 0x407c17
push edi
push esi
add esp, 4
and edi, 0xc8aa
jmp 0x407b11
pop edi
push esi
add esi, 0xfc0c
sub esi, 0x180e7
sub esi, 0x113e6
pop esi
push esi
push edi
add esp, 4
jmp 0x407b30
pop esi
mov edx, dword [ebp - 0xad0]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xacc]
movzx edx, byte [ecx]
cmp eax, edx
je 0x407bb3
push esi
add esi, 0x16ce5
and esi, 0xc603
jmp 0x407b5b
pop esi
push edi
push esi
add esp, 4
jmp 0x407b66
add edi, 0x131ae
pop edi
push esi
push ecx
add esp, 4
xor esi, 0x1ee1
pop esi
mov eax, dword [ebp - 0xad0]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xacc]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x407b9b
mov dword [ebp - 0x15d0], 1
jmp 0x407ba5
mov dword [ebp - 0x15d0], 0xffffffff
mov ecx, dword [ebp - 0x15d0]
mov dword [ebp - 0xc88], ecx
jmp 0x407c17
push eax
jmp 0x407bba
xor eax, 0xa202
pop eax
push edi
add edi, 0x141c7
or edi, 0xce1c
pop edi
push ecx
or ecx, 0x17718
pop ecx
push esi
sub esi, 0x1353d
and esi, 0x15a74
pop esi
mov edx, dword [ebp - 0xc84]
sub edx, 1
mov dword [ebp - 0xc84], edx
mov eax, dword [ebp - 0xad0]
add eax, 1
mov dword [ebp - 0xad0], eax
mov ecx, dword [ebp - 0xacc]
add ecx, 1
mov dword [ebp - 0xacc], ecx
jmp 0x407af2
mov edx, dword [ebp - 0xc88]
mov dword [ebp - 0x15d4], edx
cmp dword [ebp - 0x15d4], 0
jne 0x407c6c
push ecx
jmp 0x407c33
xor ecx, 0x11eac
sub ecx, 0xde09
pop ecx
push edi
push ebx
add esp, 4
or edi, 0x5a2
pop edi
push ecx
call 0x407c5a
add byte [eax + eax*2 + 0x4e], cl
cmp byte [ebx], dh
cmp al, 0x3a
add esp, 4
pop ecx
mov eax, dword [ebp - 0x500]
mov dword [ebp - 0x3e4], eax
jmp 0x407cad
jmp 0x4079ba
push ecx
push edx
add esp, 4
xor ecx, 0x15ee4
xor ecx, 0x16300
and ecx, 0x98d1
or ecx, 0xa543
pop ecx
push ebx
push edi
add esp, 4
jmp 0x407c9c
or ebx, 0x907a
pop ebx
mov dword [ebp - 0x3e4], 0
push ecx
jmp 0x407cb7
and ecx, 0xee9a
jmp 0x407cc6
pop ecx
push ecx
push esi
add esp, 4
or ecx, 0x57d1
and ecx, 0x5a01
xor ecx, 0x1532c
pop ecx
push edx
push ebx
add esp, 4
call 0x407cf3
add byte [ebp + ecx*2 + 0x4c], al
inc ebx
dec ebp
inc eax
cmp edi, dword [eax + edx*2]
add esp, 4
add edx, 0x11ebb
or edx, 0x297b
pop edx
push ebx
push ecx
add esp, 4
jmp 0x407d10
pop ebx
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xbe8]
mov dword [ebp - 0x15d8], eax
push eax
push edx
add esp, 4
add eax, 0xf1a2
or eax, 0x494b
add eax, 0x658f
and eax, 0x5a64
pop eax
push ecx
and ecx, 0x10a00
or ecx, 0x7f8c
xor ecx, 0x1936
pop ecx
mov dword [ebp - 0x20d8], 0xffffffff
push eax
sub eax, 0x707b
pop eax
push edi
push esi
add esp, 4
call 0x407d7d
add byte [eax], bh
inc edx
xor eax, 0x353f4644
inc edi
add esp, 4
call 0x407d90
add byte [edx], bh
push eax
cmp eax, 0x3e33354a
dec eax
inc ebp
xor eax, 0x5f04c483
mov ecx, dword [ebp - 0x3f4]
mov dword [ebp - 0x504], ecx
jmp 0x407db1
mov edx, dword [ebp - 0x504]
add edx, 1
mov dword [ebp - 0x504], edx
push ebx
push edi
add esp, 4
sub ebx, 0xe9d7
and ebx, 0x76aa
add ebx, 0x15677
or ebx, 0x1358b
pop ebx
push esi
jmp 0x407dd7
xor esi, 0xe827
jmp 0x407de2
pop esi
mov eax, dword [ebp - 0x504]
sub eax, dword [ebp - 0x3f4]
cmp eax, 0xffffffff
jb 0x407e2b
push edx
push eax
add esp, 4
call 0x407e07
add byte [esi], bh
xor al, byte ss:[ebp + 0x48]
xor eax, 0xc4833e32
add al, 0x81
loop 0x407e3d
lea eax, [eax]
add al, ch
pop es
add byte [eax], al
add byte [eax], al
dec edx
inc eax
xor eax, 0x833c4049
les eax, [ebx + ebp*8]
add al, 0x40
cmp al, 0x45
cmp eax, 0x22ee95a
add byte [eax], al
mov dword [ebp - 0xc8c], 7
mov ecx, dword [ebp - 0x504]
mov dword [ebp - 0xac8], ecx
push edi
jmp 0x407e49
cmp ch, dh
invalid
xor edi, 0xfa70
or edi, 0xe4eb
jmp 0x407e5a
pop edi
push ebx
push eax
add esp, 4
jmp 0x407e67
jmp 0x407e6c
or ebx, 0x15198
pop ebx
mov edx, dword [ebp - 0x15d8]
mov dword [ebp - 0xa64], edx
mov dword [ebp - 0xc90], 0
mov eax, dword [ebp - 0x504]
cmp eax, dword [ebp - 0x15d8]
jne 0x407eda
push ebx
call 0x407ea7
add byte [ebx], bh
dec esi
cmp byte [edi + 0x43], al
cmp dh, byte [esp + ecx*2]
push eax
add esp, 4
jmp 0x407eb2
add ebx, 0xc7e
call 0x407ec5
add byte [eax + edi], bh
dec ebp
aaa
dec ecx
cmp eax, 0x4c48349
pop ebx
mov ecx, dword [ebp - 0xc90]
mov dword [ebp - 0x15a8], ecx
jmp 0x40800b
cmp dword [ebp - 0xc8c], 0
jle 0x407fff
push ebx
push eax
add esp, 4
or ebx, 0x1c1c
sub ebx, 0x11601
jmp 0x407efe
sub ebx, 0x11e14
pop ebx
push ecx
add ecx, 0x2196
add ecx, 0x20ac
or ecx, 0x4e6d
pop ecx
mov edx, dword [ebp - 0xac8]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xa64]
movzx edx, byte [ecx]
cmp eax, edx
je 0x407f9b
push edx
and edx, 0x1431c
call 0x407f42
add byte [edx], dh
xor edx, dword [eax + 0x3f]
cmp dword [edx], esi
add esp, 4
add edx, 0xe519
pop edx
push edx
or edx, 0xe3a5
jmp 0x407f5a
xor edx, 0x15265
pop edx
mov eax, dword [ebp - 0xac8]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xa64]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x407f83
mov dword [ebp - 0x15dc], 1
jmp 0x407f8d
mov dword [ebp - 0x15dc], 0xffffffff
mov ecx, dword [ebp - 0x15dc]
mov dword [ebp - 0xc90], ecx
jmp 0x407fff
push ecx
push edx
add esp, 4
xor ecx, 0x17bf9
xor ecx, 0xdf4c
pop ecx
push ebx
sub ebx, 0xfffb
sub ebx, 0xdee1
xor ebx, 0xac4d
pop ebx
push ecx
push ecx
add esp, 4
or ecx, 0x63f6
pop ecx
mov edx, dword [ebp - 0xc8c]
sub edx, 1
mov dword [ebp - 0xc8c], edx
mov eax, dword [ebp - 0xac8]
add eax, 1
mov dword [ebp - 0xac8], eax
mov ecx, dword [ebp - 0xa64]
add ecx, 1
mov dword [ebp - 0xa64], ecx
jmp 0x407eda
mov edx, dword [ebp - 0xc90]
mov dword [ebp - 0x15a8], edx
cmp dword [ebp - 0x15a8], 0
jne 0x408054
push eax
or eax, 0x145ac
call 0x408027
add byte [ecx + 0x36], al
cmp dword [ecx + 0x4b], ecx
inc esi
add esp, 4
and eax, 0x9218
jmp 0x408039
pop eax
push ecx
push eax
add esp, 4
or ecx, 0x16910
pop ecx
mov eax, dword [ebp - 0x504]
mov dword [ebp - 0xac4], eax
jmp 0x408095
jmp 0x407da2
push edi
push ecx
add esp, 4
sub edi, 0x14ebd
xor edi, 0xb026
add edi, 0x9ada
and edi, 0x6219
pop edi
push edx
push ecx
add esp, 4
jmp 0x4080c0
or edx, 0xed4f
pop edx
mov byte [ebp - 0x87c], 0x45
mov byte [ebp - 0x87b], 0x78
mov byte [ebp - 0x87a], 0x69
mov byte [ebp - 0x879], 0x74
mov byte [ebp - 0x878], 0x50
mov byte [ebp - 0x877], 0x72
mov byte [ebp - 0x876], 0x6f
mov byte [ebp - 0x875], 0x63
mov byte [ebp - 0x874], 0x65
mov byte [ebp - 0x873], 0x73
mov byte [ebp - 0x872], 0x73
mov byte [ebp - 0x871], 0
push edx
push edx
add esp, 4
and edx, 0x6e8d
jmp 0x40812f
pop edx
push eax
xor eax, 0xbb6b
pop eax
push edx
push edx
add esp, 4
call 0x408149
add byte [ecx], bh
inc esp
inc ebp
aaa
add esp, 4
pop edx
mov ecx, 0x6b
mov word [ebp - 0x1740], cx
mov edx, 0x65
mov word [ebp - 0x173e], dx
mov eax, 0x72
mov word [ebp - 0x173c], ax
mov ecx, 0x6e
mov word [ebp - 0x173a], cx
mov edx, 0x65
mov word [ebp - 0x1738], dx
mov eax, 0x6c
mov word [ebp - 0x1736], ax
mov ecx, 0x33
mov word [ebp - 0x1734], cx
mov edx, 0x32
mov word [ebp - 0x1732], dx
mov eax, 0x2e
mov word [ebp - 0x1730], ax
mov ecx, 0x64
mov word [ebp - 0x172e], cx
mov edx, 0x6c
mov word [ebp - 0x172c], dx
mov eax, 0x6c
mov word [ebp - 0x172a], ax
xor ecx, ecx
mov word [ebp - 0x1728], cx
push ebx
or ebx, 0x11719
pop ebx
push eax
xor eax, 0xedb1
sub eax, 0x11988
jmp 0x408202
and eax, 0x17159
pop eax
push edx
sub edx, 0x13394
jmp 0x408217
pop edx
push esi
push ebx
add esp, 4
xor esi, 0x9fbc
pop esi
push ebx
push eax
add esp, 4
or ebx, 0x16f6b
call 0x40823e
add byte [edi], bh
inc edx
inc eax
xor eax, dword [ebp + 0x4c]
xor eax, 0xc4834833
add al, 0xeb
push es
inc edx
inc esi
cmp byte [0x645b4437], dh
mov edx, dword [0x18]
mov dword [ebp - 0x2034], edx
mov eax, dword [ebp - 0x2034]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0x198c], ecx
mov edx, dword [ebp - 0x198c]
mov dword [ebp - 0x15e0], edx
push ecx
jmp 0x408279
call 0x408289
add byte [ebx + esi + 0x40], cl
xor ecx, dword [ecx + 0x4b]
cmp al, 0x42
dec eax
push eax
add esp, 4
sub ecx, 0x21a
jmp 0x408297
pop ecx
push edx
push edx
add esp, 4
add edx, 0xb0a
pop edx
cmp dword [ebp - 0x15e0], 0
jne 0x4082bc
mov dword [ebp - 0x2d4], 0
jmp 0x408578
mov eax, dword [ebp - 0x15e0]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0xc9c], edx
push eax
push ecx
add esp, 4
call 0x4082e1
add byte [esi + 0x3f], cl
dec ebx
dec ecx
dec esp
dec esp
push eax
cmp al, 0x83
les eax, [ecx + eax*4]
invalid
push esi
jmp 0x408581
or esi, 0x13f27
pop esi
push ecx
push esi
add esp, 4
add ecx, 0x10bef
or ecx, 0x162a2
pop ecx
push eax
add eax, 0x10685
pop eax
push ecx
and ecx, 0x1361e
pop ecx
cmp dword [ebp - 0x2d4], 0
jne 0x408ec3
mov edx, 0x6b
mov word [ebp - 0x17ac], dx
mov eax, 0x65
mov word [ebp - 0x17aa], ax
mov ecx, 0x72
mov word [ebp - 0x17a8], cx
mov edx, 0x6e
mov word [ebp - 0x17a6], dx
mov eax, 0x65
mov word [ebp - 0x17a4], ax
mov ecx, 0x6c
mov word [ebp - 0x17a2], cx
mov edx, 0x33
mov word [ebp - 0x17a0], dx
mov eax, 0x32
mov word [ebp - 0x179e], ax
mov ecx, 0x2e
mov word [ebp - 0x179c], cx
mov edx, 0x64
mov word [ebp - 0x179a], dx
mov eax, 0x6c
mov word [ebp - 0x1798], ax
mov ecx, 0x6c
mov word [ebp - 0x1796], cx
xor edx, edx
mov word [ebp - 0x1794], dx
push ebx
add ebx, 0x102cb
call 0x408666
add byte [edi + ecx*2 + 0x41], cl
dec ebp
inc edi
xor al, 0x4d
inc edi
inc eax
add esp, 4
call 0x408678
add byte [ebx + edi], bh
dec eax
cmp dword [ecx + 0x45], ecx
dec esp
cmp byte [ebx + eax*4 - 0x3c], cl
add al, 0x81
push 1
add byte [eax], al
pop ebx
mov byte [ebp - 0x898], 0x4c
mov byte [ebp - 0x897], 0x6f
mov byte [ebp - 0x896], 0x61
mov byte [ebp - 0x895], 0x64
mov byte [ebp - 0x894], 0x4c
mov byte [ebp - 0x893], 0x69
mov byte [ebp - 0x892], 0x62
mov byte [ebp - 0x891], 0x72
mov byte [ebp - 0x890], 0x61
mov byte [ebp - 0x88f], 0x72
mov byte [ebp - 0x88e], 0x79
mov byte [ebp - 0x88d], 0x57
mov byte [ebp - 0x88c], 0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1990], eax
mov ecx, dword [ebp - 0x1990]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1994], edx
mov eax, dword [ebp - 0x1994]
mov dword [ebp - 0x15ec], eax
push ecx
push ecx
add esp, 4
jmp 0x408711
or ecx, 0x87cc
or ecx, 0x8cf9
add ecx, 0xf165
pop ecx
push edx
push ebx
add esp, 4
add edx, 0x12874
sub edx, 0x14a94
pop edx
cmp dword [ebp - 0x15ec], 0
jne 0x40874e
mov dword [ebp - 0x754], 0
jmp 0x408a0a
mov ecx, dword [ebp - 0x15ec]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xca8], eax
push eax
xor eax, 0x3931
pop eax
push edx
push edx
add esp, 4
or edx, 0xc992
pop edx
push edx
or edx, 0x17328
call 0x408788
add byte [edi + 0x38], al
cmp dword [ecx + 0x41], eax
aas
add esp, 4
and edx, 0xfca3
pop edx
cmp dword [ebp - 0xca8], 0
jne 0x4087aa
mov dword [ebp - 0x754], 0
jmp 0x408a0a
mov ecx, dword [ebp - 0xca8]
mov dword [ebp - 0x50c], ecx
push eax
xor eax, 0x64c0
call 0x4087cd
add byte [eax + ecx*2 + 0x3c], cl
dec eax
xor al, byte [edi + ecx*2 + 0x4f]
cmp byte [ebx - 0x7d], al
les eax, [ebx + ebp*8]
pop es
dec ebp
inc esp
inc eax
inc ebp
inc esi
dec eax
inc eax
pop eax
push ebx
xor ebx, 0x5ace
add ebx, 0x66ac
pop ebx
lea edx, [ebp - 0x17ac]
mov dword [ebp - 0xca4], edx
mov eax, dword [ebp - 0x50c]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xca0], ecx
xor edx, edx
mov word [ebp - 0x214], dx
xor eax, eax
mov word [ebp - 0x110], ax
push edi
and edi, 0x14d94
pop edi
push edi
push edi
add esp, 4
or edi, 0x8ea2
sub edi, 0x1ca4
pop edi
push ecx
push ebx
add esp, 4
and ecx, 0x85bd
pop ecx
push ecx
push edx
add esp, 4
add ecx, 0x5ef1
pop ecx
mov ecx, dword [ebp - 0xca0]
mov dx, word [ecx]
mov word [ebp - 0x103a], dx
mov eax, dword [ebp - 0xca0]
add eax, 2
mov dword [ebp - 0xca0], eax
mov cx, word [ebp - 0x103a]
mov word [ebp - 0x214], cx
mov edx, dword [ebp - 0xca4]
mov ax, word [edx]
mov word [ebp - 0x103c], ax
mov ecx, dword [ebp - 0xca4]
add ecx, 2
mov dword [ebp - 0xca4], ecx
mov dx, word [ebp - 0x103c]
mov word [ebp - 0x110], dx
push edi
or edi, 0xea02
or edi, 0x20ed
pop edi
push ebx
push esi
add esp, 4
sub ebx, 0x9746
pop ebx
push edx
push esi
add esp, 4
add edx, 0x17162
sub edx, 0x8976
sub edx, 0x53ac
pop edx
movzx eax, word [ebp - 0x110]
test eax, eax
jne 0x4088f6
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x110]
sub ecx, edx
mov dword [ebp - 0x15f4], ecx
jmp 0x408959
movzx eax, word [ebp - 0x214]
movzx ecx, word [ebp - 0x110]
cmp eax, ecx
je 0x408815
movzx edx, word [ebp - 0x214]
xor edx, 0x20
movzx eax, word [ebp - 0x110]
cmp edx, eax
je 0x408815
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x110]
cmp ecx, edx
jge 0x408943
mov dword [ebp - 0x15f0], 0xffffffff
jmp 0x40894d
mov dword [ebp - 0x15f0], 1
mov eax, dword [ebp - 0x15f0]
mov dword [ebp - 0x15f4], eax
cmp dword [ebp - 0x15f4], 0
jne 0x4089a2
push ebx
and ebx, 0x141c0
add ebx, 0x18558
or ebx, 0x17661
pop ebx
push edx
push edi
add esp, 4
add edx, 0x108a9
pop edx
push eax
push ecx
add esp, 4
add eax, 0x182d6
or eax, 0x78b1
pop eax
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x754], ecx
jmp 0x408a0a
push ecx
call 0x4089b2
add byte [esi + edi], dh
xor eax, dword [ebx + 0x44]
dec ebp
dec esp
dec edi
add esp, 4
add ecx, 0x13232
pop ecx
push edi
push edx
add esp, 4
add edi, 0xa6f6
and edi, 0x152da
or edi, 0x1038c
pop edi
mov edx, dword [ebp - 0x50c]
mov eax, dword [edx]
mov dword [ebp - 0x50c], eax
mov ecx, dword [ebp - 0x50c]
cmp ecx, dword [ebp - 0xca8]
je 0x408a00
mov edx, dword [ebp - 0x50c]
cmp dword [edx + 0x30], 0
jne 0x4087b6
mov dword [ebp - 0x754], 0
push eax
push ecx
add esp, 4
xor eax, 0xa572
pop eax
push edi
push edx
add esp, 4
sub edi, 0x9cfa
or edi, 0xd555
and edi, 0xaed4
pop edi
push ecx
push eax
add esp, 4
jmp 0x408a3b
pop ecx
cmp dword [ebp - 0x754], 0
jne 0x408a86
push esi
sub esi, 0x123d3
call 0x408a59
add byte [esi], dh
cmp dword [ebx], esi
push eax
dec ecx
dec edi
inc esp
add esp, 4
or esi, 0x9db4
sub esi, 0xc524
pop esi
push eax
push ebx
add esp, 4
jmp 0x408a76
pop eax
mov dword [ebp - 0x7a0], 0
jmp 0x4095ad
push eax
call 0x408a96
add byte [ebp + 0x36], al
dec esp
dec esp
dec ecx
inc esp
dec esi
inc esp
dec ecx
add esp, 4
pop eax
push ebx
push eax
add esp, 4
sub ebx, 0x4f0b
pop ebx
push edx
push ebx
add esp, 4
or edx, 0x16363
sub edx, 0x1168b
pop edx
mov eax, dword [ebp - 0x754]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x320], ecx
mov dword [ebp - 0x764], 0
mov edx, dword [ebp - 0x320]
mov dword [ebp - 0x15f8], edx
cmp dword [ebp - 0x15f8], 0
jne 0x408af7
mov eax, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], eax
jmp 0x408de8
mov ecx, dword [ebp - 0x15f8]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x15fc], edx
jne 0x408b1f
mov eax, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], eax
jmp 0x408de8
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x15fc]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1600], ecx
cmp dword [ebp - 0x1600], 0
jne 0x408b51
mov edx, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], edx
jmp 0x408de8
mov eax, dword [ebp - 0x320]
add eax, dword [ebp - 0x1600]
mov dword [ebp - 0x758], eax
jne 0x408b76
mov ecx, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], ecx
jmp 0x408de8
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x1998], eax
mov ecx, dword [ebp - 0x758]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x199c], edx
mov eax, dword [ebp - 0x758]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x19a0], ecx
mov dword [ebp - 0x75c], 0
jmp 0x408bd0
mov edx, dword [ebp - 0x75c]
add edx, 1
mov dword [ebp - 0x75c], edx
mov eax, dword [ebp - 0x758]
mov ecx, dword [ebp - 0x75c]
cmp ecx, dword [eax + 0x18]
jae 0x408ddc
mov edx, dword [ebp - 0x75c]
mov eax, dword [ebp - 0x1998]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x760], ecx
mov edx, dword [ebp - 0x75c]
mov eax, dword [ebp - 0x199c]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x19a0]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x19a4], eax
mov dword [ebp - 0x194], 0
jmp 0x408c40
mov ecx, dword [ebp - 0x194]
add ecx, 1
mov dword [ebp - 0x194], ecx
mov edx, dword [ebp - 0x760]
add edx, dword [ebp - 0x194]
movsx eax, byte [edx]
test eax, eax
je 0x408cf2
mov ecx, dword [ebp - 0x194]
movsx edx, byte [ebp + ecx - 0x898]
test edx, edx
je 0x408cf2
push eax
xor eax, 0x15b2
and eax, 0x17b1d
call 0x408c89
add byte [ebp + 0x45], al
inc ebp
cmp byte [edi + 0x40], cl
aaa
inc ebx
cmp eax, dword [ebx + 0x575804c4]
push ecx
add esp, 4
xor edi, 0xdca6
sub edi, 0xf7ec
pop edi
mov eax, dword [ebp - 0x760]
add eax, dword [ebp - 0x194]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x194]
movsx eax, byte [ebp + edx - 0x898]
cmp ecx, eax
je 0x408ce4
mov ecx, dword [ebp - 0x760]
add ecx, dword [ebp - 0x194]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x194]
movsx ecx, byte [ebp + eax - 0x898]
cmp edx, ecx
jne 0x408ceb
jmp 0x408c31
jmp 0x408cf2
push eax
push edi
add esp, 4
or eax, 0x1250d
xor eax, 0x95f4
call 0x408d12
add byte [esi], bh
inc edi
xor eax, 0x34353241
inc esp
xor eax, 0x5804c483
push edi
sub edi, 0x4172
or edi, 0xbc04
pop edi
mov edx, dword [ebp - 0x760]
add edx, dword [ebp - 0x194]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x194]
movsx edx, byte [ebp + ecx - 0x898]
cmp eax, edx
jne 0x408d51
mov dword [ebp - 0xcac], 0
jmp 0x408dc0
push ecx
add ecx, 0x16e63
pop ecx
push ebx
push esi
add esp, 4
sub ebx, 0x16619
pop ebx
push ecx
push edx
add esp, 4
or ecx, 0xf3d0
or ecx, 0x409a
and ecx, 0x11177
sub ecx, 0x12e58
pop ecx
mov eax, dword [ebp - 0x760]
add eax, dword [ebp - 0x194]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x194]
movsx eax, byte [ebp + edx - 0x898]
or eax, 0x20
cmp ecx, eax
jge 0x408db6
mov dword [ebp - 0xcac], 0xffffffff
jmp 0x408dc0
mov dword [ebp - 0xcac], 1
cmp dword [ebp - 0xcac], 0
jne 0x408dd7
mov ecx, dword [ebp - 0x19a4]
mov dword [ebp - 0x3f8], ecx
jmp 0x408de8
jmp 0x408bc1
mov edx, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], edx
cmp dword [ebp - 0x3f8], 0
je 0x408ec3
push ecx
push esi
add esp, 4
and ecx, 0x304f
pop ecx
push esi
xor esi, 0x8278
or esi, 0x657
pop esi
push ebx
push esi
add esp, 4
sub ebx, 0x6edc
sub ebx, 0x435e
jmp 0x408e26
pop ebx
mov eax, dword [ebp - 0x3f8]
mov dword [ebp - 0x19a8], eax
push eax
sub eax, 0x15787
call 0x408e48
add byte [edx + 0x3c], al
dec ecx
aas
dec eax
dec esi
inc ebx
add esp, 4
jmp 0x408e52
call 0x408e61
add byte [ecx + 0x4a], al
inc edx
dec esi
xor al, 0x4f
aaa
cmp eax, dword [ebx - 0x74a7fb3c]
lea ebx, [eax - 0x1a]
invalid
push ecx
jmp 0x408ecb
sub ecx, 0x15d6d
pop ecx
push ecx
jmp 0x408ed9
pop ecx
push edi
jmp 0x408ee0
pop edi
push ecx
push ebx
add esp, 4
add ecx, 0xd1a0
jmp 0x408ef4
pop ecx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x19b0], eax
mov ecx, dword [ebp - 0x19b0]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x19b4], edx
mov eax, dword [ebp - 0x19b4]
mov dword [ebp - 0x1604], eax
push edi
add edi, 0x10a50
add edi, 0x11152
xor edi, 0xf912
pop edi
push esi
jmp 0x408f37
call 0x408f44
add byte [edi + 0x38], cl
inc ebp
inc edx
dec ebx
aas
xor eax, 0x8104c483
div byte [0x5e000103]
cmp dword [ebp - 0x1604], 0
jne 0x408f66
mov dword [ebp - 0x2d4], 0
jmp 0x40920d
mov ecx, dword [ebp - 0x1604]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcb8], eax
push eax
and eax, 0x4066
and eax, 0xd7ca
pop eax
push ecx
push edi
add esp, 4
call 0x408f97
add byte [esp + eax*2], bh
dec ebx
inc edx
cmp cl, byte [ebx - 0x7d]
les eax, [ebx + ebp*8]
add eax, 0x33364436
xor al, 0x59
push ecx
and ecx, 0x2d48
pop ecx
cmp dword [ebp - 0xcb8], 0
jne 0x408fc2
mov dword [ebp - 0x2d4], 0
jmp 0x40920d
mov ecx, dword [ebp - 0xcb8]
mov dword [ebp - 0x510], ecx
push eax
push edi
add esp, 4
or eax, 0x16e20
sub eax, 0x101c5
and eax, 0xbed6
or eax, 0xe976
pop eax
push ebx
sub ebx, 0xd7ab
add ebx, 0x13a31
add ebx, 0x1014a
pop ebx
lea edx, [ebp - 0x1740]
mov dword [ebp - 0xcb4], edx
mov eax, dword [ebp - 0x510]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcb0], ecx
xor edx, edx
mov word [ebp - 0x218], dx
xor eax, eax
mov word [ebp - 0x34], ax
push esi
push edx
add esp, 4
add esi, 0x16854
and esi, 0xa908
jmp 0x409040
add esi, 0x5737
pop esi
push ebx
push eax
add esp, 4
jmp 0x409055
or ebx, 0xb3af
pop ebx
mov ecx, dword [ebp - 0xcb0]
mov dx, word [ecx]
mov word [ebp - 0x103e], dx
mov eax, dword [ebp - 0xcb0]
add eax, 2
mov dword [ebp - 0xcb0], eax
mov cx, word [ebp - 0x103e]
mov word [ebp - 0x218], cx
mov edx, dword [ebp - 0xcb4]
mov ax, word [edx]
mov word [ebp - 0x1040], ax
mov ecx, dword [ebp - 0xcb4]
add ecx, 2
mov dword [ebp - 0xcb4], ecx
mov dx, word [ebp - 0x1040]
mov word [ebp - 0x34], dx
push edx
push esi
add esp, 4
sub edx, 0x59ec
pop edx
push esi
push ebx
add esp, 4
or esi, 0x136c1
add esi, 0xacaf
or esi, 0x6ea4
sub esi, 0x404a
pop esi
push eax
sub eax, 0x13171
pop eax
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x409102
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x160c], ecx
jmp 0x40915c
movzx eax, word [ebp - 0x218]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x40902a
movzx edx, word [ebp - 0x218]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x40902a
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x409146
mov dword [ebp - 0x1608], 0xffffffff
jmp 0x409150
mov dword [ebp - 0x1608], 1
mov eax, dword [ebp - 0x1608]
mov dword [ebp - 0x160c], eax
cmp dword [ebp - 0x160c], 0
jne 0x4091a5
push esi
and esi, 0x147f4
and esi, 0x4678
and esi, 0xe520
or esi, 0x294b
pop esi
push edx
push edx
add esp, 4
or edx, 0x10af4
or edx, 0x11c88
add edx, 0x53dd
pop edx
mov ecx, dword [ebp - 0x510]
mov dword [ebp - 0x2d4], ecx
jmp 0x40920d
push ecx
or ecx, 0x13f93
sub ecx, 0x6cc
xor ecx, 0xd4d5
pop ecx
push edi
push edx
add esp, 4
or edi, 0xc31
xor edi, 0x16570
sub edi, 0x1794c
add edi, 0x10ebc
pop edi
mov edx, dword [ebp - 0x510]
mov eax, dword [edx]
mov dword [ebp - 0x510], eax
mov ecx, dword [ebp - 0x510]
cmp ecx, dword [ebp - 0xcb8]
je 0x409203
mov edx, dword [ebp - 0x510]
cmp dword [edx + 0x30], 0
jne 0x408fce
mov dword [ebp - 0x2d4], 0
push esi
push ecx
add esp, 4
sub esi, 0xac83
add esi, 0xa973
jmp 0x409224
pop esi
push ebx
xor ebx, 0x51ed
call 0x40923b
add byte [0x3632354b], bh
aaa
xor al, 0x4d
add esp, 4
pop ebx
mov eax, dword [ebp - 0x2d4]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x324], ecx
push ebx
call 0x40925e
add byte [edx], dh
inc esp
dec esp
dec edi
inc esi
cmp dl, byte [eax + 0x49]
cmp al, byte [ebx + 0x525b04c4]
xor edx, 0x19b1
jmp 0x409270
and edx, 0x638b
jmp 0x40927f
pop edx
mov dword [ebp - 0x774], 0
mov edx, dword [ebp - 0x324]
mov dword [ebp - 0x1610], edx
cmp dword [ebp - 0x1610], 0
jne 0x4092b0
mov eax, dword [ebp - 0x774]
mov dword [ebp - 0x514], eax
jmp 0x4095a1
mov ecx, dword [ebp - 0x1610]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1614], edx
jne 0x4092d8
mov eax, dword [ebp - 0x774]
mov dword [ebp - 0x514], eax
jmp 0x4095a1
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x1614]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1618], ecx
cmp dword [ebp - 0x1618], 0
jne 0x40930a
mov edx, dword [ebp - 0x774]
mov dword [ebp - 0x514], edx
jmp 0x4095a1
mov eax, dword [ebp - 0x324]
add eax, dword [ebp - 0x1618]
mov dword [ebp - 0x768], eax
jne 0x40932f
mov ecx, dword [ebp - 0x774]
mov dword [ebp - 0x514], ecx
jmp 0x4095a1
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x19b8], eax
mov ecx, dword [ebp - 0x768]
mov edx, dword [ebp - 0x324]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x19bc], edx
mov eax, dword [ebp - 0x768]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x19c0], ecx
mov dword [ebp - 0x76c], 0
jmp 0x409389
mov edx, dword [ebp - 0x76c]
add edx, 1
mov dword [ebp - 0x76c], edx
mov eax, dword [ebp - 0x768]
mov ecx, dword [ebp - 0x76c]
cmp ecx, dword [eax + 0x18]
jae 0x409595
mov edx, dword [ebp - 0x76c]
mov eax, dword [ebp - 0x19b8]
mov ecx, dword [ebp - 0x324]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x770], ecx
mov edx, dword [ebp - 0x76c]
mov eax, dword [ebp - 0x19bc]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x19c0]
mov eax, dword [ebp - 0x324]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x1d48], eax
mov dword [ebp - 0x198], 0
jmp 0x4093f9
mov ecx, dword [ebp - 0x198]
add ecx, 1
mov dword [ebp - 0x198], ecx
mov edx, dword [ebp - 0x770]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
test eax, eax
je 0x4094ab
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x87c]
test edx, edx
je 0x4094ab
push edi
push eax
add esp, 4
sub edi, 0xc2ba
pop edi
push edx
push esi
add esp, 4
sub edx, 0x11d3c
add edx, 0x16d07
sub edx, 0xe190
pop edx
push edi
add edi, 0x10841
xor edi, 0xee0a
pop edi
mov eax, dword [ebp - 0x770]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x87c]
cmp ecx, eax
je 0x40949d
mov ecx, dword [ebp - 0x770]
add ecx, dword [ebp - 0x198]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x198]
movsx ecx, byte [ebp + eax - 0x87c]
cmp edx, ecx
jne 0x4094a4
jmp 0x4093ea
jmp 0x4094ab
push edi
or edi, 0x5113
or edi, 0xa54d
add edi, 0x7467
pop edi
push eax
push edi
add esp, 4
or eax, 0x7c6e
pop eax
push esi
push ecx
add esp, 4
sub esi, 0x14258
jmp 0x4094dc
pop esi
mov edx, dword [ebp - 0x770]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x87c]
cmp eax, edx
jne 0x40950a
mov dword [ebp - 0xcbc], 0
jmp 0x409579
push eax
sub eax, 0xaff2
and eax, 0x14920
and eax, 0x1303c
pop eax
push edi
sub edi, 0x2743
pop edi
push edi
sub edi, 0x10410
jmp 0x409535
xor edi, 0x101ba
pop edi
mov eax, dword [ebp - 0x770]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x87c]
or eax, 0x20
cmp ecx, eax
jge 0x40956f
mov dword [ebp - 0xcbc], 0xffffffff
jmp 0x409579
mov dword [ebp - 0xcbc], 1
cmp dword [ebp - 0xcbc], 0
jne 0x409590
mov ecx, dword [ebp - 0x1d48]
mov dword [ebp - 0x514], ecx
jmp 0x4095a1
jmp 0x40937a
mov edx, dword [ebp - 0x774]
mov dword [ebp - 0x514], edx
mov eax, dword [ebp - 0x514]
mov dword [ebp - 0x7a0], eax
push eax
jmp 0x4095b4
pop eax
push edx
call 0x4095c4
add byte [ecx], bh
aaa
dec ebx
cmp dword [ecx*2 - 0x3b7cc7c6], esi
add al, 0x5a
push edi
push edx
add esp, 4
xor edi, 0x41d7
xor edi, 0xbf68
jmp 0x4095de
pop edi
mov ecx, dword [ebp - 0x3e4]
add ecx, 0xe
mov dword [ebp - 0x1a10], ecx
push edx
push esi
add esp, 4
jmp 0x4095f8
pop edx
push ecx
push eax
add esp, 4
sub ecx, 0x16b8a
pop ecx
push ebx
call 0x409614
add byte [edx + 0x43], al
dec eax
aaa
inc esp
inc eax
inc ebp
xor eax, 0x5b04c483
push edi
or edi, 0x8fa7
pop edi
cmp dword [ebp - 0x3e4], 0
je 0x409632
cmp dword [ebp - 0xac4], 0
jne 0x409678
push edx
sub edx, 0x1792a
call 0x409648
add byte [ecx*2 + 0x4040453a], dh
cmp byte [esi + 0x43], cl
add esp, 4
pop edx
push edi
xor edi, 0x276f
jmp 0x40965b
jmp 0x409663
pop edi
mov edx, dword [ebp - 0x7a0]
mov dword [ebp - 0x19c4], edx
push 0
call dword [ebp - 0x19c4]
mov dword [ebp - 0x20dc], 0xa
push esi
and esi, 0x57a1
pop esi
push edx
push ebx
add esp, 4
add edx, 0xa00e
call 0x4096a4
add byte [eax], bh
inc ecx
cmp al, 0x38
push eax
dec esp
cmp cl, byte [ebx + 0x48]
add esp, 4
and edx, 0x160ac
add edx, 0xe8a5
pop edx
mov eax, dword [ebp - 0x3e4]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x3ed], cl
mov edx, dword [ebp - 0xac4]
sub edx, dword [ebp - 0x3e4]
mov dword [ebp - 0x169c], edx
mov dword [ebp - 0xcec], 0
push edi
or edi, 0xb0e1
pop edi
push edi
push esi
add esp, 4
and edi, 0xd818
add edi, 0x9645
call 0x409707
add byte [ecx + 0x46], al
dec esp
cmp cl, byte [edx + esi + 0x3b]
cmp ecx, dword [ebx - 0x7d]
les eax, [ecx + eax*4]
out dx, eax
rcl byte [ebp - 0x39a10000], 0x85
sub dh, dh
invalid