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

Disassembly:
push esi
jmp 0x514599
pop esi
push edi
jmp 0x5145a2
and edi, 0xcc9f
pop edi
push eax
and eax, 0xe7b
add eax, 0xe430
add eax, 0xc66
xor eax, 0x1709f
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
add edi, 0x929f
jmp 0x5145f9
and edi, 0x654f
or edi, 0x9229
pop edi
push edx
or edx, 0xff37
call fcn.0051461b
add byte [ecx + 0x44], al
xor cl, byte [ebx + 0x4a]
dec esi
cmp al, 0x4e
add esp, 4
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 edx
push esi
add esp, 4
and edx, 0xd067
add edx, 0x10c34
pop edx
push edi
push ebx
add esp, 4
and edi, 0x16f2b
pop edi
push edi
push eax
add esp, 4
xor edi, 0x707b
pop edi
push edi
or edi, 0x4ab4
pop edi
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x5146c5
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x157c], edx
jmp 0x51471f
movzx ecx, word [ebp - 0x20c]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x5145ed
movzx eax, word [ebp - 0x20c]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x5145ed
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x514709
mov dword [ebp - 0x1578], 0xffffffff
jmp 0x514713
mov dword [ebp - 0x1578], 1
mov ecx, dword [ebp - 0x1578]
mov dword [ebp - 0x157c], ecx
cmp dword [ebp - 0x157c], 0
jne 0x514768
push edi
push ecx
add esp, 4
xor edi, 0x275
xor edi, 0xa666
add edi, 0xbab2
pop edi
push ebx
and ebx, 0x129d
add ebx, 0x1442e
and ebx, 0x9bee
add ebx, 0xce69
pop ebx
mov edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x2a8], edx
jmp 0x5147d0
push ecx
or ecx, 0x60e9
or ecx, 0x141c1
call 0x514784
add byte [ebx], dh
cmp bh, byte [edx]
xor cl, byte [ebp + 0x33]
cmp dword [edi + 0x3b], ecx
add esp, 4
pop ecx
push edi
push ebx
add esp, 4
xor edi, 0xab53
xor edi, 0x486c
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 0x5147c6
mov eax, dword [ebp - 0x4ec]
cmp dword [eax + 0x30], 0
jne 0x514591
mov dword [ebp - 0x2a8], 0
push edi
push edx
add esp, 4
xor edi, 0x1e70
add edi, 0x793
and edi, 0xdf4c
xor edi, 0x16390
pop edi
push edx
add edx, 0xcd87
sub edx, 0x2147
sub edx, 0x840d
pop edx
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x304], edx
push ebx
push ecx
add esp, 4
jmp 0x51481c
jmp 0x514824
pop ebx
push edx
push ebx
add esp, 4
xor edx, 0xaa0f
xor edx, 0x124bc
add edx, 0xbb1a
and edx, 0xcb1b
pop edx
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1580], eax
cmp dword [ebp - 0x1580], 0
jne 0x514873
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x514b64
mov edx, dword [ebp - 0x1580]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1584], eax
jne 0x51489b
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x514b64
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 0x5148cd
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
jmp 0x514b64
mov ecx, dword [ebp - 0x304]
add ecx, dword [ebp - 0x1588]
mov dword [ebp - 0x724], ecx
jne 0x5148f2
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], edx
jmp 0x514b64
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 0x51494c
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 0x514b58
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 0x5149bc
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 0x514a6e
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
test eax, eax
je 0x514a6e
push edx
or edx, 0xf2e9
pop edx
push edi
push edi
add esp, 4
add edi, 0x1fd2
add edi, 0x7b15
pop edi
push edx
call 0x514a11
add byte [edx], dh
aaa
cmp cl, byte ss:[edi + 0x48]
inc eax
add esp, 4
jmp 0x514a1a
pop edx
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 0x514a60
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 0x514a67
jmp 0x5149ad
jmp 0x514a6e
push edx
or edx, 0x144b
call 0x514a83
add byte [ecx], bh
inc ebx
inc eax
dec ecx
xor al, 0x34
dec edi
cmp al, byte [ebx + 0x535a04c4]
xor ebx, 0xd225
add ebx, 0xd181
jmp 0x514a9a
jmp 0x514a9f
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 0x514acd
mov dword [ebp - 0xc6c], 0
jmp 0x514b3c
push ecx
push ebx
add esp, 4
call 0x514adf
add byte [ecx + ecx*2], dh
inc ebp
xor al, byte [ebx + 0x4b]
cmp dword [ebx - 0x3e7efb3c], eax
inc edi
fadd qword [eax]
add byte [ecx + 0x51aef1], al
add al, ch
or byte [eax], al
add byte [eax], al
add byte [eax + 0x32], al
cmp al, byte [ecx + 0x37]
dec esi
add esp, 4
pop ecx
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 0x514b32
mov dword [ebp - 0xc6c], 0xffffffff
jmp 0x514b3c
mov dword [ebp - 0xc6c], 1
cmp dword [ebp - 0xc6c], 0
jne 0x514b53
mov edx, dword [ebp - 0x190c]
mov dword [ebp - 0x4f0], edx
jmp 0x514b64
jmp 0x51493d
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x4f0]
mov dword [ebp - 0xa58], ecx