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

Disassembly:
mov ecx, dword [0x1819d24]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xc]
cmp eax, dword [ecx + 8]
jbe 0x5fbbd9
sub esp, 0x8c
mov eax, dword [esp + 0x90]
mov eax, dword [eax + 4]
cmp eax, 0x3e8
jge 0x5fbaa5
mov dword [esp + 0x1c], eax
nop
lea ecx, [0xb3bd40]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.004528e0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x28], eax
lea ecx, [0xb3bd40]
mov dword [esp], ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.004528e0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x24], eax
lea edi, [esp + 0x6c]
xor eax, eax
call fcn.0046ed58
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x90]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x1c], ecx
lea edx, [0xb3bd40]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.004528e0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x28], eax
lea ecx, [0xb3bd40]
mov dword [esp], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.004528e0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x24], eax
lea edi, [esp + 0x4c]
xor eax, eax
call fcn.0046ed58
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], ecx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x20], 0
mov ecx, dword [esp + 0x90]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x14], ecx
lea edx, [0xadec60]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.004528e0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x28], eax
lea edi, [esp + 0x2c]
xor eax, eax
call fcn.0046ed58
lea eax, [0x5fbbf0]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x90]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x4c]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x20]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x3c], ecx
lea edx, [esp + 0x6c]
mov dword [esp + 0x48], edx
lea ebx, [esp + 0x2c]
mov dword [esp + 0x20], ebx
nop
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov ebx, dword [esp + 0x90]
mov ebx, dword [ebx + 0xc]
nop
nop
cmp dword [edx + 4], ebx
jbe 0x5fba73
mov edx, dword [esp + 0x6c]
mov dword [edx + ebx*4], 0
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x84]
cmp edx, ebp
jbe 0x5fbbcf
mov edx, dword [esp + 0x78]
mov dword [edx + ebp*4], ebx
inc dword [esp + 0x84]
mov eax, dword [esp + 0x90]
mov eax, dword [eax + 4]
mov dword [esp + 0x18], eax
lea ecx, [0xb3bfc0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.004528e0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x18]
jmp 0x5fbabf
mov dword [esp + 0x94], 0
add esp, 0x8c
ret
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x88]
cmp dword [esp + 0x84], ebx
jbe 0x5fbb2e
nop
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x88]
nop
cmp ebp, ebx
jae 0x5fbbc6
mov ebx, dword [esp + 0x78]
mov ebx, dword [ebx + ebp*4]
inc ebp
mov dword [esp + 0x88], ebp
mov edx, dword [esp + 0x20]
mov ebp, dword [edx]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
call ebp
movzx eax, byte [esp + 0x10]
test al, al
jne 0x5fbab7
mov dword [esp + 0x90], 0
mov edx, dword [esp + 0x90]
test edx, edx
je 0x5fbb4c
mov edx, dword [edx + 4]
mov dword [esp + 0x1c], edx
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
xor eax, eax
jmp 0x5fbb6e
mov eax, dword [esp + 0x90]
mov dword [esp + 0x94], eax
add esp, 0x8c
ret
mov dword [ebp + esi*4 + 0xc], ecx
inc eax
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
cmp eax, edx
jge 0x5fbb4c
cmp eax, ecx
jae 0x5fbbc1
mov ebp, dword [esp + 0x90]
mov esi, dword [ebp + 4]
lea edi, [eax + eax*2]
mov ecx, dword [ebx + edi*4]
mov edx, dword [ebx + edi*4 + 4]
mov edi, dword [ebx + edi*4 + 8]
cmp eax, esi
jae 0x5fbbba
lea esi, [eax + eax*8]
mov ebp, dword [ebp]
mov dword [ebp + esi*4 + 0x10], edx
mov dword [ebp + esi*4 + 0x14], edi
mov edx, dword [0x1819e80]
test edx, edx
je 0x5fbb61
call fcn.0046ead0
mov dword [edi], ecx
mov edx, dword [ebp + esi*4 + 0xc]
mov dword [edi + 4], edx
jmp 0x5fbb61
mov ecx, esi
call fcn.0046eb40
call fcn.0046eb40
mov eax, ebp
mov ecx, ebx
call fcn.0046eb50
mov eax, ebp
mov ecx, edx
call fcn.0046eb50
nop
call fcn.0046d6c0
jmp fcn.005fb870