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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x80
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x7c], eax
mov eax, dword [edi + 0xc]
push ebx
mov ebx, ecx
mov ecx, dword [edi + 0x14]
sub eax, dword [ecx]
push esi
sub eax, 0x10
sar eax, 4
mov dword [esp + 8], ebx
mov esi, edx
mov dword [esp + 0xc], eax
call fcn.10052a80
xor edx, edx
mov dword [esp + 0x14], eax
sub eax, dword [ebp + 8]
cmp eax, 0x15
setle dl
dec edx
and edx, 0xb
dec edx
mov dword [esp + 0x10], edx
test esi, esi
je 0x10052b74
push esi
push 0x10084e18
mov esi, edi
call fcn.100513d0
add esp, 8
push 0xa
mov esi, edi
call fcn.100508d0
add esp, 4
test eax, eax
jne 0x10052b90
push str.stack_overflow
mov ecx, edi
call fcn.10053000
push edi
mov esi, str.stack_traceback:
call fcn.1005ac90
mov ecx, dword [edi + 0xc]
mov dword [ecx], eax
movzx eax, byte [eax + 4]
or eax, 0x40
mov dword [ecx + 8], eax
mov ecx, dword [edi + 0x10]
mov ebx, 0x10
add dword [edi + 0xc], ebx
add esp, 4
cmp dword [ecx + 0xc], 0
jle 0x10052bc7
push edi
call fcn.1005e6f0
add esp, 4
mov esi, dword [ebp + 8]
mov edx, dword [esp + 8]
mov ecx, esi
test esi, esi
jge 0x10052bd8
xor eax, eax
jmp 0x10052c0c
mov eax, dword [edx + 0x14]
test esi, esi
jle 0x10052bf2
add edx, 0x34
cmp eax, edx
je 0x10052bee
mov eax, dword [eax + 8]
dec ecx
test ecx, ecx
jg 0x10052be2
mov edx, dword [esp + 8]
test ecx, ecx
jne 0x10052c08
lea ecx, [edx + 0x34]
cmp eax, ecx
je 0x10052c08
mov ecx, 1
mov dword [esp + 0x78], eax
jmp 0x10052c0a
xor ecx, ecx
mov eax, ecx
inc esi
mov dword [ebp + 8], esi
test eax, eax
je 0x10052d74
mov eax, dword [esp + 0x10]
mov ecx, eax
dec eax
mov dword [esp + 0x10], eax
test ecx, ecx
jne 0x10052c68
push edi
mov esi, str._n_t...
call fcn.1005ac90
mov ecx, dword [edi + 0xc]
mov dword [ecx], eax
movzx edx, byte [eax + 4]
or edx, 0x40
mov dword [ecx + 8], edx
mov eax, dword [edi + 0x10]
add dword [edi + 0xc], ebx
add esp, 4
cmp dword [eax + 0xc], 0
jle 0x10052c59
push edi
call fcn.1005e6f0
add esp, 4
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffff6
mov dword [ebp + 8], ecx
jmp 0x10052bc7
push str.Slnt
push edx
lea eax, [esp + 0x20]
call fcn.100551f0
lea edx, [esp + 0x44]
push edx
push str._n_t_s:
mov esi, edi
call fcn.100513d0
mov eax, dword [esp + 0x3c]
add esp, 0x10
test eax, eax
jle 0x10052ca1
push eax
push 0x10086d68
call fcn.100513d0
add esp, 8
push edi
mov esi, str._in
call fcn.1005ac90
mov ecx, dword [edi + 0xc]
mov dword [ecx], eax
movzx eax, byte [eax + 4]
or eax, 0x40
mov dword [ecx + 8], eax
mov ecx, dword [edi + 0x10]
add dword [edi + 0xc], ebx
add esp, 4
cmp dword [ecx + 0xc], 0
jle 0x10052cd3
push edi
call fcn.1005e6f0
add esp, 4
lea eax, [esp + 0x18]
mov ecx, edi
call fcn.10052970
cmp byte [esp + 0x3b], 0
je 0x10052d17
push edi
mov esi, str._n_t_...tail_calls..._
call fcn.1005ac90
mov ecx, dword [edi + 0xc]
mov dword [ecx], eax
movzx edx, byte [eax + 4]
or edx, 0x40
mov dword [ecx + 8], edx
mov eax, dword [edi + 0x10]
add dword [edi + 0xc], ebx
add esp, 4
cmp dword [eax + 0xc], 0
jle 0x10052d17
push edi
call fcn.1005e6f0
add esp, 4
mov esi, dword [edi + 0xc]
mov ecx, dword [edi + 0x14]
mov eax, esi
sub eax, dword [ecx]
sub eax, ebx
sar eax, 4
sub eax, dword [esp + 0xc]
cmp eax, 2
jl 0x10052d46
push eax
mov ecx, edi
call fcn.100568d0
mov eax, dword [edi + 0x10]
add esp, 4
cmp dword [eax + 0xc], 0
jmp 0x10052bbc
test eax, eax
jne 0x10052d68
push eax
push 0x10083627
push edi
call fcn.1005aa90
mov dword [esi], eax
movzx edx, byte [eax + 4]
or edx, 0x40
add esp, 0xc
mov dword [esi + 8], edx
add dword [edi + 0xc], ebx
mov eax, dword [edi + 0x10]
cmp dword [eax + 0xc], 0
jmp 0x10052bbc
mov ecx, dword [edi + 0x14]
mov eax, dword [edi + 0xc]
sub eax, dword [ecx]
mov esi, edi
sub eax, ebx
sar eax, 4
sub eax, dword [esp + 0xc]
call fcn.10052260
mov ecx, dword [esp + 0x84]
pop esi
pop ebx
xor ecx, esp
call fcn.1007b2de
mov esp, ebp
pop ebp
ret