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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5205b0
sub esp, 0x74
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x52053a
xor ecx, ecx
mov edx, ecx
mov ebx, dword [eax]
cmp ebx, 0xd
jg 0x520513
cmp ebx, 0xc
jne 0x520501
cmp ebx, 0xd
jg 0x52046b
cmp ebx, 0xc
jne 0x52040a
lea ebx, [0x73fdc0]
cmp ebx, edx
jne 0x52007c
movzx ebp, byte [ecx]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5203d3
xor ebx, ebx
xor ebp, ebp
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], edx
mov esi, ecx
lea ecx, [0x744080]
cmp ecx, ebp
je 0x5203c3
mov ecx, dword [eax + 8]
test ecx, ecx
jne 0x520345
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], ebp
movzx ecx, byte [esp + 0x80]
test cl, cl
je 0x5200e0
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x52027c
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov eax, dword [ecx]
mov edx, ecx
call eax
movzx eax, byte [esp + 0x10]
test al, al
je 0x520153
mov eax, dword [esp + 0x9c]
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x14], eax
mov eax, dword [edx]
call eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xa8], ebp
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], eax
add esp, 0x74
ret
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax]
mov dword [esp], ecx
call fcn.00521e20
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
mov eax, dword [esp + 0x50]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x68], eax
lea eax, [0x744900]
mov dword [esp], eax
lea eax, [esp + 0x5c]
mov dword [esp + 4], eax
call fcn.0040c190
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x1c]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [esp + 0x64]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004b9be0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x44], ecx
lea edx, [0x757820]
mov dword [esp], edx
call fcn.0040e9e0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x40]
mov dword [eax + 4], ecx
mov ecx, dword [0xa08230]
test ecx, ecx
jne 0x520262
mov ecx, dword [esp + 0x44]
mov dword [eax], ecx
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
lea ecx, [0x8006c0]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], eax
add esp, 0x74
ret
mov dword [esp + 0x58], eax
mov dword [esp], eax
mov ecx, dword [esp + 0x44]
mov dword [esp + 4], ecx
call fcn.0040f250
mov eax, dword [esp + 0x58]
jmp 0x520234
mov ecx, dword [eax + 0x10]
mov ebx, dword [eax]
mov ebp, dword [eax + 0x1c]
mov edi, dword [eax + 0x20]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], edi
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
call fcn.005205c0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x52031d
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax]
mov ebx, dword [eax + 0x20]
mov ebp, dword [eax + 0x1c]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebx
mov dword [esp], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
call fcn.005205c0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x5200e0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], eax
add esp, 0x74
ret
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], eax
add esp, 0x74
ret
mov dword [esp + 0x24], ecx
mov edi, esp
lea esi, [esp + 0x78]
call fcn.0044de76
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x2c], ecx
call fcn.00520010
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
test ecx, ecx
jne 0x52039b
mov eax, dword [esp + 0x9c]
mov esi, dword [esp + 0x54]
mov ebp, ebx
mov ebx, edx
mov edx, dword [esp + 0x50]
jmp 0x5200a3
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], eax
add esp, 0x74
ret
mov ecx, dword [ebx]
cmp ecx, 0xffffffff
jne 0x520098
jmp 0x5200a3
movzx eax, byte [0x7fed4b]
mov dword [esp + 0xa8], ebx
lea ecx, [0x9c78c0]
add eax, ecx
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
add esp, 0x74
ret
cmp ebx, 0xd
jne 0x520462
lea ebx, [0x73fdc0]
cmp ebx, edx
jne 0x520422
movzx ebp, byte [ecx]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x52042b
xor ebx, ebx
xor ebp, ebp
jmp 0x520080
movzx eax, byte [0x7fed4c]
mov dword [esp + 0xa8], ebx
lea ecx, [0x9c78c0]
add eax, ecx
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
add esp, 0x74
ret
xor ebx, ebx
xor ebp, ebp
jmp 0x520080
cmp ebx, 0x1c
jne 0x5204a4
lea ebx, [0x73fdc0]
cmp ebx, edx
jne 0x52049b
movzx ebx, byte [ecx]
test bl, bl
je 0x52048a
xor ebx, ebx
xor ebp, ebp
jmp 0x520080
lea ebx, [0x7fede0]
lea ebp, [0x744080]
jmp 0x520080
xor ebx, ebx
xor ebp, ebp
jmp 0x520080
cmp ebx, 0x1d
jne 0x5204c7
test edx, edx
je 0x5204be
lea ebx, [0x7fedec]
lea ebp, [0x744080]
jmp 0x520080
xor ebx, ebx
xor ebp, ebp
jmp 0x520080
cmp ebx, 0x1e
jne 0x520462
test edx, edx
jne 0x5204d9
xor ebx, ebx
xor ebp, ebp
jmp 0x520080
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
add esp, 0x74
ret
cmp ebx, 0xd
je 0x520056
xor ebx, ebx
xor ebp, ebp
jmp 0x520080
cmp ebx, 0x1c
jne 0x520520
cmp ebx, 0xd
jmp 0x520056
cmp ebx, 0x1d
jne 0x52052d
cmp ebx, 0xd
jmp 0x520056
cmp ebx, 0x1e
jne 0x52050a
cmp ebx, 0xd
jmp 0x520056
mov dword [esp + 0x24], ecx
mov edi, esp
lea esi, [esp + 0x78]
call fcn.0044de76
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x2c], ecx
call fcn.00520010
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
test ecx, ecx
jne 0x520588
mov eax, dword [esp + 0x9c]
mov ecx, edx
mov edx, ebx
jmp 0x52003f
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], eax
add esp, 0x74
ret
call fcn.0044be50
jmp fcn.00520010