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

Disassembly:
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xc2c], eax
push edi
call 0x408e3d
add byte [ebx], bh
dec esi
cmp byte [ebx + 0x3c], al
add esp, 4
add edi, 0x1614c
pop edi
push ecx
jmp 0x408e50
call 0x408e5e
add byte [edx + 0x32], al
cmp cl, byte [ebx + 0x42]
inc ebp
dec edx
inc esp
add esp, 4
pop ecx
cmp dword [ebp - 0xc2c], 0
jne 0x408e7a
mov dword [ebp - 0x6ec], 0
jmp 0x4090da
mov ecx, dword [ebp - 0xc2c]
mov dword [ebp - 0x4d8], ecx
push ecx
or ecx, 0x18a0
or ecx, 0x1a62
call 0x408ea0
add byte [eax + 0x3a], dl
cmp dh, byte [0x83414c4d]
les eax, [ecx + ebx*2]
push edi
add edi, 0x34d8
or edi, 0x849b
sub edi, 0x8300
pop edi
lea edx, [ebp - 0x16cc]
mov dword [ebp - 0xc28], edx
mov eax, dword [ebp - 0x4d8]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc24], ecx
xor edx, edx
mov word [ebp - 0x1fc], dx
xor eax, eax
mov word [ebp - 0x104], ax
push ebx
push ecx
add esp, 4
and ebx, 0x10bbb
pop ebx
push esi
jmp 0x408efa
xor esi, 0x17eb9
and esi, 0xf6a
pop esi
push esi
add esi, 0x17b56
pop esi
push edx
add edx, 0x14e91
pop edx
mov ecx, dword [ebp - 0xc24]
mov dx, word [ecx]
mov word [ebp - 0xf82], dx
mov eax, dword [ebp - 0xc24]
add eax, 2
mov dword [ebp - 0xc24], eax
mov cx, word [ebp - 0xf82]
mov word [ebp - 0x1fc], cx
mov edx, dword [ebp - 0xc28]
mov ax, word [edx]
mov word [ebp - 0xf84], ax
mov ecx, dword [ebp - 0xc28]
add ecx, 2
add cl, byte [ecx - 0xc2773]
jmp dword [esi - 0x75]
xchg ebp, eax
jl 0x408f58
invalid
jmp dword [esi - 0x77]
xchg ebp, eax
cld
invalid
invalid
call dword [esi + 0x52]
add esp, 4
add esi, 0x1359a
and esi, 0x7931
pop esi
push ebx
sub ebx, 0x10a74
pop ebx
push ebx
push esi
add esp, 4
and ebx, 0x7921
xor ebx, 0xdf03
add ebx, 0xfb55
pop ebx
movzx eax, word [ebp - 0x104]
test eax, eax
jne 0x408fc6
movzx ecx, word [ebp - 0x1fc]
movzx edx, word [ebp - 0x104]
sub ecx, edx
mov dword [ebp - 0x14e4], ecx
jmp 0x409029
movzx eax, word [ebp - 0x1fc]
movzx ecx, word [ebp - 0x104]
cmp eax, ecx
je 0x408ee5
movzx edx, word [ebp - 0x1fc]
xor edx, 0x20
movzx eax, word [ebp - 0x104]
cmp edx, eax
je 0x408ee5
movzx ecx, word [ebp - 0x1fc]
movzx edx, word [ebp - 0x104]
cmp ecx, edx
jge 0x409013
mov dword [ebp - 0x14e0], 0xffffffff
jmp 0x40901d
mov dword [ebp - 0x14e0], 1
mov eax, dword [ebp - 0x14e0]
mov dword [ebp - 0x14e4], eax
cmp dword [ebp - 0x14e4], 0
jne 0x409072
push edi
sub edi, 0xa63c
or edi, 0xe0fa
xor edi, 0x6b74
add edi, 0x5c28
pop edi
push esi
push esi
add esp, 4
or esi, 0x91a5
or esi, 0x1604b
xor esi, 0x2113
pop esi
mov ecx, dword [ebp - 0x4d8]
mov dword [ebp - 0x6ec], ecx
jmp 0x4090da
push ecx
push edx
add esp, 4
sub ecx, 0x9ac5
and ecx, 0x6cf1
or ecx, 0x11edc
pop ecx
push ecx
or ecx, 0xc9cf
and ecx, 0x1149e
sub ecx, 0x5ac
xor ecx, 0x2e89
pop ecx
mov edx, dword [ebp - 0x4d8]
mov eax, dword [edx]
mov dword [ebp - 0x4d8], eax
mov ecx, dword [ebp - 0x4d8]
cmp ecx, dword [ebp - 0xc2c]
je 0x4090d0
mov edx, dword [ebp - 0x4d8]
cmp dword [edx + 0x30], 0
jne 0x408e86
mov dword [ebp - 0x6ec], 0
push eax
add eax, 0xe33f
or eax, 0x12f40
pop eax
push ecx
jmp 0x4090f1
and ecx, 0x5d34
xor ecx, 0x601d
pop ecx
push ecx
xor ecx, 0x4dfc
add ecx, 0x14265
pop ecx
cmp dword [ebp - 0x6ec], 0
jne 0x409156
push ecx
push edi
add esp, 4
or ecx, 0x1b86
jmp 0x409128
or ecx, 0x37eb
pop ecx
push esi
push ebx
add esp, 4
or esi, 0xf125
and esi, 0x867e
add esi, 0x13e75
pop esi
mov dword [ebp - 0x738], 0
jmp 0x409c7d
push ecx
or ecx, 0x132b8
add ecx, 0x8968
jmp 0x409168
jmp 0x409171
pop ecx
push edi
add edi, 0x5b14
and edi, 0x68f7
pop edi
push edi
sub edi, 0xd6bf
pop edi
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 0x4091c7
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x4094b8
mov ecx, dword [ebp - 0x14e8]
mov edx, dword [ebp - 0x2f8]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x14ec], edx
jne 0x4091ef
mov eax, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], eax
jmp 0x4094b8
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 0x409221
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
jmp 0x4094b8
mov eax, dword [ebp - 0x2f8]
add eax, dword [ebp - 0x14f0]
mov dword [ebp - 0x6f0], eax
jne 0x409246
mov ecx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], ecx
jmp 0x4094b8
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 0x4092a0
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [ebp - 0x6f4]
cmp ecx, dword [eax + 0x18]
jae 0x4094ac
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 0x409310
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 0x4093c2
mov ecx, dword [ebp - 0x180]
movsx edx, byte [ebp + ecx - 0x820]
test edx, edx
je 0x4093c2
push esi
and esi, 0xe7ec
sub esi, 0x10eb0
sub esi, 0x432e
pop esi
push eax
push edi
add esp, 4
xor eax, 0x15df3
or eax, 0x1289
jmp 0x409368
sub eax, 0x6a8f
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 0x4093b4
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 0x4093bb
jmp 0x409301
jmp 0x4093c2
push ebx
and ebx, 0x556a
call 0x4093d7
add byte [edx], bh
dec ebp
inc esi
push eax
push eax
push eax
inc edx
add esp, 4
pop ebx
push ecx
sub ecx, 0xaef5
pop ecx
push ecx
call 0x4093f0
add byte [edx + edi], bh
xor cl, byte [edx + 0x50]
xor eax, dword [ebx - 0x74a6fb3c]
xchg ebp, eax
or cl, bh
invalid
mov edx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3c4], edx
cmp dword [ebp - 0x3c4], 0
je 0x409593
push edx
push ebx
add esp, 4
sub edx, 0x14458
or edx, 0x1f08
pop edx
push ebx
push edi
add esp, 4
or ebx, 0x60ae
or ebx, 0x122c8
pop ebx
push eax
sub eax, 0x18163
and eax, 0xffbf
pop eax
mov eax, dword [ebp - 0x3c4]
mov dword [ebp - 0x18b0], eax
push edi
push edi
add esp, 4
or edi, 0x178ee
and edi, 0x12539
pop edi
push ecx
push ecx
add esp, 4
sub ecx, 0xd55a
and ecx, 0x1834e
jmp 0x40952e
xor ecx, 0x4705
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 0x409593
push edi
jmp 0x409558
invalid
and edi, 0x182a0
jmp 0x409565
sub edi, 0x86a5
pop edi
push edx
push esi
add esp, 4
and edx, 0x15e78
xor edx, 0x13a7c
bnd jl 0x4095b5
add dword [eax], eax
sub edx, 0x15d76
pop edx
mov dword [ebp - 0x738], 0
jmp 0x409c7d
push es
add byte [eax], al
push edx
add edx, 0x17c17
add dword [eax], eax
xor edx, 0x69a8
pop edx
push ecx
push edx
add esp, 4
and ecx, 0x7806
jmp 0x4095b5
and ecx, 0x3e18
jmp 0x4095c4
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 edi
or edi, 0x12d65
pop edi
push esi
push eax
add esp, 4
add esi, 0x10c71
or esi, 0x138a5
call 0x409614
add byte [edi + 0x3c], cl
cmp dword [edi + 0x3c], ecx
cmp eax, 0x83413634
les eax, [ecx + eax*4]
into
or byte [ecx - 0x7ca20000], al
mov ebp, 0xffffeb0c
add byte [ebp + 0xf], dh
mov dword [ebp - 0x2e0], 0
jmp 0x4098dd
push edx
push esi
add esp, 4
and edx, 0xd5d4
or edx, 0x13bf8
and edx, 0x12b12
and edx, 0xdd95
pop edx
push edi
add edi, 0x1332a
sub edi, 0xbff4
sub edi, 0x2316
pop edi
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2fc], ecx
push edi
push ecx
add esp, 4
xor edi, 0x1295b
or edi, 0xfedb
pop edi
push edx
and edx, 0x9f05
xor edx, 0xcaf
pop edx
push ecx
push ebx
add esp, 4
or ecx, 0xc582
and ecx, 0x1179b
pop ecx
mov dword [ebp - 0x70c], 0
add byte [eax], al
mov edx, dword [ebp - 0x2fc]
mov dword [ebp - 0x1500], edx
cmp dword [ebp - 0x1500], 0
jne 0x409980
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x409c71
mov ecx, dword [ebp - 0x1500]
mov edx, dword [ebp - 0x2fc]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x1504], edx
jne 0x4099a8
mov eax, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], eax
jmp 0x409c71
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 0x4099da
mov edx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], edx
jmp 0x409c71
mov eax, dword [ebp - 0x2fc]
add eax, dword [ebp - 0x1508]
mov dword [ebp - 0x700], eax
jne 0x4099ff
mov ecx, dword [ebp - 0x70c]
mov dword [ebp - 0x4e0], ecx
jmp 0x409c71
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 0x409a59
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0x738], eax
push ebx
sub ebx, 0xa630
call 0x409c91
add byte [ecx + 0x50], al
dec eax
inc edx
inc ecx
dec ecx
aas
add esp, 4
xor ebx, 0xbf2e
sub ebx, 0xf679
pop ebx
push ecx
or ecx, 0x15bdc
or ecx, 0x1348d
pop ecx
mov ecx, dword [ebp - 0x3cc]
add ecx, 0xe
mov dword [ebp - 0x1918], ecx
push ecx
xor ecx, 0x11144
sub ecx, 0x1376
sub ecx, 0x12760
pop ecx
push ecx
push edi
add esp, 4
and ecx, 0x79a
or ecx, 0x3afe
sub ecx, 0x92b7
xor ecx, 0x83d1
pop ecx
cmp dword [ebp - 0x3cc], 0
je 0x409d02
cmp dword [ebp - 0xa5c], 0
jne 0x409d48
push ecx
add ecx, 0x1333
sub ecx, 0x2e66
sub ecx, 0x2ed7
pop ecx
push esi
push ecx
add esp, 4
xor esi, 0xe27d
sub esi, 0x402d
inc eax
add byte [eax], al
pop esi
push edi
push edi
add esp, 4
add edi, 0x8876
pop edi
mov edx, dword [ebp - 0x738]
mov dword [ebp - 0x18d0], edx
push 0
call dword [ebp - 0x18d0]
mov dword [ebp - 0x1fb0], 0xa
push ebx
push edx
add esp, 4
and ebx, 0xa94f
sub ebx, 0x1616f
call 0x409d72