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

Disassembly:
add esp, 4
pop ecx
mov eax, dword [ebp - 0x6c]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x88], ecx
push esi
xor esi, 0x32cf
add esi, 0xd48c
xor esi, 0x8451
pop esi
push edi
and edi, 0x29f5
xor edi, 0xe39e
call 0x408baa
add byte [esi + 0x3c], al
dec esi
dec edi
cmp eax, 0x4c4833c
pop edi
mov dword [ebp - 0x138], 0
push ecx
push eax
add esp, 4
and ecx, 0x96f7
sub ecx, 0x9b53
sub ecx, 0x1113b
pop ecx
push ebx
sub ebx, 0x4c64
or ebx, 0xe24b
pop ebx
push edx
push ebx
add esp, 4
xor edx, 0x11e2e
pop edx
mov edx, dword [ebp - 0x88]
mov dword [ebp - 0x2c4], edx
cmp dword [ebp - 0x2c4], 0
jne 0x408c42
push ecx
xor ecx, 0xe572
add ecx, 0x898f
sub ecx, 0x4924
xor ecx, 0x510
pop ecx
push eax
push esi
add esp, 4
xor eax, 0x125a2
and eax, 0xb7c8
xor eax, 0x153d3
pop eax
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x9c], eax
jmp 0x409131
mov ecx, dword [ebp - 0x2c4]
mov edx, dword [ebp - 0x88]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x2c8], edx
jne 0x408c6a
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x9c], eax
jmp 0x409131
push ecx
add ecx, 0xa103
jmp 0x408c7a
and ecx, 0x5190
pop ecx
push eax
and eax, 0x676e
jmp 0x408c8f
sub eax, 0xf272
and eax, 0x17c30
pop eax
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x2c8]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x2cc], ecx
cmp dword [ebp - 0x2cc], 0
jne 0x408d00
push eax
push esi
add esp, 4
sub eax, 0xf2af
xor eax, 0xb775
jmp 0x408cd6
pop eax
push ecx
push ecx
add esp, 4
jmp 0x408ce2
and ecx, 0x99be
xor ecx, 0x9c8f
pop ecx
mov edx, dword [ebp - 0x138]
mov dword [ebp - 0x9c], edx
jmp 0x409131
push esi
or esi, 0x6319
pop esi
push ebx
push ebx
add esp, 4
add ebx, 0x14373
call 0x408d22
add byte [eax + 0x37], dl
dec ecx
dec esp
cmp byte [eax + 0x46], dl
inc esp
add esp, 4
and ebx, 0x478
or ebx, 0x8e4e
pop ebx
mov eax, dword [ebp - 0x88]
add eax, dword [ebp - 0x2cc]
mov dword [ebp - 0x12c], eax
jne 0x408d89
push eax
push esi
add esp, 4
or eax, 0x13533
add eax, 0xb9b9
or eax, 0x155e2
jmp 0x408d65
pop eax
push edx
push ebx
add esp, 4
xor edx, 0x176f3
or edx, 0xc739
pop edx
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 0x9c], ecx
jmp 0x409131
mov edx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x88]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x3e0], eax
push ecx
add ecx, 0x1278a
add ecx, 0x3438
pop ecx
push esi
push esi
add esp, 4
call 0x408dbe
add byte [ebx], dh
xor cl, byte [edi + 0x3a]
push eax
dec edx
add esp, 4
or esi, 0x36d1
pop esi
push esi
and esi, 0x5d6
pop esi
mov ecx, dword [ebp - 0x12c]
mov edx, dword [ebp - 0x88]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x3e4], edx
push edx
push ecx
add esp, 4
xor edx, 0x13183
and edx, 0xeb03
pop edx
push eax
push esi
add esp, 4
add eax, 0x8e0
jmp 0x408e0a
and eax, 0x1170e
sub eax, 0x1619f
pop eax
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x88]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x3e8], ecx
mov dword [ebp - 0x130], 0
jmp 0x408e47
mov edx, dword [ebp - 0x130]
add edx, 1
mov dword [ebp - 0x130], edx
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x130]
cmp ecx, dword [eax + 0x18]
jae 0x409125
push eax
sub eax, 0x15f9
xor eax, 0x15799
sub eax, 0x479c
pop eax
push edx
push edx
add esp, 4
and edx, 0x14766
and edx, 0x109bf
and edx, 0xcff8
sub edx, 0x162da
pop edx
mov edx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x3e0]
mov ecx, dword [ebp - 0x88]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x134], ecx
push ebx
push eax
add esp, 4
add ebx, 0x2e1c
or ebx, 0xc104
pop ebx
push edx
push esi
add esp, 4
add edx, 0xe3a3
xor edx, 0xb268
and edx, 0xd17
jmp 0x408eda
pop edx
mov edx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x3e4]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x3e8]
mov eax, dword [ebp - 0x88]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x3ec], eax
push ebx
push edi
add esp, 4
or ebx, 0x72a5
or ebx, 0xc0ba
xor ebx, 0xa9a4
or ebx, 0x131fa
pop ebx
push eax
and eax, 0xffe4
and eax, 0xebb4
and eax, 0x1714c
pop eax
mov dword [ebp - 0x30], 0
jmp 0x408f44
mov ecx, dword [ebp - 0x30]
add ecx, 1
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x134]
add edx, dword [ebp - 0x30]
movsx eax, byte [edx]
test eax, eax
je 0x408fe0
mov ecx, dword [ebp - 0x30]
movsx edx, byte [ebp + ecx - 0x198]
test edx, edx
je 0x408fe0
push edx
push ebx
add esp, 4
jmp 0x408f75
pop edx
push esi
call 0x408f83
add byte [ebp + 0x36], al
cmp edi, dword [esi]
xor cl, byte [ebp - 0x7d]
les eax, [ecx + eax*4]
mov byte [edx - 6], 0
add byte [esi + 0x50], bl
push edi
add esp, 4
xor eax, 0xe379
pop eax
mov eax, dword [ebp - 0x134]
add eax, dword [ebp - 0x30]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x30]
movsx eax, byte [ebp + edx - 0x198]
cmp ecx, eax
je 0x408fd2
mov ecx, dword [ebp - 0x134]
add ecx, dword [ebp - 0x30]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x30]
movsx ecx, byte [ebp + eax - 0x198]
cmp edx, ecx
jne 0x408fd9
jmp 0x408f3b
jmp 0x408fe0
push ecx
jmp 0x408fe6
sub ecx, 0xa923
and ecx, 0xc8f3
pop ecx
push esi
xor esi, 0xed16
add esi, 0x129ab
call 0x40900e
add byte [ecx], bh
cmp byte [edx + 0x3d], cl
aaa
inc edi
inc esp
aas
add esp, 4
pop esi
mov edx, dword [ebp - 0x134]
add edx, dword [ebp - 0x30]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x30]
movsx edx, byte [ebp + ecx - 0x198]
cmp eax, edx
jne 0x40903c
invalid
mov dword [ebp - 0x20c], 0
jmp 0x4090d7
push ebx
push eax
add esp, 4
or ebx, 0x3d5b
jmp 0x409050
call 0x40905c
add byte [ecx], bh
dec eax
dec edx
cmp eax, 0xc4834147
add al, 0x81
jecxz 0x409016
stosb byte es:[edi], al
add byte [eax], al
pop ebx
push ecx
xor ecx, 0x6158
pop ecx
mov eax, dword [ebp - 0x134]
add eax, dword [ebp - 0x30]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x30]
movsx eax, byte [ebp + edx - 0x198]
or eax, 0x20
cmp ecx, eax
jge 0x40909b
mov dword [ebp - 0x20c], 0xffffffff
jmp 0x4090d7
push ecx
push ecx
add esp, 4
xor ecx, 0xc110
pop ecx
push esi
push ecx
add esp, 4
sub esi, 0xf4de
call 0x4090c0
add byte [edi + 0x42], cl
cmp al, 0x34
dec edx
inc ecx
cmp dword [0xeb04c483], esi
pop es
inc esp
inc edx
inc eax
xor al, 0x3e
cmp dword [ebx], edi
pop esi
mov dword [ebp - 0x20c], 1
cmp dword [ebp - 0x20c], 0
jne 0x409120
push edx
push ebx
add esp, 4
or edx, 0x60e8
and edx, 0x98e7
pop edx
push ebx
push ecx
add esp, 4
jmp 0x4090ff
or ebx, 0x17ee8
or ebx, 0xea14
sub ebx, 0x8c25
pop ebx
mov ecx, dword [ebp - 0x3ec]
mov dword [ebp - 0x9c], ecx
jmp 0x409131
jmp 0x408e38
mov edx, dword [ebp - 0x138]
mov dword [ebp - 0x9c], edx
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x1b4], eax