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

Disassembly:
add esp, 4
pop eax
cmp dword [ebp - 0xc68], 0
jne 0x4096e0
mov dword [ebp - 0x2a8], 0
jmp 0x40992b
mov edx, dword [ebp - 0xc68]
mov dword [ebp - 0x4ec], edx
push ecx
xor ecx, 0x9c99
or ecx, 0x1e94
pop ecx
push eax
push ebx
add esp, 4
and eax, 0x11e84
pop eax
push eax
push edx
add esp, 4
or eax, 0x1438f
or eax, 0x14ba3
sub eax, 0x17e3f
pop eax
lea eax, [ebp - 0x1628]
mov dword [ebp - 0xc64], eax
mov ecx, dword [ebp - 0x4ec]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc60], edx
xor eax, eax
mov word [ebp - 0x20c], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push edi
push ebx
add esp, 4
add edi, 0xc637
sub edi, 0xa018
pop edi
push ecx
jmp 0x409762
jmp 0x40976a
jmp 0x409772
jmp 0x409779
pop ecx
mov edx, dword [ebp - 0xc60]
mov ax, word [edx]
mov word [ebp - 0xf92], ax
mov ecx, dword [ebp - 0xc60]
add ecx, 2
mov dword [ebp - 0xc60], ecx
mov dx, word [ebp - 0xf92]
mov word [ebp - 0x20c], dx
mov eax, dword [ebp - 0xc64]
mov cx, word [eax]
mov word [ebp - 0xf94], cx
mov edx, dword [ebp - 0xc64]
add edx, 2
mov dword [ebp - 0xc64], edx
mov ax, word [ebp - 0xf94]
mov word [ebp - 0x40], ax
push edx
push esi
add esp, 4
and edx, 0x701c
sub edx, 0x7184
call 0x4097f0
add byte [esi], dh
cmp byte [ebp + 0x50], al
cmp eax, 0x83484f36
les eax, [eax + ebp*8]
pop es
add byte [eax], al
add byte [eax], al
inc esi
dec ecx
dec ebx
dec eax
dec eax
aas
add esp, 4
pop edx
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x409820
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x157c], edx
jmp 0x40987a
movzx ecx, word [ebp - 0x20c]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x409748
movzx eax, word [ebp - 0x20c]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x409748
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x409864
mov dword [ebp - 0x1578], 0xffffffff
jmp 0x40986e
mov dword [ebp - 0x1578], 1
mov ecx, dword [ebp - 0x1578]
mov dword [ebp - 0x157c], ecx
cmp dword [ebp - 0x157c], 0
jne 0x4098c3
push ecx
push esi
add esp, 4
add ecx, 0x11f0d
xor ecx, 0x168b9
add ecx, 0x11a56
xor ecx, 0x650c
pop ecx
push edx
and edx, 0x166a
and edx, 0xfd19
or edx, 0x3138
pop edx
mov edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x2a8], edx
jmp 0x40992b
push edi
and edi, 0xd279
xor edi, 0x178de
or edi, 0x43c3
pop edi
push edi
push esi
add esp, 4
add edi, 0xf53
or edi, 0xb5a4
xor edi, 0xb52b
or edi, 0x17330
pop edi
mov eax, dword [ebp - 0x4ec]
mov ecx, dword [eax]
mov dword [ebp - 0x4ec], ecx
mov edx, dword [ebp - 0x4ec]
cmp edx, dword [ebp - 0xc68]
je 0x409921
mov eax, dword [ebp - 0x4ec]
cmp dword [eax + 0x30], 0
jne 0x4096ec
mov dword [ebp - 0x2a8], 0
push esi
push edi
add esp, 4
or esi, 0x99ce
or esi, 0xca35
pop esi
push ebx
jmp 0x409944
add ebx, 0x1c37
pop ebx
push edi
push ebx
add esp, 4
or edi, 0x12edc
add edi, 0x11213
pop edi
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x304], edx
push ecx
push esi
add esp, 4
add ecx, 0x123a7
and ecx, 0x17c68
xor ecx, 0x3821
pop ecx
push edi
push edx
add esp, 4
add edi, 0x178a
pop edi
push edi
add edi, 0x17d2b
and edi, 0x147c3
pop edi
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1580], eax
cmp dword [ebp - 0x1580], 0
jne 0x4099ce
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x409cbf
mov edx, dword [ebp - 0x1580]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1584], eax
jne 0x4099f6
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x409cbf
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1584]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1588], edx
cmp dword [ebp - 0x1588], 0
jne 0x409a28
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
jmp 0x409cbf
mov ecx, dword [ebp - 0x304]
add ecx, dword [ebp - 0x1588]
mov dword [ebp - 0x724], ecx
jne 0x409a4d
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], edx
jmp 0x409cbf
mov eax, dword [ebp - 0x724]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1900], ecx
mov edx, dword [ebp - 0x724]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1904], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1908], edx
mov dword [ebp - 0x728], 0
jmp 0x409aa7
mov eax, dword [ebp - 0x728]
add eax, 1
mov dword [ebp - 0x728], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x728]
cmp edx, dword [ecx + 0x18]
jae 0x409cb3
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1900]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x72c], edx
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1904]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1908]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x190c], ecx
mov dword [ebp - 0x18c], 0
jmp 0x409b17
mov edx, dword [ebp - 0x18c]
add edx, 1
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x409bc9
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
test eax, eax
je 0x409bc9
push eax
add eax, 0x29c1
add eax, 0xc109
xor eax, 0x1426b
pop eax
push ebx
sub ebx, 0x12c4
or ebx, 0xd6bb
pop ebx
push esi
sub esi, 0xa1f6
pop esi
push esi
sub esi, 0x18512
pop esi
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
cmp edx, ecx
je 0x409bbb
mov edx, dword [ebp - 0x72c]
add edx, dword [ebp - 0x18c]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x18c]
movsx edx, byte [ebp + ecx - 0x960]
cmp eax, edx
jne 0x409bc2
jmp 0x409b08
jmp 0x409bc9
push eax
push esi
add esp, 4
xor eax, 0x12b31
or eax, 0xc4d8
pop eax
push esi
add esi, 0x43d7
sub esi, 0x1619c
or esi, 0x12e1a
pop esi
push edx
push esi
add esp, 4
and edx, 0xc700
pop edx
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
cmp ecx, eax
jne 0x409c28
mov dword [ebp - 0xc6c], 0
jmp 0x409c97
push ebx
xor ebx, 0x176c6
pop ebx
push edx
call 0x409c3f
add byte [eax + 0x41], dl
inc edi
dec esi
inc esp
xor al, byte ss:[ebx - 0x357efb3c]
invalid
cmp dword [ebp - 0xc6c], 0
jne 0x409cae
mov edx, dword [ebp - 0x190c]
mov dword [ebp - 0x4f0], edx
jmp 0x409cbf
jmp 0x409a98
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x4f0]
mov dword [ebp - 0xa58], ecx