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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx]
ja 0x52dc7f
xor edi, edi
mov eax, 0x3c
call fcn.0044c660
jmp fcn.0052dc60
sub esp, 0x74
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov esi, dword [esp + 0x80]
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
cmp byte [esp + 0x84], 0
je 0x52dd15
mov eax, esi
mov ebp, esi
sub ebp, ecx
cmp ebp, 1
jge 0x52dd07
mov dword [esp], 0x77b400
mov dword [esp + 0x5c], edx
mov dword [esp + 4], edx
mov dword [esp + 0x60], ecx
mov dword [esp + 8], ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0
call fcn.004498c0
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov edi, ecx
inc edi
mov esi, eax
lea ebp, [edx + ecx]
mov byte [ebp], 0x2d
mov ecx, edi
mov byte [esp + 0x25], 0x30
mov ebx, dword [esp + 0x94]
cmp ebx, 0
je 0x52dd44
cmp dword [esp + 0x8c], 0
jbe 0x52e3e5
mov ebx, dword [esp + 0x88]
movzx ebp, byte [ebx]
xchg ebp, eax
mov byte [esp + 0x25], al
xchg ebp, eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], esi
mov eax, esi
mov ebp, esi
sub ebp, ecx
cmp ebp, 1
jge 0x52dd9e
mov dword [esp], 0x77b400
mov dword [esp + 0x5c], edx
mov dword [esp + 4], edx
mov dword [esp + 0x60], ecx
mov dword [esp + 8], ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0
call fcn.004498c0
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov edi, ecx
inc edi
lea ebp, [edx + ecx]
mov ebx, ebp
movzx ebp, byte [esp + 0x25]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], edx
mov esi, edx
mov dword [esp + 0x6c], edi
mov ecx, edi
mov dword [esp + 0x70], eax
cmp dword [esp + 0xa0], 0
jle 0x52dfdf
mov dword [esp + 0x78], esi
mov edx, esi
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
mov ebp, eax
sub ebp, ecx
cmp ebp, 1
jge 0x52de33
mov dword [esp], 0x77b400
mov dword [esp + 0x68], edx
mov dword [esp + 4], edx
mov dword [esp + 0x6c], ecx
mov dword [esp + 8], ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0
call fcn.004498c0
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov edi, ecx
inc edi
lea ebp, [edx + ecx]
mov byte [ebp], 0x2e
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], edi
mov dword [esp + 0x70], eax
mov esi, edx
mov ecx, edi
mov edx, 1
mov ebp, dword [esp + 0xa0]
inc ebp
mov edi, dword [esp + 0x94]
cmp edi, ebp
jle 0x52de67
mov ebp, edi
mov edi, dword [esp + 0x94]
add edi, dword [esp + 0xa0]
inc edi
mov ebx, ebp
mov ebp, edi
sub ebp, ebx
mov dword [esp + 0x30], ebp
mov ebx, dword [esp + 0x30]
cmp edx, ebx
jge 0x52df3e
mov dword [esp + 0x34], edx
cmp edx, dword [esp + 0x8c]
jae 0x52e3de
mov ebp, dword [esp + 0x88]
lea ebp, [ebp + edx]
movzx ebp, byte [ebp]
xchg ebp, eax
mov byte [esp + 0x28], al
xchg ebp, eax
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
mov ebp, eax
sub ebp, ecx
cmp ebp, 1
jge 0x52df0e
mov dword [esp], 0x77b400
mov dword [esp + 0x5c], esi
mov dword [esp + 4], esi
mov dword [esp + 0x60], ecx
mov dword [esp + 8], ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0
call fcn.004498c0
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov ebx, ecx
inc ebx
mov dword [esp + 0x60], ebx
lea ebx, [esi + ecx]
movzx ebp, byte [esp + 0x28]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
inc edx
mov ebx, dword [esp + 0x30]
cmp edx, ebx
jl 0x52de8c
mov ebx, dword [esp + 0xa0]
cmp edx, ebx
mov dword [esp + 0x34], edx
jg 0x52dfdf
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
mov ebp, eax
sub ebp, ecx
cmp ebp, 1
jge 0x52dfad
mov dword [esp], 0x77b400
mov dword [esp + 0x5c], esi
mov dword [esp + 4], esi
mov dword [esp + 0x60], ecx
mov dword [esp + 8], ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0
call fcn.004498c0
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov ebp, ecx
inc ebp
mov dword [esp + 0x60], ebp
lea ebp, [esi + ecx]
mov byte [ebp], 0x30
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
inc edx
mov ebx, dword [esp + 0xa0]
cmp edx, ebx
mov dword [esp + 0x34], edx
jle 0x52df51
mov dword [esp + 0x78], esi
mov edx, esi
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
mov ebp, eax
sub ebp, ecx
cmp ebp, 1
jge 0x52e039
mov dword [esp], 0x77b400
mov dword [esp + 0x5c], edx
mov dword [esp + 4], edx
mov dword [esp + 0x60], ecx
mov dword [esp + 8], ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0
call fcn.004498c0
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov esi, ecx
inc esi
lea ebp, [edx + ecx]
mov ebx, ebp
movzx ebp, byte [esp + 0xa4]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
mov edi, edx
mov ebp, eax
mov ecx, dword [esp + 0x98]
dec ecx
mov ebx, dword [esp + 0x94]
cmp ebx, 0
jne 0x52e067
xor ecx, ecx
cmp ecx, 0
mov dword [esp + 0x3c], ecx
jge 0x52e3d4
mov byte [esp + 0x25], 0x2d
neg ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], ebp
mov eax, ebp
mov dword [esp + 0x48], ebp
mov ebp, dword [esp + 0x48]
sub ebp, esi
cmp ebp, 1
jge 0x52e0e3
mov dword [esp], 0x77b400
mov dword [esp + 0x5c], edi
mov dword [esp + 4], edi
mov dword [esp + 0x60], esi
mov dword [esp + 8], esi
mov dword [esp + 0x64], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 0
call fcn.004498c0
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov ebp, esi
inc esi
mov dword [esp + 0x50], eax
mov dword [esp + 0x60], esi
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x64], ebx
lea ebp, [edi + ebp]
mov ebx, ebp
movzx ebp, byte [esp + 0x25]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
mov dword [esp + 0x5c], edi
mov ebp, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x80], eax
lea edi, [esp + 0x29]
xor eax, eax
stosb byte es:[edi], al
stosb byte es:[edi], al
stosb byte es:[edi], al
mov edi, 3
cmp ecx, 0xa
jl 0x52e17c
dec edi
mov eax, 0x66666667
imul ecx
sar edx, 2
mov ebp, ecx
sar ebp, 0x1f
mov ebx, edx
sub ebx, ebp
imul ebx, ebx, 0xa
mov eax, ecx
sub eax, ebx
add eax, 0x30
lea ebp, [esp + 0x29]
cmp edi, 3
jae 0x52e3cd
lea ebp, [ebp + edi]
mov byte [ebp], al
mov eax, 0x66666667
imul ecx
sar edx, 2
mov ebx, ecx
sar ebx, 0x1f
mov ecx, edx
sub ecx, ebx
cmp ecx, 0xa
jge 0x52e132
mov eax, edi
dec eax
add ecx, 0x30
lea ebp, [esp + 0x29]
cmp eax, 3
jae 0x52e3c6
lea ebp, [ebp + eax]
mov byte [ebp], cl
cmp eax, 0
jne 0x52e280
movzx ebx, byte [esp + 0x29]
mov byte [esp + 0x28], bl
movzx ebx, byte [esp + 0x2a]
mov byte [esp + 0x27], bl
movzx ebx, byte [esp + 0x2b]
mov byte [esp + 0x26], bl
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x80]
mov ebp, eax
sub ebp, ecx
cmp ebp, 3
jge 0x52e212
mov dword [esp], 0x77b400
mov dword [esp + 0x68], edx
mov dword [esp + 4], edx
mov dword [esp + 0x6c], ecx
mov dword [esp + 8], ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 0
call fcn.004498c0
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov esi, ecx
add esi, 3
mov ebx, eax
mov eax, edx
mov edx, ebx
lea ebx, [eax + ecx]
movzx ebp, byte [esp + 0x28]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
inc ecx
lea ebp, [eax + ecx]
mov ebx, ebp
movzx ebp, byte [esp + 0x27]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
mov ebx, ecx
inc ebx
lea ebp, [eax + ebx]
mov ebx, ebp
movzx ebp, byte [esp + 0x26]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], edx
mov ebx, dword [esp + 0x78]
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0xac], ebx
mov ebx, dword [esp + 0x80]
mov dword [esp + 0xb0], ebx
add esp, 0x74
ret
cmp eax, 1
jne 0x52e32b
movzx ebx, byte [esp + 0x2a]
mov byte [esp + 0x27], bl
movzx ebx, byte [esp + 0x2b]
mov byte [esp + 0x28], bl
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov ebp, ecx
sub ebp, eax
cmp ebp, 2
jge 0x52e2f3
mov dword [esp], 0x77b400
mov dword [esp + 0x5c], edx
mov dword [esp + 4], edx
mov dword [esp + 0x60], eax
mov dword [esp + 8], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], 0
call fcn.004498c0
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edi, eax
add edi, 2
lea ebp, [edx + eax]
mov ebx, ebp
movzx ebp, byte [esp + 0x27]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
mov ebx, eax
inc ebx
lea ebp, [edx + ebx]
mov ebx, ebp
movzx ebp, byte [esp + 0x28]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], ecx
jmp 0x52e258
cmp eax, 2
jne 0x52e258
movzx ebx, byte [esp + 0x2b]
mov byte [esp + 0x27], bl
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov ebp, ecx
sub ebp, eax
cmp ebp, 2
jge 0x52e395
mov dword [esp], 0x77b400
mov dword [esp + 0x5c], edx
mov dword [esp + 4], edx
mov dword [esp + 0x60], eax
mov dword [esp + 8], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], 0
call fcn.004498c0
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edi, eax
add edi, 2
lea ebp, [edx + eax]
mov byte [ebp], 0x30
mov ebx, eax
inc ebx
lea ebp, [edx + ebx]
mov ebx, ebp
movzx ebp, byte [esp + 0x27]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], ecx
jmp 0x52e258
call fcn.004335c0
ud2
call fcn.004335c0
ud2
mov byte [esp + 0x25], 0x2b
jmp 0x52e07f
call fcn.004335c0
ud2
call fcn.004335c0
ud2