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

Disassembly:
push eax
xor eax, 0x13591
and eax, 0x10a9c
add eax, 0x270
and eax, 0x152ee
pop eax
push edx
push eax
add esp, 4
add edx, 0x15cd4
add edx, 0x3358
or edx, 0x15216
pop edx
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 esi
push ebx
add esp, 4
sub esi, 0x19d4
add esi, 0x93e0
and esi, 0x12eaf
pop esi
push esi
sub esi, 0xbdd1
xor esi, 0x3eff
xor esi, 0x306e
sub esi, 0xbaca
pop esi
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x43979e
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x157c], edx
jmp 0x4397f8
movzx ecx, word [ebp - 0x20c]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x4396c6
movzx eax, word [ebp - 0x20c]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x4396c6
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x4397e2
mov dword [ebp - 0x1578], 0xffffffff
jmp 0x4397ec
mov dword [ebp - 0x1578], 1
mov ecx, dword [ebp - 0x1578]
mov dword [ebp - 0x157c], ecx
cmp dword [ebp - 0x157c], 0
jne 0x439841
push edi
or edi, 0x6149
xor edi, 0xd65c
pop edi
push ecx
push edi
add esp, 4
sub ecx, 0xef02
or ecx, 0x11c17
pop ecx
push edi
push edi
add esp, 4
or edi, 0x34b1
or edi, 0x12c6c
pop edi
mov edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x2a8], edx
jmp 0x4398a9
push eax
xor eax, 0x8ff4
add eax, 0xd415
pop eax
push edi
push ebx
sub ebx, 0x6b4c
and ebx, 0x10d24
xor ebx, 0x7822
pop ebx
push esi
push ebx
add esp, 4
or esi, 0x1809c
jmp 0x4398ce
or esi, 0x5f8a
or esi, 0x9dd7
pop esi
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x304], edx
push ebx
push esi
add esp, 4
call 0x4398ff
add byte [edi], dh
inc edi
dec ebx
dec eax
xor al, 0x50
inc edi
xor al, 0x40
dec edx
add esp, 4
add ebx, 0x3879
call 0x439918
add byte [esp + eax*2 + 0x4b], al
dec ebp
xor al, byte [esi + edi + 0x40]
dec esi
add esp, 4
pop ebx
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1580], eax
cmp dword [ebp - 0x1580], 0
jne 0x43994c
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x439c3d
mov edx, dword [ebp - 0x1580]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1584], eax
jne 0x439974
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x439c3d
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 0x4399a6
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
jmp 0x439c3d
mov ecx, dword [ebp - 0x304]
add ecx, dword [ebp - 0x1588]
mov dword [ebp - 0x724], ecx
jne 0x4399cb
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], edx
jmp 0x439c3d
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 0x439a25
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 0x439c31
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 0x439a95
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x439b47
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
test eax, eax
je 0x439b47
push ebx
jmp 0x439acc
pop ebx
push ecx
add ecx, 0xe3cb
call 0x439ae4
add byte [ebp + 0x4e], al
dec edx
xor ecx, dword [edi + 0x33]
xor ecx, dword [ebp + 0x41]
xor al, byte [ebx - 0x3e7efb3c]
ret 0xd1
push ecx
add ecx, 0x17bd8
sub ecx, 0x16252
sub ecx, 0xfcb0
pop ecx
push eax
push ebx
add esp, 4
and eax, 0x6f9a
pop eax
push ebx
push esi
add esp, 4
and ebx, 0x96d0
sub ebx, 0x5c61
pop ebx
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 0x439ba6
mov dword [ebp - 0xc6c], 0
jmp 0x439c15
push ecx
xor ecx, 0x9279
sub ecx, 0x15c69
jmp 0x439bb8
pop ecx
push ebx
sub ebx, 0x10e80
call 0x439bce
add byte [edx + edi], bh
cmp al, 0x46
dec ebp
dec esi
dec esp
push eax
add esp, 4
or ebx, 0x1147f
pop ebx
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
or ecx, 0x20
cmp edx, ecx
jge 0x439c0b
mov dword [ebp - 0xc6c], 0xffffffff
jmp 0x439c15
mov dword [ebp - 0xc6c], 1
cmp dword [ebp - 0xc6c], 0
jne 0x439c2c
mov edx, dword [ebp - 0x190c]
mov dword [ebp - 0x4f0], edx
jmp 0x439c3d
jmp 0x439a16
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x4f0]
mov dword [ebp - 0xa58], ecx
push edx
push esi
add esp, 4
or edx, 0xbb18
pop edx
push edi
add edi, 0xb703
call 0x439c6b
add byte [ebx + 0x32], al
inc ebx
dec eax
aas
dec esp
inc esp
dec esp
add esp, 4
or edi, 0x9857
and edi, 0xe848
pop edi
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x1910], edx
lea eax, [ebp - 0xc70]
push eax
push 0x40
mov ecx, dword [ebp - 0x158c]
push ecx
mov edx, dword [ebp - 0x3cc]
push edx
call dword [ebp - 0x1910]
test eax, eax
jne 0x439cee
push edi
push edx
add esp, 4
add edi, 0x15909
add edi, 0x86c0
or edi, 0xc2f0
and edi, 0x611e
pop edi
push edi
or edi, 0xa55e
add edi, 0x5eba
sub edi, 0x8691
pop edi
mov eax, dword [ebp - 0x738]
mov dword [ebp - 0x1914], eax
push 0
call dword [ebp - 0x1914]
mov ecx, dword [ebp - 0x1918]
mov dword [ebp - 0x734], ecx
jmp 0x439d0b
mov edx, dword [ebp - 0x734]
add edx, 1
mov dword [ebp - 0x734], edx
mov eax, dword [ebp - 0x734]
cmp eax, dword [ebp - 0xa5c]
jae 0x439d67
push eax
and eax, 0x833
pop eax
push esi
or esi, 0xec65
jmp 0x439d31
call 0x439d41
add byte [esi], dh
xor al, 0x33
aaa
dec edi
cmp dword ss:[esi], edi
inc esp
add esp, 4
sub esi, 0xe89f
pop esi
movzx ecx, byte [ebp - 0x381]
mov edx, dword [ebp - 0x734]
movsx eax, byte [edx]
sub eax, ecx
mov ecx, dword [ebp - 0x734]
mov byte [ecx], al
jmp 0x439cfc
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x191c], edx
lea eax, [ebp - 0xc70]
push eax
mov ecx, dword [ebp - 0xc70]
push ecx
mov edx, dword [ebp - 0x158c]
push edx
mov eax, dword [ebp - 0x3cc]
push eax
call dword [ebp - 0x191c]
test eax, eax
jne 0x439ddf
push edx
push ecx
add esp, 4
or edx, 0x1645f
or edx, 0x89e6
xor edx, 0x14214
pop edx
push ebx
jmp 0x439db8
pop ebx
push esi
push eax
add esp, 4
or esi, 0x3004
sub esi, 0x140e1
pop esi
mov ecx, dword [ebp - 0x738]
mov dword [ebp - 0x1920], ecx
push 0
call dword [ebp - 0x1920]
push edx
push esi
add esp, 4
call 0x439df3
add byte [ebp + eax*2 + 0x3d], al
cmp al, 0x3c
inc ebx
inc ecx
dec ebp
add esp, 4
jmp 0x439dfc
add edx, 0x15ada
pop edx
push ecx
add ecx, 0x1f6a
and ecx, 0x6f1
pop ecx
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff07ff
pop ecx
pop edx
pop esi
mov cl, bl
or ecx, dword [eax + 0x71c93d2]
pop es
mov dl, dh
pop esi
push ecx
or byte [edi], al
or eax, 0x3f564340
cmp eax, 0x575e6253
mov cl, bl
or ecx, dword [eax + 0x80878f6]
pop es
mov dh, ch
out dx, al
or byte [edi], al
mov dh, cl
push esi
movsb byte es:[edi], byte [esi]
pop es
pop es
sal word [edx + 7], 7
pop es
insd dword es:[edi], dx
nop
pushfd
ret