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

Disassembly:
push ecx
push ebx
add esp, 4
add ecx, 0x17e5
call fcn.00510ca9
add byte [edx + esi + 0x34], al
xor eax, 0x834f3d41
add esp, 4
sub ecx, 0x2b7c
add esp, 4
sub ecx, 0x2b7c
call 0x510cbf
add byte [edi + esi], dh
dec edx
inc esp
cmp al, 0x3a
add esp, 4
pop ecx
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
and edi, 0x14041
xor edi, 0x27b7
pop edi
push ecx
xor ecx, 0xe75c
and ecx, 0x63f0
call 0x510d15
add byte [esi], bh
dec edx
dec esp
xor al, 0x39
inc esi
cmp al, byte [ebx - 0x167efb3c]
rol dword [ecx + eax], cl
add byte [ecx - 0x75], bl
xchg ebp, eax
mov al, byte [0x66fffff3]
mov eax, dword [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 eax
add eax, 0xdfcf
or eax, 0xf046
or eax, 0x9113
sub eax, 0x2392
pop eax
push eax
push eax
add esp, 4
sub eax, 0x5da3
add eax, 0x16930
sub eax, 0x485f
pop eax
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x510dc5
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x157c], edx
jmp 0x510e1f
movzx ecx, word [ebp - 0x20c]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x510ced
movzx eax, word [ebp - 0x20c]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x510ced
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x510e09
mov dword [ebp - 0x1578], 0xffffffff
jmp 0x510e13
mov dword [ebp - 0x1578], 1
mov ecx, dword [ebp - 0x1578]
mov dword [ebp - 0x157c], ecx
cmp dword [ebp - 0x157c], 0
jne 0x510e68
push edx
jmp 0x510e2e
pop edx
push eax
push eax
add esp, 4
call 0x510e42
add byte [edx + 0x3c], cl
inc esp
xor al, 0x46
inc esi
inc edi
add esp, 4
or eax, 0x10233
jmp 0x510e53
and eax, 0x1458b
pop eax
mov edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x2a8], edx
jmp 0x510ed0
push ebx
push eax
add esp, 4
call 0x510e79
add byte [edx + 0x46], cl
dec edx
dec esi
inc ebp
inc ecx
add esp, 4
or ebx, 0xba6
jmp 0x510e8b
xor ebx, 0x207f
pop ebx
push edx
sub edx, 0x1547e
pop edx
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 0x510ec6
mov eax, dword [ebp - 0x4ec]
cmp dword [eax + 0x30], 0
jne 0x510c91
mov dword [ebp - 0x2a8], 0
push edi
push eax
add esp, 4
xor edi, 0x95fb
pop edi
push esi
xor esi, 0x14552
pop esi
push eax
or eax, 0x183fc
jmp 0x510ef3
pop eax
push edx
and edx, 0x1e73
xor edx, 0xc089
pop edx
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x304], edx
push ecx
push eax
add esp, 4
and ecx, 0x95c4
pop ecx
push ebx
sub ebx, 0xd00e
pop ebx
push edx
push edi
add esp, 4
xor edx, 0x13cd8
sub edx, 0x1499f
or edx, 0x930f
sub edx, 0xca24
pop edx
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1580], eax
cmp dword [ebp - 0x1580], 0
jne 0x510f73
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x511264
mov edx, dword [ebp - 0x1580]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1584], eax
jne 0x510f9b
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x511264
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 0x510fcd
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
jmp 0x511264
mov ecx, dword [ebp - 0x304]
add ecx, dword [ebp - 0x1588]
mov dword [ebp - 0x724], ecx
jne 0x510ff2
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], edx
jmp 0x511264
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 0x51104c
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 0x511258
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 0x5110bc
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 0x51116e
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
test eax, eax
je 0x51116e
push edx
push ecx
add esp, 4
xor edx, 0x10dad
pop edx
push ebx
sub ebx, 0xabee
xor ebx, 0xa328
pop ebx
push edx
push ecx
add esp, 4
call 0x511117
add byte [ecx + 0x47], al
inc esi
dec esi
cmp ecx, dword [esi + 0x50]
xor dl, byte [eax - 0x7d]
les eax, [edx + ebx*2]
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 0x511160
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 0x511167
jmp 0x5110ad
jmp 0x51116e
push ebx
and ebx, 0x7f31
xor ebx, 0x14677
or ebx, 0x13eee
add ebx, 0xf425
pop ebx
push esi
push ebx
add esp, 4
or esi, 0xee7
xor esi, 0x10b6f
xor esi, 0x12ac2
pop esi
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 0x5111cd
mov dword [ebp - 0xc6c], 0
jmp 0x51123c
push ecx
or ecx, 0x2a95
pop ecx
push ebx
push edx
add esp, 4
jmp 0x5111e1
sub ebx, 0x172d5
pop ebx
push eax
add eax, 0x38e1
call 0x5111fb
add byte [ecx + edi + 0x3c], al
dec ecx
cmp byte [eax - 0x7d], al
les eax, [eax + ebx*2]
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 0x511232
mov dword [ebp - 0xc6c], 0xffffffff
jmp 0x51123c
mov dword [ebp - 0xc6c], 1
cmp dword [ebp - 0xc6c], 0
jne 0x511253
mov edx, dword [ebp - 0x190c]
mov dword [ebp - 0x4f0], edx
jmp 0x511264
jmp 0x51103d
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x4f0]
mov dword [ebp - 0xa58], ecx
in al, dx
add dword [ecx], eax
test dword [edi + 0x101ec0e], edi
add dh, byte [edi + 0x42]
push esp
push edx
test esi, eax
push es
xor esp, 0x22
fiadd word [edx]
add al, byte [ebx + 0x2293eec]
add al, byte [ebx + 0x25732e4]
add al, byte [ebx + 0x36871e4]
add bl, byte [esp + edx*2 + 0x55]
test esi, eax
push es
xor esp, 0xffffffce
popal
add al, byte [edx]
pop esp
push ebx
and ebx, 0xffffff98
js 0x51386c
add bl, byte [ebx - 0x73]
invalid
lea ecx, [edi + 0x101fcfe]
mov ecx, dword [edi + 0x101ff4a]
in eax, dx
push 0x58
push ebx
test esi, eax
push es
xor eax, 0xffffff94
push 0x9ea0203
add al, byte [edx]
add al, byte [edx]
push ecx
dec edx
inc eax
cmp eax, 0xc6853d41
push es
sub eax, 0xffffffd9
push edx
add al, byte [edx]
ljmp 0x4002