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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5b1a2c
sub esp, 0x54
mov eax, dword [esp + 0x58]
movzx ecx, byte [eax + 0x58]
test cl, cl
jne 0x5b147b
mov byte [eax + 0x58], 1
mov ecx, dword [eax + 0x38]
mov edx, dword [eax + 0x3c]
mov ebx, dword [eax + 0x40]
mov ebp, dword [eax + 0x44]
movzx esi, byte [eax + 0x5a]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x5b1364
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebp
mov dword [eax + 0x1c], ecx
mov dword [eax + 0x20], edx
mov dword [eax + 0x24], ebx
mov dword [eax + 0x28], ebp
mov byte [eax + 0x5a], 1
jmp 0x5b147b
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], ebx
nop
mov ebx, dword [eax + 0xc]
mov ebp, dword [eax + 0x10]
mov dword [esp + 4], ebp
mov dword [esp], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 8], ecx
call fcn.0044e710
movzx eax, byte [esp + 0x10]
test al, al
je 0x5b13ac
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x58]
mov dword [ecx + 0xc], eax
mov edx, dword [esp + 0x34]
mov dword [ecx + 0x10], edx
jmp 0x5b13b8
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x34]
mov ebx, dword [ecx + 0x1c]
mov ebp, dword [ecx + 0x20]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ebx
call fcn.0044e710
movzx eax, byte [esp + 0x10]
test al, al
je 0x5b13ef
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x58]
mov dword [ecx + 0x1c], eax
mov eax, dword [esp + 0x34]
mov dword [ecx + 0x20], eax
jmp 0x5b13f3
mov ecx, dword [esp + 0x58]
mov eax, dword [ecx + 0x14]
mov edx, dword [ecx + 0x18]
mov dword [esp + 4], edx
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0xc], eax
mov edx, dword [esp + 0x28]
mov dword [esp + 8], edx
call fcn.0044e710
movzx eax, byte [esp + 0x10]
test al, al
je 0x5b1432
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x58]
mov dword [ecx + 0x14], eax
mov edx, dword [esp + 0x30]
mov dword [ecx + 0x18], edx
jmp 0x5b143e
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x30]
mov ebx, dword [ecx + 0x24]
mov ebp, dword [ecx + 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ebx
call fcn.0044e710
movzx eax, byte [esp + 0x10]
test al, al
je 0x5b1475
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x58]
mov dword [ecx + 0x24], eax
mov eax, dword [esp + 0x30]
mov dword [ecx + 0x28], eax
jmp 0x5b1479
mov ecx, dword [esp + 0x58]
mov eax, ecx
movzx ecx, byte [eax + 0x5a]
test cl, cl
jne 0x5b14b4
mov ecx, dword [esp + 0x5c]
mov dword [eax + 0xc], ecx
mov edx, dword [esp + 0x60]
mov dword [eax + 0x10], edx
mov ebx, dword [esp + 0x64]
mov dword [eax + 0x14], ebx
mov ebp, dword [esp + 0x68]
mov dword [eax + 0x18], ebp
mov dword [eax + 0x1c], ecx
mov dword [eax + 0x20], edx
mov dword [eax + 0x24], ebx
mov dword [eax + 0x28], ebp
mov byte [eax + 0x5a], 1
jmp 0x5b15db
nop
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
mov dword [esp + 4], edx
mov dword [esp], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x5c]
mov dword [esp + 8], edx
call fcn.0044e710
movzx eax, byte [esp + 0x10]
test al, al
je 0x5b14f4
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov dword [ecx + 0xc], eax
mov edx, dword [esp + 0x60]
mov dword [ecx + 0x10], edx
jmp 0x5b1500
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x60]
mov ebx, dword [ecx + 0x1c]
mov ebp, dword [ecx + 0x20]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ebx
call fcn.0044e710
movzx eax, byte [esp + 0x10]
test al, al
je 0x5b1537
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
mov dword [ecx + 0x1c], eax
mov edx, dword [esp + 0x60]
mov dword [ecx + 0x20], edx
jmp 0x5b153b
mov ecx, dword [esp + 0x58]
mov eax, dword [ecx + 0x14]
mov edx, dword [ecx + 0x18]
mov dword [esp + 4], edx
mov dword [esp], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xc], eax
mov edx, dword [esp + 0x64]
mov dword [esp + 8], edx
call fcn.0044e710
movzx eax, byte [esp + 0x10]
test al, al
je 0x5b157a
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x58]
mov dword [ecx + 0x14], eax
mov edx, dword [esp + 0x68]
mov dword [ecx + 0x18], edx
jmp 0x5b1586
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x68]
mov ebx, dword [ecx + 0x24]
mov ebp, dword [ecx + 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ebx
call fcn.0044e710
movzx eax, byte [esp + 0x10]
test al, al
je 0x5b15bd
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x58]
mov dword [ecx + 0x24], eax
mov edx, dword [esp + 0x68]
mov dword [ecx + 0x28], edx
jmp 0x5b15c9
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x68]
mov eax, ecx
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x68]
movzx esi, byte [eax + 0x5a]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x5b1616
mov esi, dword [esp + 0x6c]
mov dword [eax + 0xc], esi
mov edi, dword [esp + 0x70]
mov dword [eax + 0x10], edi
mov ebx, dword [esp + 0x74]
mov dword [eax + 0x14], ebx
mov ebp, dword [esp + 0x78]
mov dword [eax + 0x18], ebp
mov dword [eax + 0x1c], esi
mov dword [eax + 0x20], edi
mov dword [eax + 0x24], ebx
mov dword [eax + 0x28], ebp
mov byte [eax + 0x5a], 1
jmp 0x5b1745
nop
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
mov dword [esp + 4], edx
mov dword [esp], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x6c]
mov dword [esp + 8], edx
call fcn.0044e710
movzx eax, byte [esp + 0x10]
test al, al
je 0x5b1656
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x58]
mov dword [ecx + 0xc], eax
mov edx, dword [esp + 0x70]
mov dword [ecx + 0x10], edx
jmp 0x5b1662
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x70]
mov ebx, dword [ecx + 0x1c]
mov ebp, dword [ecx + 0x20]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ebx
call fcn.0044e710
movzx eax, byte [esp + 0x10]
test al, al
je 0x5b1699
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x58]
mov dword [ecx + 0x1c], eax
mov edx, dword [esp + 0x70]
mov dword [ecx + 0x20], edx
jmp 0x5b169d
mov ecx, dword [esp + 0x58]
mov eax, dword [ecx + 0x14]
mov edx, dword [ecx + 0x18]
mov dword [esp + 4], edx
mov dword [esp], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xc], eax
mov edx, dword [esp + 0x74]
mov dword [esp + 8], edx
call fcn.0044e710
movzx eax, byte [esp + 0x10]
test al, al
je 0x5b16dc
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x58]
mov dword [ecx + 0x14], eax
mov edx, dword [esp + 0x78]
mov dword [ecx + 0x18], edx
jmp 0x5b16e8
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x78]
mov ebx, dword [ecx + 0x24]
mov ebp, dword [ecx + 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ebx
call fcn.0044e710
movzx eax, byte [esp + 0x10]
test al, al
je 0x5b171f
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x58]
mov dword [ecx + 0x24], eax
mov edx, dword [esp + 0x78]
mov dword [ecx + 0x28], edx
jmp 0x5b172b
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x78]
mov eax, ecx
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x7c]
mov dword [eax + 0x38], ebx
mov ebp, dword [esp + 0x80]
mov dword [eax + 0x3c], ebp
mov esi, dword [esp + 0x84]
mov dword [eax + 0x40], esi
mov edi, dword [esp + 0x88]
mov dword [eax + 0x44], edi
movzx ecx, byte [eax + 0x5a]
test cl, cl
jne 0x5b1793
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebp
mov dword [eax + 0x14], esi
mov dword [eax + 0x18], edi
mov dword [eax + 0x1c], ebx
mov dword [eax + 0x20], ebp
mov dword [eax + 0x24], esi
mov dword [eax + 0x28], edi
mov byte [eax + 0x5a], 1
jmp 0x5b18cb
nop
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
mov dword [esp + 4], edx
mov dword [esp], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ebx
call fcn.0044e710
movzx eax, byte [esp + 0x10]
test al, al
je 0x5b17ce
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x58]
mov dword [ecx + 0xc], eax
mov edx, dword [esp + 0x80]
mov dword [ecx + 0x10], edx
jmp 0x5b17dd
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x80]
mov ebx, dword [ecx + 0x1c]
mov ebp, dword [ecx + 0x20]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ebx
call fcn.0044e710
movzx eax, byte [esp + 0x10]
test al, al
je 0x5b1817
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x58]
mov dword [ecx + 0x1c], eax
mov edx, dword [esp + 0x80]
mov dword [ecx + 0x20], edx
jmp 0x5b181b
mov ecx, dword [esp + 0x58]
mov eax, dword [ecx + 0x14]
mov edx, dword [ecx + 0x18]
mov dword [esp + 4], edx
mov dword [esp], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0xc], eax
mov edx, dword [esp + 0x84]
mov dword [esp + 8], edx
call fcn.0044e710
movzx eax, byte [esp + 0x10]
test al, al
je 0x5b1866
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x58]
mov dword [ecx + 0x14], eax
mov edx, dword [esp + 0x88]
mov dword [ecx + 0x18], edx
jmp 0x5b1878
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x88]
mov ebx, dword [ecx + 0x24]
mov ebp, dword [ecx + 0x28]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 8], ebx
call fcn.0044e710
movzx eax, byte [esp + 0x10]
test al, al
je 0x5b18b5
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x58]
mov dword [ecx + 0x24], eax
mov edx, dword [esp + 0x88]
mov dword [ecx + 0x28], edx
jmp 0x5b18c7
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x88]
mov edx, dword [esp + 0x60]
mov dword [esp + 4], edx
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.0044d600
mov eax, dword [esp + 8]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x68]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp], ecx
call fcn.0044d600
mov eax, dword [esp + 8]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp], ecx
call fcn.0044d600
mov eax, dword [esp + 8]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x78]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp], ecx
call fcn.0044d600
mov eax, dword [esp + 8]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x80]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp], ecx
call fcn.0044d600
mov eax, dword [esp + 8]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp], ecx
call fcn.0044d600
mov eax, dword [esp + 8]
mov dword [esp + 0x20], eax
lea edi, [esp + 0x38]
xor eax, eax
call fcn.00465fe9
mov byte [esp + 0x38], 3
mov eax, dword [esp + 0x34]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 4]
inc ecx
mov edx, dword [eax]
mov ebx, dword [eax + 8]
cmp ebx, ecx
jae 0x5b1a15
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6b2ce0]
mov dword [esp + 0x10], eax
call fcn.0044be60
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x58]
mov dword [edi + 8], edx
mov edx, dword [0x1eaa9f0]
test edx, edx
jne 0x5b1a0c
mov dword [edi], eax
jmp 0x5b1a11
call fcn.00465d80
mov edx, eax
mov eax, edi
mov dword [eax + 4], ecx
imul eax, ecx, 0x1c
lea edi, [eax + edx - 0x1c]
lea esi, [esp + 0x38]
call fcn.004664ba
add esp, 0x54
ret
call fcn.004649b0
jmp fcn.005b1300