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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7c
mov eax, dword [0x60f520]
xor eax, esp
mov dword [esp + 0x78], eax
push ebx
push esi
mov esi, ecx
mov ebx, edx
push edi
mov edi, dword [ebp + 8]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 8]
sub ecx, dword [eax]
sub ecx, 8
sar ecx, 3
mov dword [esp + 0xc], ecx
mov ecx, ebx
call fcn.00527ff0
mov ecx, eax
mov edx, 0xc
xor eax, eax
mov dword [esp + 0x14], ecx
cmp ecx, 0x16
cmovg eax, edx
mov dword [esp + 0x10], eax
test edi, edi
je 0x5280e1
push edi
push 0x5ce634
push esi
call fcn.005249a0
add esp, 0xc
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 0xc], 0
jle 0x52810b
cmp byte [ecx + 0x37], 0
je 0x5280f9
mov ecx, esi
call fcn.00533e60
jmp 0x52810b
mov eax, dword [ecx + 0xc]
add eax, 0x640
mov dword [ecx + 0xc], 0xfffff9c0
add dword [ecx + 8], eax
push 0x10
mov edx, str.stack_traceback:
mov ecx, esi
call fcn.00530090
mov ecx, dword [esi + 8]
add esp, 4
mov edi, dword [ebp + 0xc]
mov dword [ecx], eax
movzx eax, byte [eax + 4]
or eax, 0x7ff7a540
mov dword [ecx + 4], eax
add dword [esi + 8], 8
mov eax, edi
test edi, edi
js 0x528164
mov ecx, dword [ebx + 0x10]
jle 0x52814e
lea edx, [ebx + 0x48]
cmp ecx, edx
je 0x52814e
mov ecx, dword [ecx + 8]
dec eax
test eax, eax
jg 0x528142
test eax, eax
jne 0x528164
lea eax, [ebx + 0x48]
cmp ecx, eax
je 0x528164
mov eax, 1
mov dword [esp + 0x78], ecx
jmp 0x528166
xor eax, eax
inc edi
test eax, eax
je 0x5282dc
cmp edi, dword [esp + 0x10]
jne 0x5281d1
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 0xc], 0
jle 0x52819f
cmp byte [ecx + 0x37], 0
je 0x52818d
mov ecx, esi
call fcn.00533e60
jmp 0x52819f
mov eax, dword [ecx + 0xc]
add eax, 0x640
mov dword [ecx + 0xc], 0xfffff9c0
add dword [ecx + 8], eax
push 5
mov edx, str._n_t...
mov ecx, esi
call fcn.00530090
mov ecx, dword [esi + 8]
add esp, 4
mov edi, dword [esp + 0x14]
mov dword [ecx], eax
movzx eax, byte [eax + 4]
or eax, 0x7ff7a540
mov dword [ecx + 4], eax
add dword [esi + 8], 8
add edi, 0xfffffff6
jmp 0x528134
lea eax, [esp + 0x18]
mov edx, str.Slnt
push eax
mov ecx, ebx
call fcn.0052b720
lea eax, [esp + 0x40]
push eax
push str._n_t_s:
push esi
call fcn.005249a0
mov eax, dword [esp + 0x3c]
add esp, 0x10
test eax, eax
jle 0x52820c
push eax
push 0x5ce680
push esi
call fcn.005249a0
add esp, 0xc
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 0xc], 0
jle 0x528236
cmp byte [ecx + 0x37], 0
je 0x528224
mov ecx, esi
call fcn.00533e60
jmp 0x528236
mov eax, dword [ecx + 0xc]
add eax, 0x640
mov dword [ecx + 0xc], 0xfffff9c0
add dword [ecx + 8], eax
push 4
mov edx, str._in
mov ecx, esi
call fcn.00530090
mov ecx, dword [esi + 8]
lea edx, [esp + 0x1c]
add esp, 4
mov dword [ecx], eax
movzx eax, byte [eax + 4]
or eax, 0x7ff7a540
mov dword [ecx + 4], eax
mov ecx, esi
add dword [esi + 8], 8
call fcn.00527f20
cmp byte [esp + 0x3b], 0
je 0x5282be
mov ecx, dword [esi + 0xc]
cmp dword [ecx + 0xc], 0
jle 0x528298
cmp byte [ecx + 0x37], 0
je 0x528286
mov ecx, esi
call fcn.00533e60
jmp 0x528298
mov eax, dword [ecx + 0xc]
add eax, 0x640
mov dword [ecx + 0xc], 0xfffff9c0
add dword [ecx + 8], eax
push 0x14
mov edx, str._n_t_...tail_calls..._
mov ecx, esi
call fcn.00530090
mov ecx, dword [esi + 8]
add esp, 4
mov dword [ecx], eax
movzx eax, byte [eax + 4]
or eax, 0x7ff7a540
mov dword [ecx + 4], eax
add dword [esi + 8], 8
mov eax, dword [esi + 0x10]
mov ecx, esi
mov edx, dword [esi + 8]
sub edx, dword [eax]
sub edx, 8
sar edx, 3
sub edx, dword [esp + 0xc]
call fcn.00525370
jmp 0x528134
mov eax, dword [esi + 0x10]
mov ecx, esi
mov edx, dword [esi + 8]
sub edx, dword [eax]
sub edx, 8
sar edx, 3
sub edx, dword [esp + 0xc]
call fcn.00525370
mov ecx, dword [esp + 0x84]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0055199a
mov esp, ebp
pop ebp
ret