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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x6c0f56
sub esp, 0x50
mov ebx, dword [esp + 0x54]
mov ebp, dword [ebx + 0x34]
test ebp, ebp
je 0x6c0f3d
mov ebp, dword [esp + 0x58]
cmp dword [ebx + 0x64], ebp
jge 0x6c0637
mov esi, dword [ebx + 0x78]
test esi, esi
jne 0x6c05a9
mov dword [esp], ebx
call fcn.006c01f0
movzx eax, byte [esp + 4]
test al, al
je 0x6c062e
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 0x6c0612
cmp ebx, esi
jge 0x6c0612
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 0x6c05e4
mov esi, ebx
test edi, edi
je 0x6c0604
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00464d50
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 0x6c0621
cmp ebx, esi
jne 0x6c061f
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 0x6c0642
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 0x6c06e5
mov dword [esp + 0x38], ebx
test cl, cl
je 0x6c065f
mov ebp, dword [edx + 0x74]
cmp dword [edx + 0x6c], ebp
jne 0x6c0720
mov dword [esp], edx
call fcn.006c0360
movzx eax, byte [esp + 4]
test al, al
je 0x6c06c4
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x38]
jmp 0x6c0720
movzx ebx, byte [edx + 0x50]
test bl, bl
jne 0x6c0b22
mov ebx, dword [esp + 0x30]
jmp 0x6c06b5
movzx ebx, byte [edx + 0x50]
test bl, bl
jne 0x6c0bf7
mov ebx, dword [esp + 0x30]
jmp 0x6c06b5
movzx ebx, byte [edx + 0x50]
test bl, bl
jne 0x6c0c7f
mov ebx, dword [esp + 0x30]
movzx ebp, byte [edx + 0x50]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x6c0640
jmp 0x6c0cc5
mov eax, dword [esp + 0x54]
mov edx, dword [eax + 0x5c]
mov ecx, dword [esp + 0x38]
cmp ecx, edx
ja 0x6c0718
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 0x6c06f5
mov ecx, dword [edx + 0x58]
mov ebp, dword [edx + 0x54]
cmp ebx, ecx
jb 0x6c06df
jmp 0x6c0711
mov eax, dword [edx + 0x5c]
cmp ebx, eax
ja 0x6c0708
mov dword [edx + 0x58], ebx
mov byte [esp + 0x5c], 1
add esp, 0x50
ret
mov ecx, ebx
mov edx, eax
call fcn.00464470
mov eax, ebx
call fcn.00464430
call fcn.00464470
inc dword [edx + 0x64]
mov ebp, dword [edx + 0x74]
mov ecx, dword [edx + 0x6c]
mov esi, dword [edx + 0x68]
cmp ecx, ebp
je 0x6c06b5
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 + 0x78]
cmp ebx, 1
jne 0x6c0837
cmp edi, ebp
jbe 0x6c0f34
movzx ebx, byte [esi + ebp]
test bl, 0x80
jne 0x6c076d
mov dword [esp + 0x44], eax
mov eax, 1
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
jmp 0x6c07d4
mov byte [esp + 0xf], bl
and ebx, 0xffffffe0
cmp bl, 0xc0
jne 0x6c078e
movzx ebx, byte [esp + 0xf]
mov ebx, 2
mov dword [esp + 0x10], ebx
movzx ebx, byte [esp + 0xf]
jmp 0x6c07d4
movzx ebx, byte [esp + 0xf]
and ebx, 0xfffffff0
cmp bl, 0xe0
jne 0x6c07b0
movzx ebx, byte [esp + 0xf]
mov ebx, 3
mov dword [esp + 0x10], ebx
movzx ebx, byte [esp + 0xf]
jmp 0x6c07d4
movzx ebx, byte [esp + 0xf]
and ebx, 0xfffffff8
cmp bl, 0xf0
jne 0x6c0b68
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 0x6c0681
test bl, 0x80
jne 0x6c07ea
and ebx, 0x7f
jmp 0x6c081d
mov ecx, ebx
and ebx, 0xffffffe0
cmp bl, 0xc0
jne 0x6c07fb
and ecx, 0x1f
mov ebx, ecx
jmp 0x6c081d
mov ebx, ecx
and ecx, 0xfffffff0
cmp cl, 0xe0
jne 0x6c080a
and ebx, 0xf
jmp 0x6c081d
mov ecx, ebx
and ebx, 0xfffffff8
cmp bl, 0xf0
jne 0x6c081b
and ecx, 7
mov ebx, ecx
jmp 0x6c081d
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 0x6c0dce
lea esi, [ebx - 2]
cmp esi, 1
ja 0x6c0d96
cmp ecx, 2
jl 0x6c06a5
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 0x6c0d8d
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 0x6c0d84
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 0x6c0c3d
cmp ebx, 0xd800
jne 0x6c0942
cmp ecx, 4
jl 0x6c0693
mov ebx, dword [esp + 0x18]
lea ebx, [ebx + esi + 2]
cmp edi, ebx
jbe 0x6c0d7b
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 0x6c0d72
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 0x6c0bb2
and ecx, 0x3ff
shl ecx, 0xa
and ebp, 0x3ff
lea ebx, [ebp + ecx + 0x10000]
mov ecx, 4
jmp 0x6c0949
mov ebx, ebp
mov ecx, 2
cmp ebx, 9
je 0x6c0996
cmp ebx, 0xa
je 0x6c0996
cmp ebx, 0xd
je 0x6c0996
lea ebp, [ebx - 0x20]
cmp ebp, 0x5e
jbe 0x6c0996
cmp ebx, 0x85
je 0x6c0996
lea ebp, [ebx - 0xa0]
cmp ebp, 0xd75f
jbe 0x6c0996
lea ebp, [ebx - 0xe000]
cmp ebp, 0x1ffd
jbe 0x6c0996
lea ebp, [ebx - 0x10000]
cmp ebp, 0xfffff
ja 0x6c0ce4
lea ebp, [ecx + esi]
mov dword [edx + 0x74], ebp
add dword [edx + 0x7c], ecx
cmp ebx, 0x7f
jg 0x6c09c2
mov ecx, dword [edx + 0x58]
mov ebp, dword [edx + 0x54]
mov esi, dword [esp + 0x30]
cmp esi, ecx
jae 0x6c0d6b
mov byte [ebp + esi], bl
lea ebx, [esi + 1]
jmp 0x6c071d
cmp ebx, 0x7ff
jg 0x6c0a13
mov ecx, dword [edx + 0x58]
mov ebp, dword [edx + 0x54]
mov esi, dword [esp + 0x30]
cmp esi, ecx
jae 0x6c0d64
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 0x6c0d5b
and ecx, 0x3f
lea ebx, [ecx + 0x80]
mov byte [esi + edi + 1], bl
lea ebx, [esi + 2]
jmp 0x6c071d
cmp ebx, 0xffff
jg 0x6c0a8b
mov ecx, dword [edx + 0x58]
mov ebp, dword [edx + 0x54]
mov esi, dword [esp + 0x30]
cmp esi, ecx
jae 0x6c0d54
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 0x6c0d4b
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 0x6c0d44
and ebx, 0x3f
add ebx, 0x80
mov byte [esi + edi + 2], bl
lea ebx, [esi + 3]
jmp 0x6c071d
mov ecx, dword [edx + 0x58]
mov ebp, dword [edx + 0x54]
mov esi, dword [esp + 0x30]
cmp esi, ecx
jae 0x6c0d3d
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 0x6c0d34
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 0x6c0d2d
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 0x6c0d26
and ebp, 0x3f
add ebp, 0x80
xchg ebp, eax
mov byte [esi + edi + 3], al
xchg ebp, eax
lea ebx, [esi + 4]
jmp 0x6c071d
mov ecx, dword [edx + 0x7c]
mov dword [edx], 2
mov dword [edx + 8], 0x1f
mov ebx, dword [0xaab020]
test ebx, ebx
jne 0x6c0b47
lea eax, [0x7c9b05]
mov dword [edx + 4], eax
jmp 0x6c0b55
lea edi, [edx + 4]
lea eax, [0x7c9b05]
call fcn.004643b0
mov dword [edx + 0xc], ecx
mov dword [edx + 0x10], 0xffffffff
mov byte [esp + 0x5c], 0
add esp, 0x50
ret
mov ecx, dword [edx + 0x7c]
mov dword [edx], 2
mov dword [edx + 8], 0x1b
mov ebx, dword [0xaab020]
test ebx, ebx
jne 0x6c0b8d
lea eax, [0x7c6692]
mov dword [edx + 4], eax
jmp 0x6c0b9b
lea edi, [edx + 4]
lea eax, [0x7c6692]
call fcn.004643b0
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 + 0x7c]
mov dword [edx], 2
mov dword [edx + 8], 0x1b
mov ebx, dword [0xaab020]
test ebx, ebx
jne 0x6c0bd7
lea eax, [0x7c6476]
mov dword [edx + 4], eax
jmp 0x6c0be5
lea edi, [edx + 4]
lea eax, [0x7c6476]
call fcn.004643b0
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 + 0x7c]
mov dword [edx], 2
mov dword [edx + 8], 0x20
mov ebx, dword [0xaab020]
test ebx, ebx
jne 0x6c0c1c
lea eax, [0x7ca663]
mov dword [edx + 4], eax
jmp 0x6c0c2a
lea edi, [edx + 4]
lea eax, [0x7ca663]
call fcn.004643b0
mov dword [edx + 0xc], ecx
mov dword [edx + 0x10], 0xffffffff
mov byte [esp + 0x5c], 0
add esp, 0x50
ret
mov ecx, dword [edx + 0x7c]
mov dword [edx], 2
mov dword [edx + 8], 0x1d
mov ebx, dword [0xaab020]
test ebx, ebx
jne 0x6c0c62
lea eax, [0x7c86d0]
mov dword [edx + 4], eax
jmp 0x6c0c70
lea edi, [edx + 4]
lea eax, [0x7c86d0]
call fcn.004643b0
mov dword [edx + 0xc], ecx
mov dword [edx + 0x10], ebp
mov byte [esp + 0x5c], 0
add esp, 0x50
ret
mov ecx, dword [edx + 0x7c]
mov dword [edx], 2
mov dword [edx + 8], 0x1b
mov ebx, dword [0xaab020]
test ebx, ebx
jne 0x6c0ca4
lea eax, [0x7c6584]
mov dword [edx + 4], eax
jmp 0x6c0cb2
lea edi, [edx + 4]
lea eax, [0x7c6584]
call fcn.004643b0
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 0x6c0cdd
mov byte [ebp + ebx], 0
inc dword [edx + 0x64]
inc ebx
jmp 0x6c06e5
mov eax, ebx
call fcn.00464430
mov ecx, dword [edx + 0x7c]
mov dword [edx], 2
mov dword [edx + 8], 0x22
mov ebp, dword [0xaab020]
test ebp, ebp
jne 0x6c0d09
lea eax, [0x7cbd61]
mov dword [edx + 4], eax
jmp 0x6c0d17
lea edi, [edx + 4]
lea eax, [0x7cbd61]
call fcn.004643b0
mov dword [edx + 0xc], ecx
mov dword [edx + 0x10], ebx
mov byte [esp + 0x5c], 0
add esp, 0x50
ret
mov eax, ebx
call fcn.00464430
mov eax, ebp
call fcn.00464430
mov eax, ebp
mov ecx, ebx
call fcn.00464430
mov eax, esi
call fcn.00464430
mov eax, ebp
call fcn.00464430
mov eax, ebp
mov ecx, ebx
call fcn.00464430
mov eax, esi
call fcn.00464430
mov eax, ebp
mov ecx, ebx
call fcn.00464430
mov eax, esi
call fcn.00464430
mov eax, esi
call fcn.00464430
mov eax, ebx
mov ecx, edi
call fcn.00464430
mov eax, ebx
mov ecx, edi
call fcn.00464430
mov eax, ebx
mov ecx, edi
call fcn.00464430
mov eax, esi
mov ecx, edi
call fcn.00464430
lea eax, [0x758c80]
mov dword [esp], eax
lea eax, [0x84398c]
mov dword [esp + 4], eax
call fcn.00436340
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 0x6c0e44
add ebp, ebx
cmp edi, ebp
jbe 0x6c0f2b
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 0x6c0dae
mov ecx, dword [edx + 0x7c]
mov dword [edx], 2
mov dword [edx + 8], 0x1c
add ecx, ebx
mov ebx, dword [0xaab020]
test ebx, ebx
jne 0x6c0e1f
lea eax, [0x7c757f]
mov dword [edx + 4], eax
jmp 0x6c0e2d
lea edi, [edx + 4]
lea eax, [0x7c757f]
call fcn.004643b0
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 0x6c0e4f
mov ebx, dword [esp + 0x14]
jmp 0x6c0e80
cmp esi, 2
jne 0x6c0e62
mov ebx, dword [esp + 0x14]
cmp ebx, 0x80
jge 0x6c0e80
jmp 0x6c0e66
mov ebx, dword [esp + 0x14]
cmp esi, 3
jne 0x6c0e73
cmp ebx, 0x800
jge 0x6c0e80
cmp esi, 4
jne 0x6c0ee5
cmp ebx, 0x10000
jl 0x6c0ee5
mov ecx, ebp
lea ebp, [ebx - 0xd800]
cmp ebp, 0x7ff
jbe 0x6c0ea3
cmp ebx, 0x10ffff
jg 0x6c0ea3
mov esi, ecx
mov ecx, dword [esp + 0x10]
jmp 0x6c0949
mov ecx, dword [edx + 0x7c]
mov dword [edx], 2
mov dword [edx + 8], 0x19
mov ebp, dword [0xaab020]
test ebp, ebp
jne 0x6c0ec8
lea eax, [0x7c4966]
mov dword [edx + 4], eax
jmp 0x6c0ed6
lea edi, [edx + 4]
lea eax, [0x7c4966]
call fcn.004643b0
mov dword [edx + 0xc], ecx
mov dword [edx + 0x10], ebx
mov byte [esp + 0x5c], 0
add esp, 0x50
ret
mov ecx, dword [edx + 0x7c]
mov dword [edx], 2
mov dword [edx + 8], 0x22
mov ebx, dword [0xaab020]
test ebx, ebx
jne 0x6c0f0a
lea eax, [0x7cc0b3]
mov dword [edx + 4], eax
jmp 0x6c0f18
lea edi, [edx + 4]
lea eax, [0x7cc0b3]
call fcn.004643b0
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.00464430
mov eax, ebp
mov ecx, edi
call fcn.00464430
lea eax, [0x758c80]
mov dword [esp], eax
lea eax, [0x84379c]
mov dword [esp + 4], eax
call fcn.00436340
nop
call fcn.00462fa0
jmp fcn.006c0550