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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x14]
cmp eax, dword [ecx + 8]
jbe 0x5c2329
sub esp, 0x94
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0xa4]
cmp ecx, eax
jle 0x5c1b40
jbe 0x5c2323
mov ebx, dword [esp + 0x98]
movzx ebp, byte [eax + ebx]
lea esi, [eax + 1]
cmp ecx, esi
jle 0x5c1ae3
mov edx, ebp
and ebp, 0x1f
xchg ebp, eax
cmp al, 0x1f
xchg ebp, eax
je 0x5c2309
jmp 0x5c1b9d
lea eax, [0x6987c0]
mov dword [esp], eax
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x3c
lea ecx, [0x6dcf27]
mov dword [eax], ecx
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
lea ecx, [0x73d8a4]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
add esp, 0x94
ret
lea eax, [0x6987c0]
mov dword [esp], eax
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x28
lea ecx, [0x6d8766]
mov dword [eax], ecx
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
lea ecx, [0x73d8a4]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
add esp, 0x94
ret
cmp ecx, esi
jbe 0x5c2301
mov dword [esp + 0x28], esi
movzx ebp, byte [esi + ebx]
mov edi, ebx
lea ebx, [esi + 1]
xchg ebp, eax
cmp al, 0x80
xchg ebp, eax
jbe 0x5c1d45
and ebp, 0x7f
cmp ebp, 4
jg 0x5c1ce8
jne 0x5c1c44
cmp ecx, ebx
jbe 0x5c22fa
mov dword [esp + 0x34], ebp
movzx ebp, byte [esi + edi + 1]
cmp ebp, 0x7f
jg 0x5c1be7
mov ebp, dword [esp + 0x34]
jmp 0x5c1c44
lea eax, [0x6987c0]
mov dword [esp], eax
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x23
lea ecx, [0x6d6bb5]
mov dword [eax], ecx
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
lea ecx, [0x73d8a4]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
add esp, 0x94
ret
cmp ecx, ebx
jbe 0x5c22f3
mov dword [esp + 0x44], ebx
movzx ebx, byte [esi + edi + 1]
test ebx, ebx
je 0x5c1c8b
lea ebx, [esi + ebp + 1]
mov esi, dword [esp + 0xa0]
cmp esi, ebx
jb 0x5c22ea
mov esi, dword [esp + 0x44]
cmp ebx, esi
jb 0x5c22e1
mov byte [esp + 0x27], dl
xor ebx, ebx
xor ebx, ebx
mov dword [esp + 0x38], ebx
xor ebx, ebx
jmp 0x5c22c3
lea eax, [0x6987c0]
mov dword [esp], eax
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x28
lea ecx, [0x6d873e]
mov dword [eax], ecx
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
lea ecx, [0x73d8a4]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
add esp, 0x94
ret
lea eax, [0x6987c0]
mov dword [esp], eax
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x20
lea ecx, [0x6d551b]
mov dword [eax], ecx
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
lea ecx, [0x73d8a4]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
add esp, 0x94
ret
jne 0x5c1d4e
mov ebp, 0
jmp 0x5c1d53
xchg ebp, eax
movzx eax, al
xchg ebp, eax
xchg esi, ebx
sete bl
xchg esi, ebx
test ebp, ebp
jl 0x5c1f41
mov dword [esp + 0x38], ebp
add ebp, ebx
cmp ecx, ebp
jl 0x5c1ee4
xchg esi, eax
mov byte [esp + 0x26], al
xchg esi, eax
mov esi, dword [esp + 0xa0]
cmp esi, ebp
jb 0x5c229b
cmp ebx, ebp
ja 0x5c2292
mov dword [esp + 0x3c], ebp
sub esi, ebx
mov dword [esp + 0x44], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, ebx
add esi, edi
movzx ebp, byte [esp + 0x26]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5c1e15
test dl, 0x20
jne 0x5c1eba
lea eax, [0x6987c0]
mov dword [esp], eax
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x3b
lea ecx, [0x6dccd6]
mov dword [eax], ecx
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
lea ecx, [0x73d8a4]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
add esp, 0x94
ret
test dl, 0x20
jne 0x5c1eba
mov ecx, dword [esp + 0x28]
cmp eax, ecx
ja 0x5c228d
mov dword [esp + 0x40], ebx
mov edx, edi
lea edi, [esp + 0x78]
mov ebx, eax
xor eax, eax
call fcn.00463149
mov ecx, dword [esp + 0xa0]
sub ecx, ebx
mov ebp, ecx
neg ecx
sar ecx, 0x1f
and ecx, ebx
add ecx, edx
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x28]
sub ecx, ebx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], ebp
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x90], ecx
lea ecx, [0x6ae3a0]
mov dword [esp], ecx
lea ecx, [esp + 0x78]
mov dword [esp + 4], ecx
call fcn.00408f50
mov ecx, dword [esp + 8]
movzx edx, byte [esp + 0x26]
test dl, dl
mov eax, dword [esp + 0x40]
lea edx, [0x73dd2c]
jmp 0x5c2249
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0xa0]
mov dword [esp + 0x48], eax
xor eax, eax
mov dword [esp + 0x2c], eax
xor eax, eax
mov dword [esp + 0x30], eax
xor eax, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x48]
jmp 0x5c1fda
lea eax, [0x6987c0]
mov dword [esp], eax
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x33
lea ecx, [0x6db989]
mov dword [eax], ecx
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
lea ecx, [0x73d8a4]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
add esp, 0x94
ret
lea eax, [0x6987c0]
mov dword [esp], eax
call fcn.0040b7c0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x37
lea ecx, [0x6dc47e]
mov dword [eax], ecx
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
lea ecx, [0x73d8a4]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
add esp, 0x94
ret
mov ecx, dword [esp + 0x98]
mov ebx, dword [esp + 0x9c]
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0xa4]
mov ecx, ebx
mov edx, esi
mov esi, dword [esp + 0xa0]
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x30], ebp
mov dword [esp + 0x50], edi
movzx ebp, byte [esp + 0x26]
mov edi, dword [esp + 0x98]
cmp ebx, edx
jl 0x5c1fe8
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5c21c0
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
call fcn.005c1a80
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
test ecx, ecx
jne 0x5c218a
mov dword [esp + 0x44], eax
mov edx, dword [esp + 0x2c]
lea ebx, [edx + 1]
mov ecx, ebp
mov ebp, dword [esp + 0x30]
cmp ebp, ebx
jb 0x5c2037
mov edi, dword [esp + 0x50]
jmp 0x5c2084
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], ecx
lea eax, [0x6970c0]
mov dword [esp], eax
mov ecx, dword [esp + 0x50]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.0044b5e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebx, [ecx + 1]
mov ecx, dword [esp + 0x58]
mov esi, dword [esp + 0x5c]
mov edi, eax
mov ebp, edx
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x2c], ebx
lea ebx, [edi + edx*8]
mov dword [ebx], esi
mov ebx, dword [0x91eb10]
lea edx, [edi + edx*8 + 4]
test ebx, ebx
jne 0x5c20a6
mov dword [edx], ecx
movzx edx, byte [esp + 0x26]
test dl, dl
jmp 0x5c20be
mov ebx, edi
mov edi, edx
mov esi, eax
mov eax, ecx
call fcn.00462ed0
movzx edx, byte [esp + 0x26]
test dl, dl
mov eax, esi
mov edi, ebx
je 0x5c1f9e
mov dword [esp + 0x54], edi
mov dword [esp + 0x40], ebp
mov ecx, dword [esp + 0x98]
mov dword [esp], ecx
mov edx, dword [esp + 0x9c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xa0]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.005c2340
movzx eax, byte [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test ecx, ecx
jne 0x5c2154
test al, al
jne 0x5c2124
mov eax, dword [esp + 0x44]
movzx edx, byte [esp + 0x26]
mov ebp, dword [esp + 0x40]
mov edi, dword [esp + 0x54]
jmp 0x5c1f9e
mov eax, dword [esp + 0xa4]
mov edx, dword [esp + 0x3c]
movzx ebp, byte [esp + 0x26]
mov esi, dword [esp + 0xa0]
mov edi, dword [esp + 0x98]
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x44]
jmp 0x5c21c4
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb8], ebx
add esp, 0x94
ret
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb8], ebx
add esp, 0x94
ret
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
cmp eax, edx
ja 0x5c2286
mov dword [esp + 0x30], ecx
mov dword [esp + 0x44], ebx
mov ebx, edi
lea edi, [esp + 0x60]
mov ebp, eax
xor eax, eax
call fcn.0046314a
sub esi, ebp
mov ecx, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, ebp
add ebx, esi
mov dword [esp + 0x60], ebx
sub edx, ebp
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x74], ecx
lea ecx, [0x6aa0a0]
mov dword [esp], ecx
lea ecx, [esp + 0x60]
mov dword [esp + 4], ecx
call fcn.00408f50
mov ecx, dword [esp + 8]
movzx edx, byte [esp + 0x26]
test dl, dl
mov eax, dword [esp + 0x44]
lea edx, [0x73dd40]
je 0x5c2250
lea ebp, [eax + 2]
jmp 0x5c2254
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], ebp
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
add esp, 0x94
ret
mov ecx, edx
call fcn.00462fb0
call fcn.00462fb0
mov eax, ebx
mov ecx, ebp
call fcn.00462fb0
mov ecx, ebp
mov edx, esi
call fcn.00462f90
inc ebx
mov eax, dword [esp + 0x38]
shl eax, 8
movzx edx, byte [edi + esi]
add eax, edx
inc esi
movzx edx, byte [esp + 0x27]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xa4]
cmp ebx, ebp
jge 0x5c22cd
cmp ecx, esi
ja 0x5c22a4
jmp 0x5c22da
mov ebp, dword [esp + 0x38]
mov ebx, esi
xor esi, esi
jmp 0x5c1d5a
mov eax, esi
call fcn.00462f50
mov eax, esi
mov ecx, ebx
call fcn.00462fb0
mov ecx, ebx
mov edx, esi
call fcn.00462f90
mov eax, ebx
call fcn.00462f50
mov eax, ebx
call fcn.00462f50
mov eax, esi
call fcn.00462f50
inc esi
cmp ecx, esi
jbe 0x5c231c
lea ebp, [esi + ebx]
cmp byte [ebp], 0x80
jae 0x5c2308
inc esi
jmp 0x5c1b9d
mov eax, esi
call fcn.00462f50
call fcn.00462f50
nop
call fcn.00461ac0
jmp fcn.005c1a80