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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5bd457
sub esp, 0x50
mov ebx, dword [esp + 0x54]
mov ebp, dword [ebx + 0x34]
test ebp, ebp
je 0x5bd43e
mov ebp, dword [esp + 0x58]
cmp dword [ebx + 0x64], ebp
jge 0x5bcb17
mov esi, dword [ebx + 0x7c]
test esi, esi
jne 0x5bca89
mov dword [esp], ebx
call fcn.005bc6c0
movzx eax, byte [esp + 4]
test al, al
je 0x5bcb0e
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x58]
mov esi, dword [ebx + 0x58]
mov eax, ebp
mov ebp, dword [ebx + 0x54]
mov ecx, ebp
mov ebp, dword [ebx + 0x5c]
mov edx, ebx
mov ebx, dword [ebx + 0x60]
test ebx, ebx
jle 0x5bcaf2
cmp ebx, esi
jge 0x5bcaf2
mov dword [esp + 0x24], esi
sub ebp, ebx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, ebx
mov edi, ebp
add ebp, ecx
sub esi, ebx
mov ebx, dword [esp + 0x24]
cmp ebx, esi
jg 0x5bcac4
mov esi, ebx
test edi, edi
je 0x5bcae4
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0045f270
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x24]
mov ebp, dword [edx + 0x60]
mov dword [edx + 0x60], 0
sub ebx, ebp
jmp 0x5bcb01
cmp ebx, esi
jne 0x5bcaff
mov dword [edx + 0x60], 0
xor esi, esi
mov ebx, esi
mov ebp, dword [edx + 0x5c]
mov dword [edx + 0x58], ebp
mov ecx, 1
jmp 0x5bcb22
mov byte [esp + 0x5c], 0
add esp, 0x50
ret
mov byte [esp + 0x5c], 1
add esp, 0x50
ret
xor ecx, ecx
cmp dword [edx + 0x64], eax
jge 0x5bcbc5
mov dword [esp + 0x38], ebx
test cl, cl
je 0x5bcb3f
mov ebp, dword [edx + 0x78]
cmp dword [edx + 0x70], ebp
jne 0x5bcc00
mov dword [esp], edx
call fcn.005bc840
movzx eax, byte [esp + 4]
test al, al
je 0x5bcba4
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x38]
jmp 0x5bcc00
movzx ebx, byte [edx + 0x50]
test bl, bl
jne 0x5bd005
mov ebx, dword [esp + 0x30]
jmp 0x5bcb95
movzx ebx, byte [edx + 0x50]
test bl, bl
jne 0x5bd0e3
mov ebx, dword [esp + 0x30]
jmp 0x5bcb95
movzx ebx, byte [edx + 0x50]
test bl, bl
jne 0x5bd171
mov ebx, dword [esp + 0x30]
movzx ebp, byte [edx + 0x50]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5bcb20
jmp 0x5bd1ba
mov eax, dword [esp + 0x54]
mov edx, dword [eax + 0x5c]
mov ecx, dword [esp + 0x38]
cmp ecx, edx
ja 0x5bcbf8
mov dword [eax + 0x58], ecx
mov byte [esp + 0x5c], 0
add esp, 0x50
ret
mov byte [ebp + ebx], 0
inc ebx
cmp eax, ebx
jle 0x5bcbd5
mov ecx, dword [edx + 0x58]
mov ebp, dword [edx + 0x54]
cmp ebx, ecx
jb 0x5bcbbf
jmp 0x5bcbf1
mov eax, dword [edx + 0x5c]
cmp ebx, eax
ja 0x5bcbe8
mov dword [edx + 0x58], ebx
mov byte [esp + 0x5c], 1
add esp, 0x50
ret
mov ecx, ebx
mov edx, eax
call fcn.0045ea10
mov eax, ebx
call fcn.0045e9d0
call fcn.0045ea10
inc dword [edx + 0x64]
mov ebp, dword [edx + 0x78]
mov ecx, dword [edx + 0x70]
mov esi, dword [edx + 0x6c]
cmp ecx, ebp
je 0x5bcb95
mov dword [esp + 0x34], ebp
mov dword [esp + 0x4c], esi
mov dword [esp + 0x30], ebx
mov edi, ecx
sub ecx, ebp
mov ebx, dword [edx + 0x7c]
cmp ebx, 1
jne 0x5bcd17
cmp edi, ebp
jbe 0x5bd435
movzx ebx, byte [esi + ebp]
test bl, 0x80
jne 0x5bcc4d
mov dword [esp + 0x44], eax
mov eax, 1
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
jmp 0x5bccb4
mov byte [esp + 0xf], bl
and ebx, 0xffffffe0
cmp bl, 0xc0
jne 0x5bcc6e
movzx ebx, byte [esp + 0xf]
mov ebx, 2
mov dword [esp + 0x10], ebx
movzx ebx, byte [esp + 0xf]
jmp 0x5bccb4
movzx ebx, byte [esp + 0xf]
and ebx, 0xfffffff0
cmp bl, 0xe0
jne 0x5bcc90
movzx ebx, byte [esp + 0xf]
mov ebx, 3
mov dword [esp + 0x10], ebx
movzx ebx, byte [esp + 0xf]
jmp 0x5bccb4
movzx ebx, byte [esp + 0xf]
and ebx, 0xfffffff8
cmp bl, 0xf0
jne 0x5bd04e
movzx ebx, byte [esp + 0xf]
mov ebx, 4
mov dword [esp + 0x10], ebx
movzx ebx, byte [esp + 0xf]
mov esi, dword [esp + 0x10]
cmp esi, ecx
jg 0x5bcb61
test bl, 0x80
jne 0x5bccca
and ebx, 0x7f
jmp 0x5bccfd
mov ecx, ebx
and ebx, 0xffffffe0
cmp bl, 0xc0
jne 0x5bccdb
and ecx, 0x1f
mov ebx, ecx
jmp 0x5bccfd
mov ebx, ecx
and ecx, 0xfffffff0
cmp cl, 0xe0
jne 0x5bccea
and ebx, 0xf
jmp 0x5bccfd
mov ecx, ebx
and ebx, 0xfffffff8
cmp bl, 0xf0
jne 0x5bccfb
and ecx, 7
mov ebx, ecx
jmp 0x5bccfd
xor ebx, ebx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x3c], eax
mov eax, 1
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x3c]
jmp 0x5bd2c6
lea esi, [ebx - 2]
cmp esi, 1
ja 0x5bd28e
cmp ecx, 2
jl 0x5bcb85
cmp ebx, 2
xchg esi, ebx
setne bl
xchg esi, ebx
xchg esi, eax
movzx eax, al
xchg esi, eax
mov dword [esp + 0x18], esi
add esi, ebp
cmp edi, esi
jbe 0x5bd285
mov dword [esp + 0x2c], esi
cmp ebx, 2
sete bl
mov ebp, dword [esp + 0x4c]
movzx esi, byte [ebp + esi]
mov dword [esp + 0x28], esi
movzx ebx, bl
mov dword [esp + 0x20], ebx
mov esi, dword [esp + 0x34]
add ebx, esi
cmp edi, ebx
jbe 0x5bd27c
mov dword [esp + 0x34], ebx
movzx ebx, byte [ebp + ebx]
shl ebx, 8
mov ebp, dword [esp + 0x28]
add ebx, ebp
mov ebp, ebx
and ebx, 0xfc00
cmp ebx, 0xdc00
je 0x5bd12c
cmp ebx, 0xd800
jne 0x5bce22
cmp ecx, 4
jl 0x5bcb73
mov ebx, dword [esp + 0x18]
lea ebx, [ebx + esi + 2]
cmp edi, ebx
jbe 0x5bd273
mov ebx, dword [esp + 0x2c]
mov ecx, ebp
mov ebp, dword [esp + 0x4c]
movzx ebx, byte [ebp + ebx + 2]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x20]
lea ebx, [ebx + esi + 2]
cmp edi, ebx
jbe 0x5bd26a
mov ebx, dword [esp + 0x34]
movzx ebx, byte [ebp + ebx + 2]
shl ebx, 8
mov ebp, dword [esp + 0x28]
add ebx, ebp
mov ebp, ebx
and ebx, 0xfc00
cmp ebx, 0xdc00
jne 0x5bd09b
and ecx, 0x3ff
shl ecx, 0xa
and ebp, 0x3ff
lea ebx, [ebp + ecx + 0x10000]
mov ecx, 4
jmp 0x5bce29
mov ebx, ebp
mov ecx, 2
cmp ebx, 9
je 0x5bce76
cmp ebx, 0xa
je 0x5bce76
cmp ebx, 0xd
je 0x5bce76
lea ebp, [ebx - 0x20]
cmp ebp, 0x5e
jbe 0x5bce76
cmp ebx, 0x85
je 0x5bce76
lea ebp, [ebx - 0xa0]
cmp ebp, 0xd75f
jbe 0x5bce76
lea ebp, [ebx - 0xe000]
cmp ebp, 0x1ffd
jbe 0x5bce76
lea ebp, [ebx - 0x10000]
cmp ebp, 0xfffff
ja 0x5bd1d9
lea ebp, [ecx + esi]
mov dword [edx + 0x78], ebp
add dword [edx + 0x80], ecx
cmp ebx, 0x7f
jg 0x5bcea5
mov ecx, dword [edx + 0x58]
mov ebp, dword [edx + 0x54]
mov esi, dword [esp + 0x30]
cmp esi, ecx
jae 0x5bd263
mov byte [ebp + esi], bl
lea ebx, [esi + 1]
jmp 0x5bcbfd
cmp ebx, 0x7ff
jg 0x5bcef6
mov ecx, dword [edx + 0x58]
mov ebp, dword [edx + 0x54]
mov esi, dword [esp + 0x30]
cmp esi, ecx
jae 0x5bd25c
mov ecx, ebx
sar ebx, 6
add ebx, 0xc0
mov byte [ebp + esi], bl
mov ebx, dword [edx + 0x58]
mov ebp, dword [edx + 0x54]
mov edi, ebp
lea ebp, [esi + 1]
cmp ebx, ebp
jbe 0x5bd253
and ecx, 0x3f
lea ebx, [ecx + 0x80]
mov byte [esi + edi + 1], bl
lea ebx, [esi + 2]
jmp 0x5bcbfd
cmp ebx, 0xffff
jg 0x5bcf6e
mov ecx, dword [edx + 0x58]
mov ebp, dword [edx + 0x54]
mov esi, dword [esp + 0x30]
cmp esi, ecx
jae 0x5bd24c
mov ecx, ebx
sar ebx, 0xc
add ebx, 0xe0
mov byte [ebp + esi], bl
mov ebx, dword [edx + 0x58]
mov ebp, dword [edx + 0x54]
mov edi, ebp
lea ebp, [esi + 1]
cmp ebx, ebp
jbe 0x5bd243
mov ebx, ecx
sar ecx, 6
and ecx, 0x3f
lea ebp, [ecx + 0x80]
xchg ebp, eax
mov byte [esi + edi + 1], al
xchg ebp, eax
mov ecx, dword [edx + 0x58]
mov ebp, dword [edx + 0x54]
mov edi, ebp
lea ebp, [esi + 2]
cmp ecx, ebp
jbe 0x5bd23c
and ebx, 0x3f
add ebx, 0x80
mov byte [esi + edi + 2], bl
lea ebx, [esi + 3]
jmp 0x5bcbfd
mov ecx, dword [edx + 0x58]
mov ebp, dword [edx + 0x54]
mov esi, dword [esp + 0x30]
cmp esi, ecx
jae 0x5bd235
mov ecx, ebx
sar ebx, 0x12
add ebx, 0xf0
mov byte [ebp + esi], bl
mov ebx, dword [edx + 0x58]
mov ebp, dword [edx + 0x54]
mov edi, ebp
lea ebp, [esi + 1]
cmp ebx, ebp
jbe 0x5bd22c
mov ebx, ecx
sar ecx, 0xc
and ecx, 0x3f
lea ebp, [ecx + 0x80]
xchg ebp, eax
mov byte [esi + edi + 1], al
xchg ebp, eax
mov ecx, dword [edx + 0x58]
mov ebp, dword [edx + 0x54]
mov edi, ebp
lea ebp, [esi + 2]
cmp ecx, ebp
jbe 0x5bd225
mov ebp, ebx
sar ebx, 6
and ebx, 0x3f
add ebx, 0x80
mov byte [esi + edi + 2], bl
mov ecx, dword [edx + 0x58]
mov ebx, dword [edx + 0x54]
mov edi, ebx
lea ebx, [esi + 3]
cmp ecx, ebx
jbe 0x5bd21e
and ebp, 0x3f
add ebp, 0x80
xchg ebp, eax
mov byte [esi + edi + 3], al
xchg ebp, eax
lea ebx, [esi + 4]
jmp 0x5bcbfd
mov ecx, dword [edx + 0x80]
mov dword [edx], 2
mov dword [edx + 8], 0x1f
mov ebx, dword [0x7e77b0]
test ebx, ebx
jne 0x5bd02d
lea eax, [0x639714]
mov dword [edx + 4], eax
jmp 0x5bd03b
lea edi, [edx + 4]
lea eax, [0x639714]
call fcn.0045e950
mov dword [edx + 0xc], ecx
mov dword [edx + 0x10], 0xffffffff
mov byte [esp + 0x5c], 0
add esp, 0x50
ret
mov ecx, dword [edx + 0x80]
mov dword [edx], 2
mov dword [edx + 8], 0x1b
mov ebx, dword [0x7e77b0]
test ebx, ebx
jne 0x5bd076
lea eax, [0x637755]
mov dword [edx + 4], eax
jmp 0x5bd084
lea edi, [edx + 4]
lea eax, [0x637755]
call fcn.0045e950
mov dword [edx + 0xc], ecx
movzx eax, byte [esp + 0xf]
movzx eax, al
mov dword [edx + 0x10], eax
mov byte [esp + 0x5c], 0
add esp, 0x50
ret
mov ecx, dword [edx + 0x80]
mov dword [edx], 2
mov dword [edx + 8], 0x1b
mov ebx, dword [0x7e77b0]
test ebx, ebx
jne 0x5bd0c3
lea eax, [0x6375db]
mov dword [edx + 4], eax
jmp 0x5bd0d1
lea edi, [edx + 4]
lea eax, [0x6375db]
call fcn.0045e950
lea eax, [ecx + 2]
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], ebp
mov byte [esp + 0x5c], 0
add esp, 0x50
ret
mov ecx, dword [edx + 0x80]
mov dword [edx], 2
mov dword [edx + 8], 0x20
mov ebx, dword [0x7e77b0]
test ebx, ebx
jne 0x5bd10b
lea eax, [0x639c7e]
mov dword [edx + 4], eax
jmp 0x5bd119
lea edi, [edx + 4]
lea eax, [0x639c7e]
call fcn.0045e950
mov dword [edx + 0xc], ecx
mov dword [edx + 0x10], 0xffffffff
mov byte [esp + 0x5c], 0
add esp, 0x50
ret
mov ecx, dword [edx + 0x80]
mov dword [edx], 2
mov dword [edx + 8], 0x1d
mov ebx, dword [0x7e77b0]
test ebx, ebx
jne 0x5bd154
lea eax, [0x638a17]
mov dword [edx + 4], eax
jmp 0x5bd162
lea edi, [edx + 4]
lea eax, [0x638a17]
call fcn.0045e950
mov dword [edx + 0xc], ecx
mov dword [edx + 0x10], ebp
mov byte [esp + 0x5c], 0
add esp, 0x50
ret
mov ecx, dword [edx + 0x80]
mov dword [edx], 2
mov dword [edx + 8], 0x1b
mov ebx, dword [0x7e77b0]
test ebx, ebx
jne 0x5bd199
lea eax, [0x637698]
mov dword [edx + 4], eax
jmp 0x5bd1a7
lea edi, [edx + 4]
lea eax, [0x637698]
call fcn.0045e950
mov dword [edx + 0xc], ecx
mov dword [edx + 0x10], 0xffffffff
mov byte [esp + 0x5c], 0
add esp, 0x50
ret
mov ecx, dword [edx + 0x58]
mov ebp, dword [edx + 0x54]
cmp ebx, ecx
jae 0x5bd1d2
mov byte [ebp + ebx], 0
inc dword [edx + 0x64]
inc ebx
jmp 0x5bcbc5
mov eax, ebx
call fcn.0045e9d0
mov ecx, dword [edx + 0x80]
mov dword [edx], 2
mov dword [edx + 8], 0x22
mov ebp, dword [0x7e77b0]
test ebp, ebp
jne 0x5bd201
lea eax, [0x63a8a4]
mov dword [edx + 4], eax
jmp 0x5bd20f
lea edi, [edx + 4]
lea eax, [0x63a8a4]
call fcn.0045e950
mov dword [edx + 0xc], ecx
mov dword [edx + 0x10], ebx
mov byte [esp + 0x5c], 0
add esp, 0x50
ret
mov eax, ebx
call fcn.0045e9d0
mov eax, ebp
call fcn.0045e9d0
mov eax, ebp
mov ecx, ebx
call fcn.0045e9d0
mov eax, esi
call fcn.0045e9d0
mov eax, ebp
call fcn.0045e9d0
mov eax, ebp
mov ecx, ebx
call fcn.0045e9d0
mov eax, esi
call fcn.0045e9d0
mov eax, ebp
mov ecx, ebx
call fcn.0045e9d0
mov eax, esi
call fcn.0045e9d0
mov eax, esi
call fcn.0045e9d0
mov eax, ebx
mov ecx, edi
call fcn.0045e9d0
mov eax, ebx
mov ecx, edi
call fcn.0045e9d0
mov eax, ebx
mov ecx, edi
call fcn.0045e9d0
mov eax, esi
mov ecx, edi
call fcn.0045e9d0
lea eax, [0x606f80]
mov dword [esp], eax
lea eax, [0x68b340]
mov dword [esp + 4], eax
call fcn.004337b0
inc ebx
mov ebp, dword [esp + 0x14]
shl ebp, 6
movzx eax, byte [esp + 0xf]
and eax, 0x3f
add eax, ebp
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x1c], ebx
mov ebx, eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x1c]
cmp ebx, esi
jge 0x5bd33f
add ebp, ebx
cmp edi, ebp
jbe 0x5bd42c
movzx ebp, byte [ecx + ebp]
xchg ebp, eax
mov byte [esp + 0xf], al
xchg ebp, eax
and ebp, 0xffffffc0
xchg ebp, eax
cmp al, 0x80
xchg ebp, eax
je 0x5bd2a6
mov ecx, dword [edx + 0x80]
mov dword [edx], 2
mov dword [edx + 8], 0x1c
add ecx, ebx
mov ebx, dword [0x7e77b0]
test ebx, ebx
jne 0x5bd31a
lea eax, [0x637f4f]
mov dword [edx + 4], eax
jmp 0x5bd328
lea edi, [edx + 4]
lea eax, [0x637f4f]
call fcn.0045e950
mov dword [edx + 0xc], ecx
movzx eax, byte [esp + 0xf]
movzx eax, al
mov dword [edx + 0x10], eax
mov byte [esp + 0x5c], 0
add esp, 0x50
ret
cmp esi, 1
jne 0x5bd34a
mov ebx, dword [esp + 0x14]
jmp 0x5bd37b
cmp esi, 2
jne 0x5bd35d
mov ebx, dword [esp + 0x14]
cmp ebx, 0x80
jge 0x5bd37b
jmp 0x5bd361
mov ebx, dword [esp + 0x14]
cmp esi, 3
jne 0x5bd36e
cmp ebx, 0x800
jge 0x5bd37b
cmp esi, 4
jne 0x5bd3e3
cmp ebx, 0x10000
jl 0x5bd3e3
mov ecx, ebp
lea ebp, [ebx - 0xd800]
cmp ebp, 0x7ff
jbe 0x5bd39e
cmp ebx, 0x10ffff
jg 0x5bd39e
mov esi, ecx
mov ecx, dword [esp + 0x10]
jmp 0x5bce29
mov ecx, dword [edx + 0x80]
mov dword [edx], 2
mov dword [edx + 8], 0x19
mov ebp, dword [0x7e77b0]
test ebp, ebp
jne 0x5bd3c6
lea eax, [0x636791]
mov dword [edx + 4], eax
jmp 0x5bd3d4
lea edi, [edx + 4]
lea eax, [0x636791]
call fcn.0045e950
mov dword [edx + 0xc], ecx
mov dword [edx + 0x10], ebx
mov byte [esp + 0x5c], 0
add esp, 0x50
ret
mov ecx, dword [edx + 0x80]
mov dword [edx], 2
mov dword [edx + 8], 0x22
mov ebx, dword [0x7e77b0]
test ebx, ebx
jne 0x5bd40b
lea eax, [0x63aa80]
mov dword [edx + 4], eax
jmp 0x5bd419
lea edi, [edx + 4]
lea eax, [0x63aa80]
call fcn.0045e950
mov dword [edx + 0xc], ecx
mov dword [edx + 0x10], 0xffffffff
mov byte [esp + 0x5c], 0
add esp, 0x50
ret
mov eax, ebp
mov ecx, edi
call fcn.0045e9d0
mov eax, ebp
mov ecx, edi
call fcn.0045e9d0
lea eax, [0x606f80]
mov dword [esp], eax
lea eax, [0x68b338]
mov dword [esp + 4], eax
call fcn.004337b0
nop
call fcn.0045d540
jmp fcn.005bca30