Function at 0x40849e
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov dword [ebp - 0x17a0], edx
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
or ebx, 0xea42
pop ebx
push eax
xor eax, 0x1840d
or eax, 0x5b93
call 0x4080ee
add byte [eax + 0x46], al
cmp dword [ebp + 0x4f], eax
xor bh, byte [edi]
cmp eax, 0x5804c483
push ecx
push esi
add esp, 4
jmp 0x4080fc
pop ecx
mov byte [ebp - 0x8bc], 0x4c
mov byte [ebp - 0x8bb], 0x6f
mov byte [ebp - 0x8ba], 0x61
mov byte [ebp - 0x8b9], 0x64
mov byte [ebp - 0x8b8], 0x4c
mov byte [ebp - 0x8b7], 0x69
mov byte [ebp - 0x8b6], 0x62
mov byte [ebp - 0x8b5], 0x72
mov byte [ebp - 0x8b4], 0x61
mov byte [ebp - 0x8b3], 0x72
mov byte [ebp - 0x8b2], 0x79
mov byte [ebp - 0x8b1], 0x57
mov byte [ebp - 0x8b0], 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 - 0x1604], eax
push esi
and esi, 0x1645c
add esi, 0x32e7
add esi, 0x1749
pop esi
push esi
push edx
add esp, 4
and esi, 0x6c36
jmp 0x4081a4
sub esi, 0x702d
and esi, 0x17641
pop esi
cmp dword [ebp - 0x1604], 0
jne 0x4081c9
mov dword [ebp - 0x760], 0
jmp 0x408470
mov ecx, dword [ebp - 0x1604]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcc0], eax
push esi
push ebx
add esp, 4
sub esi, 0x3698
add esi, 0xc5d6
pop esi
push ebx
push edx
add esp, 4
sub ebx, 0x73fb
add ebx, 0x798d
pop ebx
push esi
jmp 0x408206
and esi, 0xd769
pop esi
cmp dword [ebp - 0xcc0], 0
jne 0x408225
mov dword [ebp - 0x760], 0
jmp 0x408470
mov ecx, dword [ebp - 0xcc0]
mov dword [ebp - 0x454], ecx
push ebx
push ecx
add esp, 4
call 0x408245
add byte [ecx + edi + 0x36], al
cmp eax, 0x3b36334b
cmp byte [ebx - 0x3c7efb3c], al
js 0x408290
add byte [eax], al
call 0x40825a
add byte [ebx], bh
cmp dword [eax + 0x44], eax
inc eax
dec esi
add esp, 4
jmp 0x408262
pop ebx
lea edx, [ebp - 0x17ac]
mov dword [ebp - 0xcbc], edx
mov eax, dword [ebp - 0x454]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcb8], ecx
xor edx, edx
mov word [ebp - 0x1c0], dx
xor eax, eax
mov word [ebp - 0x2c], ax
push edi
push eax
add esp, 4
jmp 0x408299
les eax, [ebx + ebp*8]
add eax, 0x423c4538
aas
pop edi
push eax
push ecx
add esp, 4
and eax, 0x1302c
add eax, 0x16808
call 0x4082bb
add byte [eax], bh
dec edi
cmp dword [edi], edi
inc ebx
aaa
inc esi
cmp ecx, dword [ebp - 0x7d]
les eax, [eax + ebx*2]
mov ecx, dword [ebp - 0xcb8]
mov dx, word [ecx]
mov word [ebp - 0x104a], dx
mov eax, dword [ebp - 0xcb8]
add eax, 2
mov dword [ebp - 0xcb8], eax
mov cx, word [ebp - 0x104a]
mov word [ebp - 0x1c0], cx
mov edx, dword [ebp - 0xcbc]
mov ax, word [edx]
mov word [ebp - 0x104c], ax
mov ecx, dword [ebp - 0xcbc]
add ecx, 2
mov dword [ebp - 0xcbc], ecx
mov dx, word [ebp - 0x104c]
mov word [ebp - 0x2c], dx
push edi
xor edi, 0xa4bf
or edi, 0x11e3d
call 0x408333
add byte [esp + eax*2 + 0x4f], al
inc ebp
dec ecx
cmp al, 0x3e
cmp eax, dword [eax + 0x33]
add esp, 4
jmp 0x40833b
pop edi
push edx
push edx
add esp, 4
or edx, 0x7ca2
pop edx
movzx eax, word [ebp - 0x2c]
test eax, eax
jne 0x408365
movzx ecx, word [ebp - 0x1c0]
movzx edx, word [ebp - 0x2c]
sub ecx, edx
mov dword [ebp - 0x160c], ecx
jmp 0x4083bf
movzx eax, word [ebp - 0x1c0]
movzx ecx, word [ebp - 0x2c]
cmp eax, ecx
je 0x40828d
movzx edx, word [ebp - 0x1c0]
xor edx, 0x20
movzx eax, word [ebp - 0x2c]
cmp edx, eax
je 0x40828d
movzx ecx, word [ebp - 0x1c0]
movzx edx, word [ebp - 0x2c]
cmp ecx, edx
jge 0x4083a9
mov dword [ebp - 0x1608], 0xffffffff
jmp 0x4083b3
mov dword [ebp - 0x1608], 1
mov eax, dword [ebp - 0x1608]
mov dword [ebp - 0x160c], eax
cmp dword [ebp - 0x160c], 0
jne 0x408408
push ecx
sub ecx, 0xd969
pop ecx
push ecx
push ecx
add esp, 4
call 0x4083e5
add byte [edx], dh
dec ebx
cmp bh, byte [esp + eax*2]
xor eax, 0x40394643
add esp, 4
and ecx, 0xe406
sub ecx, 0x17620
jmp 0x4083f9
pop ecx
mov ecx, dword [ebp - 0x454]
mov dword [ebp - 0x760], ecx
jmp 0x408470
push ecx
xor ecx, 0x5053
call 0x40841b
add byte [eax + 0x3e], al
xor eax, dword [esi + 0x43]
cmp eax, 0x5904c483
push ecx
push edx
add esp, 4
sub ecx, 0x3820
pop ecx
push edi
sub edi, 0x110df
jmp 0x408439
pop edi
mov edx, dword [ebp - 0x454]
mov eax, dword [edx]
mov dword [ebp - 0x454], eax
mov ecx, dword [ebp - 0x454]
cmp ecx, dword [ebp - 0xcc0]
je 0x408466
mov edx, dword [ebp - 0x454]
cmp dword [edx + 0x30], 0
jne 0x408231
mov dword [ebp - 0x760], 0
push esi
push esi
add esp, 4
and esi, 0x3dfe
call 0x40848b
add byte [esi + eax*2 + 0x43], al
xor eax, dword [eax + 0x3c]
inc edi
xor bh, byte [edi]
xor eax, dword [ebx + 0x535e04c4]
call 0x40849e
add byte [esi], dh
dec ebx
push eax
inc ebx
xor al, byte [ebx + 0x38]
dec ebx
add esp, 4
pop ebx
cmp dword [ebp - 0x760], 0
jne 0x4084ec
push edi
push edi
add esp, 4
sub edi, 0xace8
add edi, 0x94f9
and edi, 0x17951
add edi, 0xe380
pop edi
push edi
push esi
add esp, 4
jmp 0x4084d6
or edi, 0x58e5
pop edi
mov dword [ebp - 0x7ac], 0
jmp 0x409013
push eax
push esi
add esp, 4
add eax, 0x10bbb
pop eax
push edx
push ecx
add esp, 4
or edx, 0x4045
xor edx, 0xa187
jmp 0x408511
pop edx
push edi
push ecx
add esp, 4
or edi, 0x3547
pop edi
mov eax, dword [ebp - 0x760]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x394], ecx
mov dword [ebp - 0x770], 0
mov edx, dword [ebp - 0x394]
mov dword [ebp - 0x1610], edx
cmp dword [ebp - 0x1610], 0
jne 0x40855d
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x410], eax
jmp 0x40884e
mov ecx, dword [ebp - 0x1610]
mov edx, dword [ebp - 0x394]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1614], edx
jne 0x408585
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x410], eax
jmp 0x40884e
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 0x4085b7
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x410], edx
jmp 0x40884e
mov eax, dword [ebp - 0x394]
add eax, dword [ebp - 0x1618]
mov dword [ebp - 0x764], eax
jne 0x4085dc
mov ecx, dword [ebp - 0x770]
mov dword [ebp - 0x410], ecx
jmp 0x40884e
mov edx, dword [ebp - 0x764]
mov eax, dword [ebp - 0x394]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x1998], eax
mov ecx, dword [ebp - 0x764]
mov edx, dword [ebp - 0x394]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x199c], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x394]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x19a0], ecx
mov dword [ebp - 0x768], 0
jmp 0x408636
mov edx, dword [ebp - 0x768]
add edx, 1
mov dword [ebp - 0x768], edx
mov eax, dword [ebp - 0x764]
mov ecx, dword [ebp - 0x768]
cmp ecx, dword [eax + 0x18]
jae 0x408842
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x1998]
mov ecx, dword [ebp - 0x394]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x76c], ecx
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x199c]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x19a0]
mov eax, dword [ebp - 0x394]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x19a4], eax
mov dword [ebp - 0x160], 0
jmp 0x4086a6
mov ecx, dword [ebp - 0x160]
add ecx, 1
mov dword [ebp - 0x160], ecx
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x160]
movsx eax, byte [edx]
test eax, eax
je 0x408758
mov ecx, dword [ebp - 0x160]
movsx edx, byte [ebp + ecx - 0x8bc]
test edx, edx
je 0x408758
push esi
push eax
add esp, 4
and esi, 0x69b8
sub esi, 0x6ea6
xor esi, 0xafa8
pop esi
push eax
add eax, 0xd76f
and eax, 0x13602
or eax, 0x54
xor eax, 0xd38d
pop eax
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x160]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x160]
movsx eax, byte [ebp + edx - 0x8bc]
cmp ecx, eax
je 0x40874a
mov ecx, dword [ebp - 0x76c]
add ecx, dword [ebp - 0x160]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x160]
movsx ecx, byte [ebp + eax - 0x8bc]
cmp edx, ecx
jne 0x408751
jmp 0x408697
jmp 0x408758
push edi
call 0x408765
add byte [esi], dh
cmp cl, byte [ecx + 0x42]
inc edx
cmp byte [ebx + 0x515f04c4], al
push ebx
add esp, 4
and ecx, 0xf25d
and ecx, 0x2c3a
xor ecx, 0x2346
jmp 0x408789
pop ecx
mov edx, dword [ebp - 0x76c]
add edx, dword [ebp - 0x160]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x160]
movsx edx, byte [ebp + ecx - 0x8bc]
cmp eax, edx
jne 0x4087b7
mov dword [ebp - 0xcc4], 0
jmp 0x408826
push ebx
push ecx
add esp, 4
and ebx, 0x18509
xor ebx, 0xedf5
pop ebx
push ebx
push ecx
add esp, 4
xor ebx, 0x12952
add ebx, 0x14e74
and ebx, 0x14e4a
pop ebx
push edi
add edi, 0x782
pop edi
mov eax, dword [ebp - 0x76c]
add eax, dword [ebp - 0x160]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x160]
movsx eax, byte [ebp + edx - 0x8bc]
or eax, 0x20
cmp ecx, eax
jge 0x40881c
mov dword [ebp - 0xcc4], 0xffffffff
jmp 0x408826
mov dword [ebp - 0xcc4], 1
cmp dword [ebp - 0xcc4], 0
jne 0x40883d
mov ecx, dword [ebp - 0x19a4]
mov dword [ebp - 0x410], ecx
jmp 0x40884e
jmp 0x408627
mov edx, dword [ebp - 0x770]
mov dword [ebp - 0x410], edx
cmp dword [ebp - 0x410], 0
je 0x408929
push edi
xor edi, 0x33a
sub edi, 0x1555d
jmp 0x40886f
pop edi
push edi
sub edi, 0x90b1
call 0x408883
add byte [esi], bh
cmp eax, dword [edi + 0x4e]
cmp al, 0x83
les eax, [ecx + eax*4]
out dx, eax
and eax, 0x5f000057
mov eax, dword [ebp - 0x410]
mov dword [ebp - 0x19a8], eax
push ebx
push eax
add esp, 4
and ebx, 0x2ec8
sub ebx, 0x111c7
sub ebx, 0x3a9a
pop ebx
push eax
jmp 0x4088bb
call 0x4088c7
add byte [ebx + 0x49], al
inc eax
cmp dword [eax + 0x35], edx
add esp, 4
pop eax
mov ecx, dword [ebp - 0x19a8]
mov dword [ebp - 0x19ac], ecx
lea edx, [ebp - 0x1770]
push edx
call dword [ebp - 0x19ac]
test eax, eax
jne 0x408929
push edx
push edi
add esp, 4
and edx, 0x13286
sub edx, 0x10fba
xor edx, 0x15d1
pop edx
push edi
sub edi, 0xa3bd
or edi, 0x14b93
or edi, 0x162e6
add edi, 0x4995
pop edi
mov dword [ebp - 0x7ac], 0
jmp 0x409013
push ebx
or ebx, 0xbf77
and ebx, 0x899d
call 0x408943
add byte [edi], dh
aas
cmp eax, 0x50353f47
add esp, 4
pop ebx
push edi
push esi
add esp, 4
add edi, 0x82be
jmp 0x40895a
pop edi
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 - 0x161c], eax
push edi
push eax
add esp, 4
and edi, 0xdb0c
or edi, 0xbc7d
jmp 0x40899c
pop edi
push edx
jmp 0x4089a5
or edx, 0x7640
pop edx
push edi
add edi, 0x82fb
pop edi
cmp dword [ebp - 0x161c], 0
jne 0x4089cc
mov dword [ebp - 0x2f8], 0
jmp 0x408c73
mov ecx, dword [ebp - 0x161c]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcd0], eax
push eax
or eax, 0xdaac
add eax, 0x13207
pop eax
push edi
push esi
add esp, 4
and edi, 0xe96d
pop edi
push edi
push ecx
add esp, 4
and edi, 0xec7e
pop edi
push esi
push ebx
add esp, 4
or esi, 0xbb9d
pop esi
cmp dword [ebp - 0xcd0], 0
jne 0x408a28
mov dword [ebp - 0x2f8], 0
jmp 0x408c73
mov ecx, dword [ebp - 0xcd0]
mov dword [ebp - 0x450], ecx
push edi
push eax
add esp, 4
jmp 0x408a42
and edi, 0xf159
pop edi
push edi
push eax
add esp, 4
sub edi, 0xafbb
xor edi, 0xf2bf
and edi, 0x1137f
jmp 0x408a65
pop edi
lea edx, [ebp - 0x1770]
mov dword [ebp - 0xccc], edx
mov eax, dword [ebp - 0x450]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcc8], ecx
xor edx, edx
mov word [ebp - 0x1c4], dx
xor eax, eax
mov word [ebp - 0x30], ax
push ebx
push eax
add esp, 4
sub ebx, 0xfa4a
xor ebx, 0x178a9
xor ebx, 0x37cc
pop ebx
push edi
or edi, 0x6820
sub edi, 0xef8b
add edi, 0x8b52
add edi, 0x9fcf
pop edi
mov ecx, dword [ebp - 0xcc8]
mov dx, word [ecx]
mov word [ebp - 0x104e], dx
mov eax, dword [ebp - 0xcc8]
add eax, 2
mov dword [ebp - 0xcc8], eax
mov cx, word [ebp - 0x104e]
mov word [ebp - 0x1c4], cx
mov edx, dword [ebp - 0xccc]
mov ax, word [edx]
mov word [ebp - 0x1064], ax
mov ecx, dword [ebp - 0xccc]
add ecx, 2
mov dword [ebp - 0xccc], ecx
mov dx, word [ebp - 0x1064]
mov word [ebp - 0x30], dx
push eax
push edx
add esp, 4
add eax, 0x92b6
pop eax
push edx
push esi
add esp, 4
and edx, 0xb408
and edx, 0x5e90
pop edx
push ecx
xor ecx, 0x1133d
or ecx, 0xf4f7
sub ecx, 0x1000
pop ecx
movzx eax, word [ebp - 0x30]
test eax, eax
jne 0x408b68
movzx ecx, word [ebp - 0x1c4]
movzx edx, word [ebp - 0x30]
sub ecx, edx
mov dword [ebp - 0x1624], ecx
jmp 0x408bc2
movzx eax, word [ebp - 0x1c4]
movzx ecx, word [ebp - 0x30]
cmp eax, ecx
je 0x408a90
movzx edx, word [ebp - 0x1c4]
xor edx, 0x20
movzx eax, word [ebp - 0x30]
cmp edx, eax
je 0x408a90
movzx ecx, word [ebp - 0x1c4]
movzx edx, word [ebp - 0x30]
cmp ecx, edx
jge 0x408bac
mov dword [ebp - 0x1620], 0xffffffff
jmp 0x408bb6
mov dword [ebp - 0x1620], 1
mov eax, dword [ebp - 0x1620]
mov dword [ebp - 0x1624], eax
cmp dword [ebp - 0x1624], 0
jne 0x408c0b
push eax
push ebx
add esp, 4
add eax, 0x7335
call 0x408be2
add byte [ebx], dh
inc edi
dec ebp
aaa
inc eax
aas
add esp, 4
pop eax
push eax
call 0x408bf3
add byte [ebp + 0x44], cl
dec esi
inc ebp
inc ecx
inc esi
add esp, 4
add eax, 0x1814e
pop eax
mov ecx, dword [ebp - 0x450]
mov dword [ebp - 0x2f8], ecx
jmp 0x408c73
push esi
sub esi, 0x384d
or esi, 0x116a8
and esi, 0xab8e
pop esi
push ebx
push edi
add esp, 4
jmp 0x408c2a
pop ebx
push ebx
push esi
add esp, 4
xor ebx, 0x107d8
add ebx, 0x1278
pop ebx
mov edx, dword [ebp - 0x450]
mov eax, dword [edx]
mov dword [ebp - 0x450], eax
mov ecx, dword [ebp - 0x450]
cmp ecx, dword [ebp - 0xcd0]
je 0x408c69
mov edx, dword [ebp - 0x450]
cmp dword [edx + 0x30], 0
jne 0x408a34
mov dword [ebp - 0x2f8], 0
push ebx
push ecx
add esp, 4
call 0x408c85
add byte [0x504f4837], bh
inc ebx
cmp al, byte [ebx + 0x565b04c4]
push edx
add esp, 4
xor esi, 0x60b8
jmp 0x408c9b
jmp 0x408ca4
pop esi
mov eax, dword [ebp - 0x2f8]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x398], ecx
push edi
sub edi, 0x9ec1
call 0x408cc9
add byte [ebp + ecx*2 + 0x3a], al
dec esi
inc eax
aaa
inc esp
add esp, 4
pop edi
push ecx
push ebx
add esp, 4
jmp 0x408cd9
xor ecx, 0xc8a1
or ecx, 0x181dc
pop ecx
mov dword [ebp - 0x780], 0
mov edx, dword [ebp - 0x398]
mov dword [ebp - 0x1628], edx
cmp dword [ebp - 0x1628], 0
jne 0x408d16
mov eax, dword [ebp - 0x780]
mov dword [ebp - 0x44c], eax
jmp 0x409007
mov ecx, dword [ebp - 0x1628]
mov edx, dword [ebp - 0x398]
invalid
inc dword [ebx]
push ecx
cmp al, 0x89
xchg ebp, eax
aam 0xe9
invalid
push dword [ebp + 0x11]
invalid
invalid
invalid