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

Disassembly:
push 0xffffffffffffffff
push 0x752b4a
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x12c
push ebx
push ebp
xor ebx, ebx
push esi
push edi
mov ebp, ecx
mov dword [esp + 0x138], ebx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x144], ebx
cmp ecx, ebx
je 0x5ca3ad
call fcn.00415430
mov eax, dword [0x93c970]
mov dword [esp + 0x14], ebx
lea ecx, [eax + 0x18]
mov dword [esp + 0x1c], ecx
mov eax, dword [ecx]
mov eax, dword [eax]
mov esi, eax
mov dword [esp + 0x18], esi
mov ecx, dword [ecx]
cmp eax, ecx
je 0x5ca721
add esi, 0x10
cmp esi, ebx
je 0x5ca706
mov edi, 0x7c4d88
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
mov ecx, dword [esp + 0x158]
push 0x7c4d88
push ecx
push ebx
lea ecx, [esp + 0x15c]
call fcn.0040af30
cmp eax, ebx
jne 0x5ca549
lea edx, [esp + 0x78]
lea ecx, [esp + 0x78]
mov dword [esp + 0x20], 0x76b498
mov dword [esp + 0x28], 0x76b490
mov dword [esp + 0x10], edx
call fcn.00591480
mov ecx, dword [esp + 0x138]
mov byte [esp + 0x144], 1
or ecx, 1
mov dword [esp + 0x78], 0x772e28
mov byte [esp + 0x144], bl
mov dword [esp + 0x138], ecx
lea eax, [esp + 0x2c]
push ebx
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x14c], 2
call fcn.00591ec0
push 3
lea ecx, [esp + 0x30]
mov dword [esp + 0x148], 3
call fcn.00591fd0
mov ecx, dword [esp + 0x20]
mov edi, 0x76b48c
mov byte [esp + 0x144], 4
mov edx, dword [ecx + 4]
mov dword [esp + edx + 0x20], edi
mov eax, dword [esi]
lea ecx, [esp + 0x28]
push eax
mov byte [esp + 0x148], 5
call fcn.005cb950
cmp dword [ebp + 8], ebx
je 0x5ca4fc
push ebx
push ebx
sub esp, 0x10
mov ecx, esp
mov dword [esp + 0x28], esp
push ecx
lea ecx, [esp + 0x3c]
call fcn.00591640
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
push edx
push 6
mov byte [esp + 0x164], 5
call fcn.00415260
cmp eax, ebx
je 0x5ca4fc
mov eax, dword [eax + 0xbc]
cmp eax, ebx
je 0x5ca4fc
mov edx, dword [eax]
add esi, 4
push esi
mov ecx, eax
call dword [edx + 0x9c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
inc eax
mov byte [esp + 0x144], bl
mov edx, dword [ecx + 4]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x78]
mov dword [esp + 0x10], eax
mov dword [esp + edx + 0x20], edi
lea ecx, [esp + 0x2c]
mov byte [esp + 0x144], 7
call fcn.00591700
lea ecx, [esp + 0x2c]
mov byte [esp + 0x144], bl
call fcn.00591690
lea ecx, [esp + 0x78]
jmp 0x5ca701
mov al, byte [esp + 0x14c]
sub esp, 0x10
mov edi, esp
mov dword [esp + 0x20], esp
push ebx
mov ecx, edi
mov byte [edi], al
call fcn.00404760
mov ecx, dword [0x76560c]
lea edx, [esp + 0x15c]
push ecx
push ebx
push edx
mov ecx, edi
call fcn.00404560
lea edi, [esi + 4]
mov byte [esp + 0x154], bl
push edi
call fcn.006f6c50
add esp, 0x14
cmp al, 1
jne 0x5ca706
lea eax, [esp + 0x104]
lea ecx, [esp + 0x104]
mov dword [esp + 0xac], 0x76b498
mov dword [esp + 0xb4], 0x76b490
mov dword [esp + 0x10], eax
call fcn.00591480
mov ecx, dword [esp + 0x138]
mov byte [esp + 0x144], 0xa
or ecx, 2
mov dword [esp + 0x104], 0x772e28
mov byte [esp + 0x144], bl
mov dword [esp + 0x138], ecx
lea ecx, [esp + 0xb8]
push ebx
push ecx
lea ecx, [esp + 0xb4]
mov byte [esp + 0x14c], 0xb
call fcn.00591ec0
push 3
lea ecx, [esp + 0xbc]
mov dword [esp + 0x148], 0xc
call fcn.00591fd0
mov edx, dword [esp + 0xac]
mov byte [esp + 0x144], 0xd
mov eax, dword [edx + 4]
mov dword [esp + eax + 0xac], 0x76b48c
mov ecx, dword [esi]
mov byte [esp + 0x144], 0xe
push ecx
lea ecx, [esp + 0xb8]
call fcn.005cb950
cmp dword [ebp + 8], ebx
je 0x5ca6a3
push ebx
push ebx
sub esp, 0x10
lea ecx, [esp + 0xc4]
mov edx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00591640
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
push eax
push 6
mov byte [esp + 0x164], 0xe
call fcn.00415260
cmp eax, ebx
je 0x5ca6a3
mov eax, dword [eax + 0xbc]
cmp eax, ebx
je 0x5ca6a3
mov edx, dword [eax]
push edi
mov ecx, eax
call dword [edx + 0x9c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xac]
inc eax
mov byte [esp + 0x144], bl
mov edx, dword [ecx + 4]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x104]
mov dword [esp + 0x10], eax
mov dword [esp + edx + 0xac], 0x76b48c
lea ecx, [esp + 0xb8]
mov byte [esp + 0x144], 0x10
call fcn.00591700
lea ecx, [esp + 0xb8]
mov byte [esp + 0x144], bl
call fcn.00591690
lea ecx, [esp + 0x104]
call fcn.00591140
lea ecx, [esp + 0x18]
call fcn.005cc620
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov eax, dword [eax]
cmp esi, eax
jne 0x5ca3d1
push 1
mov ecx, ebp
call fcn.005ca7c0
mov ecx, dword [ebp + 0x18]
cmp ecx, ebx
je 0x5ca737
mov edx, dword [ecx]
push ebx
call dword [edx + 0x44]
mov ebp, dword [ebp + 4]
cmp ebp, ebx
je 0x5ca748
mov eax, dword [ebp]
push 1
mov ecx, ebp
call dword [eax + 0x44]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x144], 0xffffffff
cmp eax, ebx
jne 0x5ca76d
push 1
lea ecx, [esp + 0x150]
call fcn.00404760
xor al, al
jmp 0x5ca796
mov ecx, dword [esp + 0x150]
cmp ecx, ebx
je 0x5ca794
mov al, byte [ecx - 1]
cmp al, bl
je 0x5ca78a
cmp al, 0xff
je 0x5ca78a
dec al
mov byte [ecx - 1], al
jmp 0x5ca794
dec ecx
push ecx
call fcn.00726ea6
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x13c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x138
ret 0x10