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

Disassembly:
push 0xffffffffffffffff
push 0x715df8
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
mov eax, dword [0x820ac4]
xor eax, esp
mov dword [esp + 0x58], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x820ac4]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov eax, dword [esp + 0x80]
cmp eax, 0xfffffffe
mov esi, dword [esp + 0x90]
mov ebp, edx
mov ebx, ecx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x28], esi
lea edi, [ebp + 0x20]
je 0x6c1cc1
test eax, eax
je 0x6c1cb5
cmp eax, dword [esp + 0x88]
je 0x6c1cc1
call fcn.0054b876
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
cmp ecx, dword [esp + 0x8c]
jne 0x6c1cdd
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov eax, ebx
jmp 0x6c2481
cmp dword [ebp + 8], 0
mov ebx, dword [esi]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x18], 0
jbe 0x6c1e90
jmp 0x6c1d00
cmp byte [edi], 0
mov ebp, dword [esp + 0x84]
mov esi, eax
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], ebp
jne 0x6c1d90
cmp eax, 0xfffffffe
je 0x6c1d4e
test eax, eax
jne 0x6c1d2b
call fcn.0054b876
mov eax, dword [esp + 0x80]
cmp dword [esi + 0x18], 0x10
jb 0x6c1d36
mov ecx, dword [esi + 4]
jmp 0x6c1d39
lea ecx, [esi + 4]
mov edx, dword [esi + 0x14]
add edx, ecx
cmp ebp, edx
jb 0x6c1d4e
call fcn.0054b876
mov eax, dword [esp + 0x80]
cmp byte [esp + 0x94], 0
mov cl, byte [ebp]
je 0x6c1d67
mov edx, dword [ebx]
movzx ecx, cl
mov cl, byte [ecx + edx + 0x104]
mov dl, byte [edi]
cmp cl, dl
je 0x6c1eb4
test dl, dl
jne 0x6c1e78
lea esp, [esp]
add edi, 1
cmp byte [edi], 0
je 0x6c1d80
jmp 0x6c1e78
cmp esi, 0xfffffffe
je 0x6c1da7
test esi, esi
je 0x6c1da2
cmp esi, dword [esp + 0x88]
je 0x6c1da7
call fcn.0054b876
cmp ebp, dword [esp + 0x8c]
je 0x6c1e5f
cmp esi, 0xfffffffe
je 0x6c1dde
test esi, esi
jne 0x6c1dc2
call fcn.0054b876
cmp dword [esi + 0x18], 0x10
jb 0x6c1dcd
mov eax, dword [esi + 4]
jmp 0x6c1dd0
lea eax, [esi + 4]
mov edx, dword [esi + 0x14]
add edx, eax
cmp ebp, edx
jb 0x6c1dde
call fcn.0054b876
cmp byte [esp + 0x94], 0
mov al, byte [ebp]
je 0x6c1df7
mov ecx, dword [ebx]
movzx eax, al
mov al, byte [eax + ecx + 0x104]
cmp al, byte [edi]
jne 0x6c1e5f
add edi, 1
cmp esi, 0xfffffffe
je 0x6c1e28
test esi, esi
jne 0x6c1e0c
call fcn.0054b876
cmp dword [esi + 0x18], 0x10
jb 0x6c1e17
mov eax, dword [esi + 4]
jmp 0x6c1e1a
lea eax, [esi + 4]
mov ecx, dword [esi + 0x14]
add ecx, eax
cmp ebp, ecx
jb 0x6c1e28
call fcn.0054b876
add ebp, 1
cmp byte [edi], 0
mov dword [esp + 0x30], ebp
jne 0x6c1d90
mov ecx, dword [esp + 0x1c]
cmp byte [ecx + 0x1c], 0
jne 0x6c1ebe
cmp esi, 0xfffffffe
je 0x6c1ee7
test esi, esi
je 0x6c1ee2
cmp esi, dword [esp + 0x80]
jmp 0x6c1ee0
cmp byte [edi], 0
je 0x6c1e38
mov eax, edi
add eax, 1
cmp byte [eax], 0
jne 0x6c1e66
lea edi, [eax + 1]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
add ecx, 1
cmp ecx, dword [edx + 8]
mov dword [esp + 0x18], ecx
jb 0x6c1d00
cmp eax, 0xfffffffe
je 0x6c1f3d
test eax, eax
jne 0x6c1ea9
call fcn.0054b876
mov eax, dword [esp + 0x80]
cmp dword [eax + 0x18], 0x10
jb 0x6c1f20
mov ecx, dword [eax + 4]
jmp 0x6c1f23
mov ecx, dword [esp + 0x1c]
cmp byte [ecx + 0x1c], 0
je 0x6c1ed5
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x80]
mov edx, dword [eax]
mov dword [ecx], edx
mov eax, dword [eax + 4]
jmp 0x6c247c
cmp esi, 0xfffffffe
je 0x6c1ee7
test esi, esi
je 0x6c1ee2
cmp esi, eax
je 0x6c1ee7
call fcn.0054b876
cmp ebp, dword [esp + 0x84]
jne 0x6c1f0c
lea ecx, [esp + 0x80]
call fcn.0044f1af
mov edx, dword [eax]
mov ecx, dword [esp + 0x20]
mov dword [ecx], edx
mov eax, dword [eax + 4]
jmp 0x6c247c
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x2c]
mov edx, dword [eax]
mov dword [ecx], edx
mov eax, dword [eax + 4]
jmp 0x6c247c
lea ecx, [eax + 4]
mov edx, dword [eax + 0x14]
add edx, ecx
cmp dword [esp + 0x84], edx
jb 0x6c1f3d
call fcn.0054b876
mov eax, dword [esp + 0x80]
cmp byte [esp + 0x94], 0
mov ecx, dword [esp + 0x84]
mov cl, byte [ecx]
je 0x6c1f65
mov ebp, ebx
mov edx, dword [ebp]
movzx ecx, cl
mov bl, byte [ecx + edx + 0x104]
mov byte [esp + 0x17], bl
jmp 0x6c1f6f
mov ebp, dword [esp + 0x24]
mov byte [esp + 0x17], cl
mov bl, cl
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi + 0xc]
xor edx, edx
cmp ecx, edx
jne 0x6c1f85
cmp dword [esi + 0x10], edx
je 0x6c229b
mov dword [esp + 0x68], 0xf
mov dword [esp + 0x64], edx
mov byte [esp + 0x54], 0
cmp ecx, edx
mov dword [esp + 0x78], edx
je 0x6c213e
mov edx, dword [esp + 0x28]
test dword [edx + 8], 0x200000
jne 0x6c1fc3
mov ebp, 1
mov byte [esp + 0x54], bl
mov dword [esp + 0x64], ebp
mov byte [esp + 0x55], 0
jmp 0x6c201c
lea eax, [esp + 0x19]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x3c]
push edx
mov ecx, ebp
mov byte [esp + 0x24], bl
mov byte [esp + 0x25], 0
call fcn.006ba3c0
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0x84], 1
call fcn.0040a0c9
cmp dword [esp + 0x4c], 0x10
mov byte [esp + 0x78], 0
jb 0x6c2011
mov eax, dword [esp + 0x38]
push eax
call fcn.005416e5
add esp, 4
mov ebp, dword [esp + 0x64]
mov eax, dword [esp + 0x80]
cmp dword [esi + 0xc], 0
mov dword [esp + 0x18], 0
jbe 0x6c213e
mov ebx, dword [esp + 0x54]
cmp byte [edi], 0
jne 0x6c2052
test ebp, ebp
je 0x6c2095
cmp ebp, 1
jne 0x6c2052
cmp dword [esp + 0x68], 0x10
mov eax, ebx
jae 0x6c204d
lea eax, [esp + 0x54]
cmp byte [eax], 0
je 0x6c2095
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x6c2057
sub eax, edx
mov esi, eax
cmp ebp, esi
mov ecx, ebp
jb 0x6c206c
mov ecx, esi
cmp dword [esp + 0x68], 0x10
mov eax, ebx
jae 0x6c2079
lea eax, [esp + 0x54]
push ecx
push edi
push eax
call fcn.0040bdae
add esp, 0xc
test eax, eax
jne 0x6c2093
cmp ebp, esi
jb 0x6c2100
cmp ebp, esi
setne al
test eax, eax
jl 0x6c2100
add edi, 1
cmp byte [edi], 0
jne 0x6c2095
add edi, 1
cmp byte [edi], 0
jne 0x6c20c8
test ebp, ebp
je 0x6c22e2
cmp ebp, 1
jne 0x6c20c8
cmp dword [esp + 0x68], 0x10
mov eax, ebx
jae 0x6c20bf
lea eax, [esp + 0x54]
cmp byte [eax], 0
je 0x6c22e2
mov eax, edi
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x6c20d0
sub eax, edx
push eax
push edi
push ebp
push 0
lea ecx, [esp + 0x60]
call fcn.00413cd0
test eax, eax
mov ebx, dword [esp + 0x54]
jle 0x6c22e2
mov ebp, dword [esp + 0x64]
jmp 0x6c2110
add edi, 1
cmp byte [edi], 0
jne 0x6c2100
add edi, 1
jmp 0x6c2110
add edi, 1
cmp byte [edi], 0
jne 0x6c2110
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
add eax, 1
add edi, 1
cmp eax, dword [ecx + 0xc]
mov dword [esp + 0x18], eax
jb 0x6c2032
mov eax, dword [esp + 0x80]
mov bl, byte [esp + 0x17]
mov ecx, dword [esp + 0x1c]
cmp dword [ecx + 0x10], 0
je 0x6c225b
lea edx, [esp + 0x19]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x30]
mov byte [esp + 0x24], bl
mov byte [esp + 0x25], 0
call fcn.006be610
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x5c]
mov byte [esp + 0x84], 2
call fcn.0040a0c9
cmp dword [esp + 0x4c], 0x10
mov byte [esp + 0x78], 0
jb 0x6c219c
mov edx, dword [esp + 0x38]
push edx
call fcn.005416e5
add esp, 4
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x10]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x4c], 0xf
mov dword [esp + 0x48], ebx
mov byte [esp + 0x38], bl
mov dword [esp + 0x28], eax
jbe 0x6c2250
mov ebp, dword [esp + 0x64]
cmp byte [edi], 0
jne 0x6c21ef
test ebp, ebp
je 0x6c2367
cmp ebp, 1
jne 0x6c21ef
cmp dword [esp + 0x68], 0x10
mov eax, dword [esp + 0x54]
jae 0x6c21e6
lea eax, [esp + 0x54]
cmp byte [eax], 0
je 0x6c2367
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x6c21f4
sub eax, edx
mov esi, eax
cmp ebp, esi
mov ecx, ebp
jb 0x6c2209
mov ecx, esi
cmp dword [esp + 0x68], 0x10
mov eax, dword [esp + 0x54]
jae 0x6c2218
lea eax, [esp + 0x54]
push ecx
push edi
push eax
call fcn.0040bdae
add esp, 0xc
test eax, eax
jne 0x6c2238
cmp ebp, esi
jb 0x6c2238
cmp ebp, esi
setne al
test eax, eax
je 0x6c2367
add edi, 1
cmp byte [edi], 0
jne 0x6c2238
add ebx, 1
add edi, 1
cmp ebx, dword [esp + 0x28]
jb 0x6c21c5
mov bl, byte [esp + 0x17]
mov eax, dword [esp + 0x80]
cmp dword [esp + 0x68], 0x10
mov dword [esp + 0x78], 0xffffffff
jb 0x6c227e
mov edx, dword [esp + 0x54]
push edx
call fcn.005416e5
mov eax, dword [esp + 0x84]
add esp, 4
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x68], 0xf
mov dword [esp + 0x64], 0
mov byte [esp + 0x54], 0
mov ecx, dword [esi + 0x14]
test ecx, 0x3ff
je 0x6c22be
mov edi, dword [ebp]
movzx edx, bl
movzx edx, word [edi + edx*2 + 0x204]
and edx, ecx
test edx, 0x3ff
jne 0x6c22d3
test ecx, 0x400
je 0x6c23e8
cmp bl, 0x5f
jne 0x6c23e8
cmp byte [esi + 0x1c], 0
jne 0x6c246f
jmp 0x6c242a
mov edx, dword [esp + 0x1c]
cmp byte [edx + 0x1c], 0
mov eax, dword [esp + 0x80]
jne 0x6c2340
cmp eax, 0xfffffffe
je 0x6c2338
test eax, eax
jne 0x6c230c
call fcn.0054b876
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x54]
cmp dword [eax + 0x18], 0x10
jb 0x6c2317
mov ecx, dword [eax + 4]
jmp 0x6c231a
lea ecx, [eax + 4]
mov edx, dword [eax + 0x14]
add edx, ecx
cmp dword [esp + 0x84], edx
jb 0x6c2338
call fcn.0054b876
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x54]
add dword [esp + 0x84], 1
cmp dword [esp + 0x68], 0x10
mov esi, dword [esp + 0x20]
mov dword [esi], eax
mov eax, dword [esp + 0x84]
mov dword [esi + 4], eax
jb 0x6c2360
push ebx
call fcn.005416e5
add esp, 4
mov eax, esi
jmp 0x6c2481
mov ecx, dword [esp + 0x1c]
cmp byte [ecx + 0x1c], 0
mov eax, dword [esp + 0x80]
jne 0x6c23bd
cmp eax, 0xfffffffe
je 0x6c23b5
test eax, eax
jne 0x6c238d
call fcn.0054b876
mov eax, dword [esp + 0x80]
cmp dword [eax + 0x18], 0x10
jb 0x6c2398
mov ecx, dword [eax + 4]
jmp 0x6c239b
lea ecx, [eax + 4]
mov edx, dword [eax + 0x14]
add edx, ecx
cmp dword [esp + 0x84], edx
jb 0x6c23b5
call fcn.0054b876
mov eax, dword [esp + 0x80]
add dword [esp + 0x84], 1
cmp dword [esp + 0x68], 0x10
mov esi, dword [esp + 0x20]
mov dword [esi], eax
mov eax, dword [esp + 0x84]
mov dword [esi + 4], eax
jb 0x6c2360
mov ecx, dword [esp + 0x54]
push ecx
call fcn.005416e5
add esp, 4
mov eax, esi
jmp 0x6c2481
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x6c2424
test ecx, 0x3ff
je 0x6c240f
mov edi, dword [ebp]
movzx edx, bl
movzx edx, word [edi + edx*2 + 0x204]
and edx, ecx
test edx, 0x3ff
jne 0x6c2424
test ecx, 0x400
je 0x6c241c
cmp bl, 0x5f
je 0x6c2424
cmp byte [esi + 0x1c], 0
jne 0x6c246f
jmp 0x6c242a
cmp byte [esi + 0x1c], 0
je 0x6c246f
cmp eax, 0xfffffffe
je 0x6c2467
test eax, eax
jne 0x6c243f
call fcn.0054b876
mov eax, dword [esp + 0x80]
cmp dword [eax + 0x18], 0x10
jb 0x6c244a
mov ecx, dword [eax + 4]
jmp 0x6c244d
lea ecx, [eax + 4]
mov edx, dword [eax + 0x14]
add edx, ecx
cmp dword [esp + 0x84], edx
jb 0x6c2467
call fcn.0054b876
mov eax, dword [esp + 0x80]
add dword [esp + 0x84], 1
mov ecx, dword [esp + 0x20]
mov dword [ecx], eax
mov eax, dword [esp + 0x84]
mov dword [ecx + 4], eax
mov eax, ecx
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x58]
xor ecx, esp
call fcn.0054ae61
add esp, 0x68
ret 0x18