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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xc]
cmp eax, dword [ecx + 8]
jbe 0x5b1c4d
sub esp, 0x8c
mov eax, dword [esp + 0x98]
cmp eax, 0x12
jge 0x5b1060
xor ecx, ecx
jmp 0x5b108f
mov eax, dword [esp + 0x94]
mov dword [esp], eax
lea ecx, [0x632cd8]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x12
call fcn.004025c0
movzx eax, byte [esp + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x98]
test cl, cl
jne 0x5b109f
mov edx, dword [esp + 0x94]
jmp 0x5b112c
mov ecx, dword [0x7bf7b0]
lea edx, [0x6083c0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x94]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.0040f130
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [eax]
mov eax, dword [eax + 4]
test cl, cl
jne 0x5b112c
mov ecx, dword [esp + 0x98]
cmp ecx, 0x12
jb 0x5b1c42
mov dword [esp], 0
lea eax, [0x62dc91]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
lea eax, [ecx - 0x12]
mov ecx, eax
neg eax
sar eax, 0x1f
and eax, 0x12
mov edx, dword [esp + 0x94]
add eax, edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.0044ac30
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xa4]
test ecx, ecx
je 0x5b1a71
mov dword [esp + 0x58], edx
mov dword [esp + 0x50], eax
nop
mov ebx, ecx
and ecx, 0x1f
cmp ecx, 0x16
jne 0x5b1193
test ebx, 0x200
je 0x5b115f
mov ecx, dword [esp + 0xa0]
jmp 0x5b119a
test ebx, 0x80
je 0x5b1172
mov ecx, dword [esp + 0xa0]
mov ebp, dword [ecx]
jmp 0x5b117b
mov ecx, dword [esp + 0xa0]
mov ebp, ecx
test ebp, ebp
xchg ebp, ebx
setne bl
xchg ebp, ebx
xor ebp, 1
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5b1a71
jmp 0x5b119a
mov ecx, dword [esp + 0xa0]
nop
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov byte [esp + 0xc], 1
call fcn.004b8b90
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test eax, eax
je 0x5b19c3
mov eax, dword [eax + 8]
cmp eax, 0x26ca392d
ja 0x5b128d
cmp eax, 0x9870dfc
jne 0x5b1229
lea eax, [0x61fc80]
cmp edx, eax
jne 0x5b14e1
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xc], eax
call fcn.005b3cf0
add esp, 0x8c
ret
cmp eax, 0x26ca392d
jne 0x5b14e1
lea eax, [0x62c0e0]
cmp edx, eax
jne 0x5b14e1
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 8], eax
call fcn.004b8740
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
call fcn.005b35d0
add esp, 0x8c
ret
cmp eax, 0x5d9a6fed
jne 0x5b13a8
lea eax, [0x622d00]
cmp edx, eax
jne 0x5b14e1
mov eax, dword [esp + 0xa4]
test eax, 0x100
je 0x5b12c7
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0xa0]
jmp 0x5b136a
mov ecx, dword [esp + 0x9c]
mov dword [esp], ecx
mov edx, dword [esp + 0xa0]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004bae60
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004bba80
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004b8740
mov eax, dword [esp + 0xc]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x54], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x14], ebx
call fcn.004b9ea0
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004b7590
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x90]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.005b3cf0
add esp, 0x8c
ret
cmp eax, 0x6abf0e14
jne 0x5b1489
lea eax, [0x621d60]
cmp edx, eax
jne 0x5b14e1
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00480110
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408e00
mov eax, dword [esp + 8]
nop
movzx ecx, byte [0x7c0510]
test cl, cl
je 0x5b1421
lea ecx, [0x606f80]
mov dword [0x7c0514], ecx
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x5b1414
mov dword [0x7c0518], eax
jmp 0x5b1427
lea edi, [0x7c0518]
call fcn.0045e950
jmp 0x5b1427
lea ecx, [0x606f80]
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x7c]
test ecx, ecx
je 0x5b1451
nop
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x5b1457
or edx, 0x80
jmp 0x5b1457
xor edx, edx
xor ecx, ecx
xor eax, eax
mov ebx, dword [esp + 0x90]
mov dword [esp], ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.005b2a90
add esp, 0x8c
ret
cmp eax, 0xc0441d00
jne 0x5b14e1
lea eax, [0x62b100]
cmp edx, eax
jne 0x5b14e1
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x9c]
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
call fcn.005b35d0
add esp, 0x8c
ret
mov dword [esp + 0x60], edx
mov dword [esp + 0x5c], ebx
lea eax, [0x60bf40]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409130
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x5b167d
mov eax, dword [eax + 0x10]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 4]
mov esi, dword [esp + 8]
test eax, eax
jne 0x5b1bee
test ecx, ecx
je 0x5b15cf
nop
movzx ecx, byte [0x7c0510]
test cl, cl
je 0x5b1570
mov dword [0x7c0514], ebp
mov ecx, dword [0x7e77b0]
test ecx, ecx
jne 0x5b1563
mov dword [0x7c0518], esi
jmp 0x5b1570
lea edi, [0x7c0518]
mov eax, esi
call fcn.0045e950
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], esi
mov eax, dword [esp + 0x74]
test eax, eax
je 0x5b1597
nop
movzx ecx, byte [eax + 0xf]
mov edx, ecx
and ecx, 0x1f
test dl, 0x20
jne 0x5b159d
or ecx, 0x80
jmp 0x5b159d
xor ecx, ecx
xor eax, eax
xor esi, esi
mov edx, dword [esp + 0x90]
mov dword [esp], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
call fcn.005b1030
add esp, 0x8c
ret
nop
mov eax, dword [esp + 0x90]
mov dword [esp], eax
lea eax, [0x62e16c]
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov byte [esp + 0x1c], 2
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
call fcn.005b3900
add esp, 0x8c
ret
lea eax, [0x60b9a0]
mov dword [esp], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
call fcn.00409130
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x5b16c7
lea ecx, [0x606f80]
mov ebx, dword [esp + 0xa4]
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0xa0]
jmp 0x5b1773
mov eax, dword [eax + 0x10]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x5b1b9a
mov dword [esp], 0
call fcn.0044aee0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408e00
mov eax, dword [esp + 8]
nop
movzx ecx, byte [0x7c0510]
test cl, cl
je 0x5b173e
lea ecx, [0x606f80]
mov dword [0x7c0514], ecx
mov edx, dword [0x7e77b0]
test edx, edx
jne 0x5b1731
mov dword [0x7c0518], eax
jmp 0x5b1744
lea edi, [0x7c0518]
call fcn.0045e950
jmp 0x5b1744
lea ecx, [0x606f80]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x6c]
test edx, edx
je 0x5b176d
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x5b1773
or ebx, 0x80
jmp 0x5b1773
xor ebx, ebx
xor edx, edx
xor eax, eax
nop
mov ebp, ebx
and ebx, 0x1f
cmp ebx, 0x11
ja 0x5b1870
cmp ebx, 6
ja 0x5b17f5
cmp ebx, 1
je 0x5b17c5
cmp ebx, 2
jb 0x5b1b1f
mov ecx, dword [esp + 0x90]
mov dword [esp], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebp
call fcn.005b32b0
jmp 0x5b19bc
mov ecx, dword [esp + 0x90]
mov dword [esp], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebp
call fcn.005b31b0
jmp 0x5b19bc
cmp ebx, 0xc
jbe 0x5b1840
lea esi, [ebx - 0xd]
cmp esi, 1
jbe 0x5b1810
cmp ebx, 0x11
je 0x5b1929
jmp 0x5b1b1f
mov ecx, dword [esp + 0x90]
mov dword [esp], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebp
call fcn.005b3750
jmp 0x5b19bc
mov ecx, dword [esp + 0x90]
mov dword [esp], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebp
call fcn.005b3440
jmp 0x5b19bc
cmp ebx, 0x16
ja 0x5b1924
cmp ebx, 0x14
je 0x5b18f0
cmp ebx, 0x15
je 0x5b18c0
cmp ebx, 0x16
jne 0x5b1b1f
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.004b8740
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
call fcn.005b1030
jmp 0x5b19bc
mov ecx, dword [esp + 0x90]
mov dword [esp], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebp
call fcn.005b1c60
jmp 0x5b19bc
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.004b8740
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 8], eax
call fcn.005b1030
jmp 0x5b19bc
cmp ebx, 0x17
jne 0x5b1956
mov ecx, dword [esp + 0x90]
mov dword [esp], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebp
call fcn.005b2730
jmp 0x5b19bc
cmp ebx, 0x18
je 0x5b1991
cmp ebx, 0x19
jne 0x5b1b1f
mov ecx, dword [esp + 0x90]
mov dword [esp], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebp
call fcn.005b1f70
jmp 0x5b19bc
mov ecx, dword [esp + 0x90]
mov dword [esp], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebp
call fcn.005b2a90
add esp, 0x8c
ret
nop
mov eax, dword [esp + 0x90]
mov dword [esp], eax
lea eax, [0x62e16c]
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov byte [esp + 0x1c], 2
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
call fcn.005b3900
add esp, 0x8c
ret
nop
mov eax, dword [esp + 0x90]
mov dword [esp], eax
lea eax, [0x62e16c]
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov byte [esp + 0x1c], 2
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
call fcn.005b3900
add esp, 0x8c
ret
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.004bae60
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x634391]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x15
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.0044ac30
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00408e00
mov eax, dword [esp + 8]
lea ecx, [0x606f80]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004337b0
nop
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], edx
lea eax, [0x60d600]
mov dword [esp], eax
lea ecx, [esp + 0x84]
mov dword [esp + 4], ecx
call fcn.00408bb0
mov eax, dword [esp + 8]
lea ecx, [0x60d600]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004337b0
nop
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], ebx
lea eax, [0x60d600]
mov dword [esp], eax
lea ecx, [esp + 0x84]
mov dword [esp + 4], ecx
call fcn.00408bb0
mov eax, dword [esp + 8]
lea ecx, [0x60d600]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004337b0
mov eax, 0x12
call fcn.0045ea30
nop
call fcn.0045d540
jmp fcn.005b1030