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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5b21ca
sub esp, 0x1c
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0xc]
mov ebx, dword [ecx]
mov dword [esp + 0x18], ebx
mov ebp, dword [0xa17588]
mov esi, dword [edx + 0x14]
mov edx, dword [edx + 0x10]
mov eax, ebx
lea ebx, [0xa17588]
cmp dword [ebx + 4], esi
jne 0x5b1cf4
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00402870
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5b2011
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0xc]
mov ebx, dword [edx + 0x78]
test ebx, ebx
jne 0x5b1fd1
movzx ebx, word [edx + 0x80]
test bx, bx
jne 0x5b1f91
movzx edx, word [edx + 0x54]
test dx, dx
je 0x5b1f51
mov edx, dword [ecx + 0x14]
mov ebx, dword [edx]
mov dword [esp + 0x10], ebx
mov edx, dword [edx + 4]
mov dword [esp + 0x14], edx
mov ebp, dword [0xa16e90]
lea esi, [0x896c10]
cmp ebx, esi
jne 0x5b1d7a
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00403670
movzx eax, byte [esp + 0xc]
test al, al
je 0x5b1d6a
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov edx, 0x1d
jmp 0x5b1e4f
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov ebp, dword [0xa16e84]
lea esi, [0x896ba4]
cmp ebx, esi
jne 0x5b1dc5
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00403670
movzx eax, byte [esp + 0xc]
test al, al
je 0x5b1db5
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov edx, 0x17
jmp 0x5b1e4f
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov ebp, dword [0xa16e88]
lea esi, [0x896bc8]
cmp ebx, esi
jne 0x5b1e0d
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00403670
movzx eax, byte [esp + 0xc]
test al, al
je 0x5b1dfd
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov edx, 0x18
jmp 0x5b1e4f
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov ebp, dword [0xa16e8c]
lea esi, [0x896bec]
cmp ebx, esi
jne 0x5b1e4d
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00403670
movzx eax, byte [esp + 0xc]
test al, al
je 0x5b1e45
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov edx, 0x19
jmp 0x5b1e4f
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
xor edx, edx
mov ebx, dword [ecx + 0xc]
cmp word [ebx + 0x54], dx
jne 0x5b1f11
movzx edx, byte [ebx + 0x64]
test dl, dl
je 0x5b1efd
mov edx, dword [ecx + 0x10]
movzx ebx, word [ebx + 0x66]
mov edx, dword [edx + 0xe4]
cmp edx, ebx
jle 0x5b1ebd
cmp edx, 1
jne 0x5b1e9c
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x5b1e9c
movzx edx, word [edx + 0xe]
mov ebx, dword [0xa17518]
mov ebp, dword [0xa1751c]
xor esi, esi
jmp 0x5b2058
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.005a6cb0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
add esp, 0x1c
ret
mov dword [esp], eax
mov byte [esp + 4], 0x2f
call fcn.005a6cb0
lea eax, [0x687ca0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x23
lea ecx, [0x6c4edd]
mov dword [eax], ecx
lea ecx, [0x895704]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
add esp, 0x1c
ret
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
add esp, 0x1c
ret
mov dword [esp], eax
mov byte [esp + 4], 0x2f
call fcn.005a6cb0
lea eax, [0x687ca0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x26
lea ecx, [0x6c63a9]
mov dword [eax], ecx
lea ecx, [0x895704]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
add esp, 0x1c
ret
mov dword [esp], eax
mov byte [esp + 4], 0x2f
call fcn.005a6cb0
lea eax, [0x687ca0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x24
lea ecx, [0x6c56d6]
mov dword [eax], ecx
lea ecx, [0x895704]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
add esp, 0x1c
ret
mov dword [esp], eax
mov byte [esp + 4], 0x32
call fcn.005a6cb0
lea eax, [0x687ca0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x22
lea ecx, [0x6c48be]
mov dword [eax], ecx
lea ecx, [0x895704]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
add esp, 0x1c
ret
mov dword [esp], eax
mov byte [esp + 4], 0x6e
call fcn.005a6cb0
lea eax, [0x687ca0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x31
lea ecx, [0x6c99cb]
mov dword [eax], ecx
lea ecx, [0x895704]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
add esp, 0x1c
ret
mov eax, dword [esp + 0x18]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.005a6cb0
lea eax, [0x687ca0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x2f
lea ecx, [0x6c90e9]
mov dword [eax], ecx
lea ecx, [0x895704]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
add esp, 0x1c
ret
inc esi
mov ecx, edi
cmp esi, ebp
jge 0x5b2068
mov edi, ecx
mov ecx, dword [ebx + esi*4]
cmp word [ecx], dx
jne 0x5b2055
jmp 0x5b206c
mov edi, ecx
xor ecx, ecx
test ecx, ecx
je 0x5b21a9
mov edx, dword [edi + 0x3c]
mov ecx, dword [ecx + 0xc]
cmp dword [edx + 0xc], ecx
jne 0x5b2169
mov byte [edi + 0x38], 1
mov byte [eax + 0x30], 1
mov ecx, dword [edi + 0x18]
mov edx, dword [ecx + 0x1c]
mov ebx, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
mov dword [eax + 0x50], ebx
mov dword [eax + 0x54], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5b20ac
mov dword [eax + 0x4c], edx
jmp 0x5b20c0
lea ecx, [eax + 0x4c]
mov ebx, edi
mov edi, ecx
mov ebp, eax
mov eax, edx
call fcn.0045f670
mov eax, ebp
mov edi, ebx
mov ecx, dword [edi + 0x18]
mov edx, dword [ecx + 0x28]
mov ebx, dword [ecx + 0x2c]
mov ecx, dword [ecx + 0x30]
mov dword [eax + 0x68], ebx
mov dword [eax + 0x6c], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5b20e1
mov dword [eax + 0x64], edx
jmp 0x5b20f5
lea ecx, [eax + 0x64]
mov ebx, edi
mov edi, ecx
mov ebp, eax
mov eax, edx
call fcn.0045f670
mov eax, ebp
mov edi, ebx
mov ecx, dword [edi + 0x18]
mov edx, dword [ecx + 0x48]
mov ebx, dword [ecx + 0x4c]
mov ecx, dword [ecx + 0x50]
mov dword [eax + 0x38], ebx
mov dword [eax + 0x3c], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5b2116
mov dword [eax + 0x34], edx
jmp 0x5b212a
lea ecx, [eax + 0x34]
mov ebx, edi
mov edi, ecx
mov ebp, eax
mov eax, edx
call fcn.0045f670
mov eax, ebp
mov edi, ebx
mov ecx, dword [edi + 0x18]
mov edx, dword [ecx + 0x54]
mov ebx, dword [ecx + 0x58]
mov ecx, dword [ecx + 0x5c]
mov dword [eax + 0x44], ebx
mov dword [eax + 0x48], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5b214b
mov dword [eax + 0x40], edx
jmp 0x5b2155
lea edi, [eax + 0x40]
mov eax, edx
call fcn.0045f670
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
add esp, 0x1c
ret
mov dword [esp], eax
mov byte [esp + 4], 0x2f
call fcn.005a6cb0
lea eax, [0x687ca0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x39
lea ecx, [0x6cb1cc]
mov dword [eax], ecx
lea ecx, [0x895704]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
add esp, 0x1c
ret
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.005a6cb0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
add esp, 0x1c
ret
call fcn.0045e260
jmp fcn.005b1c90