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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x6ed22e
sub esp, 0x34
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + 0x34]
test edx, edx
je 0x6ed214
movzx edx, byte [ecx + 0x50]
test dl, dl
je 0x6ec818
mov edx, dword [ecx + 0x6c]
cmp dword [ecx + 0x74], edx
jne 0x6ec818
mov edx, dword [esp + 0x3c]
cmp dword [ecx + 0x64], edx
jge 0x6ed165
mov ebx, dword [ecx + 0x78]
test ebx, ebx
je 0x6ed13e
mov ebx, dword [ecx + 0x5c]
mov ebp, dword [ecx + 0x58]
mov esi, dword [ecx + 0x54]
mov eax, edx
mov edx, dword [ecx + 0x60]
test edx, edx
jle 0x6ed126
cmp edx, ebp
jge 0x6ed126
mov dword [esp + 0x28], ebp
sub ebx, edx
neg ebx
sar ebx, 0x1f
and ebx, edx
mov edi, ecx
lea ecx, [ebx + esi]
sub ebp, edx
mov edx, dword [esp + 0x28]
cmp edx, ebp
jle 0x6ed11f
test ebx, ebx
je 0x6ec882
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call fcn.0044f8d0
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + 0x60]
mov dword [ecx + 0x60], 0
mov ebx, dword [esp + 0x28]
sub ebx, edx
mov edx, dword [ecx + 0x5c]
mov dword [ecx + 0x58], edx
mov edx, dword [esp + 0x3c]
mov eax, 1
jmp 0x6ecd1f
inc esi
shl ebx, 6
movzx ebp, byte [esp + 0xf]
and ebp, 0x3f
add ebx, ebp
mov ebp, dword [esp + 0x24]
cmp esi, ecx
jge 0x6ec92f
add ebp, esi
cmp ebp, edi
jae 0x6ed1e5
movzx ebp, byte [edx + 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 0x6ec8aa
nop
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + 0x7c]
mov dword [ecx], 2
mov dword [ecx + 8], 0x1c
add edx, esi
mov ebx, dword [0xb91180]
test ebx, ebx
jne 0x6ec91f
lea eax, [0x820423]
mov dword [ecx + 4], eax
mov dword [ecx + 0xc], edx
movzx eax, byte [esp + 0xf]
movzx eax, al
mov dword [ecx + 0x10], eax
mov byte [esp + 0x40], 0
add esp, 0x34
ret
lea edi, [ecx + 4]
lea eax, [0x820423]
call fcn.0044f0d0
jmp 0x6ec908
cmp ecx, 1
jne 0x6ecc3c
cmp ebx, 0xd800
jl 0x6ec94c
cmp ebx, 0xdfff
jle 0x6ecbf5
cmp ebx, 0x10ffff
jg 0x6ecbf5
cmp ebx, 9
jne 0x6ecb46
lea edx, [ecx + ebp]
mov ebp, dword [esp + 0x38]
mov dword [ebp + 0x74], edx
add dword [ebp + 0x7c], ecx
cmp ebx, 0x7f
jg 0x6eca09
mov ecx, dword [ebp + 0x54]
mov edx, dword [esp + 0x28]
cmp dword [ebp + 0x58], edx
jbe 0x6ed1c2
mov byte [ecx + edx], bl
lea ecx, [edx + 1]
inc dword [ebp + 0x64]
mov edx, eax
mov ebx, ecx
mov ecx, ebp
mov dword [esp + 0x28], ebx
mov ebp, dword [ecx + 0x74]
mov esi, dword [ecx + 0x6c]
mov eax, edx
mov edx, dword [ecx + 0x68]
cmp ebp, esi
je 0x6ecd0d
mov edi, esi
sub esi, ebp
mov ebx, dword [ecx + 0x78]
cmp ebx, 1
jne 0x6ece96
cmp ebp, edi
jae 0x6ed1ec
movzx ebx, byte [edx + ebp]
test bl, 0x80
jne 0x6ecddd
mov dword [esp + 0x2c], eax
mov eax, 1
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
cmp ecx, esi
jg 0x6eccfd
test bl, 0x80
jne 0x6eccba
and ebx, 0x7f
mov dword [esp + 0x24], ebp
mov esi, 1
jmp 0x6ec8bc
cmp ebx, 0x7ff
jg 0x6eca53
mov ecx, dword [ebp + 0x54]
mov edx, dword [esp + 0x28]
cmp dword [ebp + 0x58], edx
jbe 0x6ed1bb
mov esi, ebx
sar ebx, 6
add ebx, 0xc0
mov byte [ecx + edx], bl
mov ecx, dword [ebp + 0x54]
lea ebx, [edx + 1]
cmp dword [ebp + 0x58], ebx
jbe 0x6ed1b4
and esi, 0x3f
lea ebx, [esi + 0x80]
mov byte [edx + ecx + 1], bl
lea ecx, [edx + 2]
jmp 0x6ec98d
cmp ebx, 0xffff
jg 0x6ecac0
mov ecx, dword [ebp + 0x54]
mov edx, dword [esp + 0x28]
cmp dword [ebp + 0x58], edx
jbe 0x6ed1ad
mov esi, ebx
sar ebx, 0xc
add ebx, 0xe0
mov byte [ecx + edx], bl
mov ecx, dword [ebp + 0x54]
lea ebx, [edx + 1]
cmp dword [ebp + 0x58], ebx
jbe 0x6ed1a6
mov ebx, esi
sar esi, 6
and esi, 0x3f
add esi, 0x80
xchg esi, eax
mov byte [edx + ecx + 1], al
xchg esi, eax
mov ecx, dword [ebp + 0x54]
lea esi, [edx + 2]
cmp dword [ebp + 0x58], esi
jbe 0x6ed19f
and ebx, 0x3f
add ebx, 0x80
mov byte [edx + ecx + 2], bl
lea ecx, [edx + 3]
jmp 0x6ec98d
mov ecx, dword [ebp + 0x54]
mov edx, dword [esp + 0x28]
cmp dword [ebp + 0x58], edx
jbe 0x6ed198
mov esi, ebx
sar ebx, 0x12
add ebx, 0xf0
mov byte [ecx + edx], bl
mov ecx, dword [ebp + 0x54]
lea ebx, [edx + 1]
cmp dword [ebp + 0x58], ebx
jbe 0x6ed191
mov ebx, esi
sar esi, 0xc
and esi, 0x3f
add esi, 0x80
xchg esi, eax
mov byte [edx + ecx + 1], al
xchg esi, eax
mov ecx, dword [ebp + 0x54]
lea esi, [edx + 2]
cmp dword [ebp + 0x58], esi
jbe 0x6ed18a
mov esi, ebx
sar ebx, 6
and ebx, 0x3f
add ebx, 0x80
mov byte [edx + ecx + 2], bl
mov ecx, dword [ebp + 0x54]
lea ebx, [edx + 3]
cmp dword [ebp + 0x58], ebx
jbe 0x6ed183
and esi, 0x3f
lea ebx, [esi + 0x80]
mov byte [edx + ecx + 3], bl
lea ecx, [edx + 4]
jmp 0x6ec98d
cmp ebx, 0xa
je 0x6ec961
cmp ebx, 0xd
je 0x6ec961
cmp ebx, 0x20
jl 0x6ecb66
cmp ebx, 0x7e
jle 0x6ec961
cmp ebx, 0x85
je 0x6ec961
cmp ebx, 0xa0
jl 0x6ecb86
cmp ebx, 0xd7ff
jle 0x6ec961
cmp ebx, 0xe000
jl 0x6ecb9a
cmp ebx, 0xfffd
jle 0x6ec961
cmp ebx, 0x10000
jl 0x6ecbae
cmp ebx, 0x10ffff
jle 0x6ec961
nop
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + 0x7c]
mov dword [ecx], 2
mov dword [ecx + 8], 0x22
mov ebp, dword [0xb91180]
test ebp, ebp
jne 0x6ecbe5
lea eax, [0x824043]
mov dword [ecx + 4], eax
mov dword [ecx + 0xc], edx
mov dword [ecx + 0x10], ebx
mov byte [esp + 0x40], 0
add esp, 0x34
ret
lea edi, [ecx + 4]
lea eax, [0x824043]
call fcn.0044f0d0
jmp 0x6ecbd6
nop
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + 0x7c]
mov dword [ecx], 2
mov dword [ecx + 8], 0x19
mov ebp, dword [0xb91180]
test ebp, ebp
jne 0x6ecc2c
lea eax, [0x81e505]
mov dword [ecx + 4], eax
mov dword [ecx + 0xc], edx
mov dword [ecx + 0x10], ebx
mov byte [esp + 0x40], 0
add esp, 0x34
ret
lea edi, [ecx + 4]
lea eax, [0x81e505]
call fcn.0044f0d0
jmp 0x6ecc1d
cmp ecx, 2
jne 0x6ecc4d
cmp ebx, 0x80
jge 0x6ec938
cmp ecx, 3
jne 0x6ecc5e
cmp ebx, 0x800
jge 0x6ec938
cmp ecx, 4
jne 0x6ecc6f
cmp ebx, 0x10000
jge 0x6ec938
nop
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + 0x7c]
mov dword [ecx], 2
mov dword [ecx + 8], 0x22
mov ebx, dword [0xb91180]
test ebx, ebx
jne 0x6eccaa
lea eax, [0x8242eb]
mov dword [ecx + 4], eax
mov dword [ecx + 0xc], edx
mov dword [ecx + 0x10], 0xffffffff
mov byte [esp + 0x40], 0
add esp, 0x34
ret
lea edi, [ecx + 4]
lea eax, [0x8242eb]
call fcn.0044f0d0
jmp 0x6ecc97
mov esi, ebx
and ebx, 0xffffffe0
cmp bl, 0xc0
jne 0x6eccce
and esi, 0x1f
mov ebx, esi
jmp 0x6ec9fb
mov ebx, esi
and esi, 0xfffffff0
xchg esi, eax
cmp al, 0xe0
xchg esi, eax
jne 0x6ecce2
and ebx, 0xf
jmp 0x6ec9fb
mov esi, ebx
and ebx, 0xfffffff8
cmp bl, 0xf0
jne 0x6eccf6
and esi, 7
mov ebx, esi
jmp 0x6ec9fb
xor ebx, ebx
jmp 0x6ec9fb
mov ecx, dword [esp + 0x38]
movzx edx, byte [ecx + 0x50]
test dl, dl
jne 0x6ecd96
movzx edx, byte [ecx + 0x50]
test dl, dl
jne 0x6ecd45
mov ebp, dword [esp + 0x28]
mov edx, eax
xor eax, eax
mov ebx, ebp
cmp dword [ecx + 0x64], edx
jge 0x6ed116
mov dword [esp + 0x1c], ebx
test al, al
je 0x6ed0cd
mov ebp, dword [ecx + 0x6c]
cmp dword [ecx + 0x74], ebp
jne 0x6ec996
jmp 0x6ed0cd
mov edx, dword [ecx + 0x54]
mov ebx, dword [esp + 0x28]
cmp dword [ecx + 0x58], ebx
jbe 0x6ed17c
mov byte [edx + ebx], 0
inc dword [ecx + 0x64]
lea edx, [ebx + 1]
jmp 0x6ecd66
mov byte [ebx + edx], 0
inc edx
cmp edx, eax
jge 0x6ecd77
mov ebx, dword [ecx + 0x54]
cmp dword [ecx + 0x58], edx
ja 0x6ecd61
jmp 0x6ed175
mov eax, dword [ecx + 0x5c]
test edx, edx
jl 0x6ed16e
cmp edx, eax
ja 0x6ed16e
mov dword [ecx + 0x58], edx
mov byte [esp + 0x40], 1
add esp, 0x34
ret
nop
mov edx, dword [ecx + 0x7c]
mov dword [ecx], 2
mov dword [ecx + 8], 0x1f
mov ebx, dword [0xb91180]
test ebx, ebx
jne 0x6ecdcd
lea eax, [0x8223ae]
mov dword [ecx + 4], eax
mov dword [ecx + 0xc], edx
mov dword [ecx + 0x10], 0xffffffff
mov byte [esp + 0x40], 0
add esp, 0x34
ret
lea edi, [ecx + 4]
lea eax, [0x8223ae]
call fcn.0044f0d0
jmp 0x6ecdba
mov byte [esp + 0xf], bl
and ebx, 0xffffffe0
cmp bl, 0xc0
jne 0x6ece01
movzx ebx, byte [esp + 0xf]
mov ebx, 2
mov dword [esp + 0x10], ebx
movzx ebx, byte [esp + 0xf]
jmp 0x6ec9e3
movzx ebx, byte [esp + 0xf]
and ebx, 0xfffffff0
cmp bl, 0xe0
jne 0x6ece26
movzx ebx, byte [esp + 0xf]
mov ebx, 3
mov dword [esp + 0x10], ebx
movzx ebx, byte [esp + 0xf]
jmp 0x6ec9e3
movzx ebx, byte [esp + 0xf]
and ebx, 0xfffffff8
cmp bl, 0xf0
jne 0x6ece4b
movzx ebx, byte [esp + 0xf]
mov ebx, 4
mov dword [esp + 0x10], ebx
movzx ebx, byte [esp + 0xf]
jmp 0x6ec9e3
nop
mov edx, dword [ecx + 0x7c]
mov dword [ecx], 2
mov dword [ecx + 8], 0x1b
mov ebx, dword [0xb91180]
test ebx, ebx
jne 0x6ece86
lea eax, [0x81f9ce]
mov dword [ecx + 4], eax
mov dword [ecx + 0xc], edx
movzx eax, byte [esp + 0xf]
movzx eax, al
mov dword [ecx + 0x10], eax
mov byte [esp + 0x40], 0
add esp, 0x34
ret
lea edi, [ecx + 4]
lea eax, [0x81f9ce]
call fcn.0044f0d0
jmp 0x6ece6f
lea ecx, [ebx - 2]
cmp ecx, 1
ja 0x6ed1f3
cmp esi, 2
jl 0x6ed076
cmp ebx, 2
setne cl
movzx ecx, cl
mov dword [esp + 0x14], ecx
add ecx, ebp
cmp ecx, edi
jae 0x6ed1de
mov dword [esp + 0x24], ecx
cmp ebx, 2
sete bl
movzx ecx, byte [ecx + edx]
movzx ebx, bl
mov dword [esp + 0x18], ebx
add ebx, ebp
cmp ebx, edi
jae 0x6ed1d7
mov dword [esp + 0x20], ebx
movzx ebx, byte [ebx + edx]
shl ebx, 8
add ecx, ebx
mov ebx, ecx
and ecx, 0xfc00
cmp ecx, 0xdc00
je 0x6ed02f
cmp ecx, 0xd800
jne 0x6ed023
cmp esi, 4
jl 0x6ecfcc
mov ecx, dword [esp + 0x14]
lea ecx, [ecx + ebp + 2]
cmp ecx, edi
jae 0x6ed1d0
mov ecx, dword [esp + 0x24]
movzx ecx, byte [ecx + edx + 2]
mov esi, dword [esp + 0x18]
lea esi, [esi + ebp + 2]
cmp esi, edi
jae 0x6ed1c9
mov esi, dword [esp + 0x20]
movzx edx, byte [esi + edx + 2]
shl edx, 8
add ecx, edx
mov edx, ecx
and ecx, 0xfc00
cmp ecx, 0xdc00
jne 0x6ecf82
and ebx, 0x3ff
shl ebx, 0xa
and edx, 0x3ff
lea ecx, [edx + ebx + 0x10000]
mov edx, 4
mov ebx, ecx
mov ecx, edx
jmp 0x6ec958
nop
mov ecx, dword [esp + 0x38]
mov ebx, dword [ecx + 0x7c]
mov dword [ecx], 2
mov dword [ecx + 8], 0x1b
mov ebp, dword [0xb91180]
test ebp, ebp
jne 0x6ecfbc
lea eax, [0x81f7b2]
mov dword [ecx + 4], eax
lea eax, [ebx + 2]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], edx
mov byte [esp + 0x40], 0
add esp, 0x34
ret
lea edi, [ecx + 4]
lea eax, [0x81f7b2]
call fcn.0044f0d0
jmp 0x6ecfaa
mov ecx, dword [esp + 0x38]
movzx edx, byte [ecx + 0x50]
test dl, dl
je 0x6ecd0d
nop
mov edx, dword [ecx + 0x7c]
mov dword [ecx], 2
mov dword [ecx + 8], 0x20
mov ebx, dword [0xb91180]
test ebx, ebx
jne 0x6ed013
lea eax, [0x822d04]
mov dword [ecx + 4], eax
mov dword [ecx + 0xc], edx
mov dword [ecx + 0x10], 0xffffffff
mov byte [esp + 0x40], 0
add esp, 0x34
ret
lea edi, [ecx + 4]
lea eax, [0x822d04]
call fcn.0044f0d0
jmp 0x6ed000
mov ecx, ebx
mov edx, 2
jmp 0x6ecf79
nop
mov ecx, dword [esp + 0x38]
mov edx, dword [ecx + 0x7c]
mov dword [ecx], 2
mov dword [ecx + 8], 0x1d
mov ebp, dword [0xb91180]
test ebp, ebp
jne 0x6ed066
lea eax, [0x82130b]
mov dword [ecx + 4], eax
mov dword [ecx + 0xc], edx
mov dword [ecx + 0x10], ebx
mov byte [esp + 0x40], 0
add esp, 0x34
ret
lea edi, [ecx + 4]
lea eax, [0x82130b]
call fcn.0044f0d0
jmp 0x6ed057
mov ecx, dword [esp + 0x38]
movzx edx, byte [ecx + 0x50]
test dl, dl
je 0x6ecd0d
nop
mov edx, dword [ecx + 0x7c]
mov dword [ecx], 2
mov dword [ecx + 8], 0x1b
mov ebx, dword [0xb91180]
test ebx, ebx
jne 0x6ed0bd
lea eax, [0x81f8f6]
mov dword [ecx + 4], eax
mov dword [ecx + 0xc], edx
mov dword [ecx + 0x10], 0xffffffff
mov byte [esp + 0x40], 0
add esp, 0x34
ret
lea edi, [ecx + 4]
lea eax, [0x81f8f6]
call fcn.0044f0d0
jmp 0x6ed0aa
mov dword [esp], ecx
call fcn.006ec5e0
movzx eax, byte [esp + 4]
test al, al
je 0x6ed0ef
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x1c]
jmp 0x6ec996
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0x5c]
mov edx, dword [esp + 0x1c]
test edx, edx
jl 0x6ed20d
cmp edx, ecx
ja 0x6ed20d
mov dword [eax + 0x58], edx
mov byte [esp + 0x40], 0
add esp, 0x34
ret
mov eax, edx
mov edx, ebx
jmp 0x6ecd66
mov ebp, edx
jmp 0x6ec86e
cmp edx, ebp
jne 0x6ed13a
mov dword [ecx + 0x60], 0
xor edx, edx
mov ebx, edx
jmp 0x6ec896
mov edx, ebp
jmp 0x6ed133
mov dword [esp], ecx
call fcn.006ec470
movzx eax, byte [esp + 4]
test al, al
je 0x6ed15c
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
jmp 0x6ec830
mov byte [esp + 0x40], 0
add esp, 0x34
ret
mov byte [esp + 0x40], 1
add esp, 0x34
ret
call fcn.004288c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
lea eax, [0x7abe80]
mov dword [esp], eax
lea eax, [0x8ad178]
mov dword [esp + 4], eax
call fcn.00429580
ud2
call fcn.004288c0
ud2
lea eax, [0x7abe80]
mov dword [esp], eax
lea eax, [0x8ad170]
mov dword [esp + 4], eax
call fcn.00429580
ud2
call fcn.0044d880
jmp fcn.006ec7e0