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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x6e6eee
sub esp, 0x80
lea eax, [0x7f17a0]
mov dword [esp], eax
call fcn.00409c40
mov eax, dword [esp + 4]
mov dword [esp + 0x44], eax
mov dword [esp], 0
mov ecx, dword [esp + 0x84]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x88]
mov dword [esp + 8], edx
call fcn.0043c000
mov eax, dword [esp + 0xc]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x30], edx
lea edi, [esp + 0x68]
lea esi, [0x8b2260]
call fcn.0044cf82
lea edi, [esp + 0x5c]
lea esi, [esp + 0x68]
call fcn.0044cf82
lea ecx, [esp + 0x18]
mov dword [esp + 0x4c], ecx
mov ebx, dword [esp + 0x2c]
xor ebp, ebp
mov esi, 1
jmp 0x6e6bd5
dec eax
cmp eax, ecx
jl 0x6e6cd6
cmp eax, edx
jae 0x6e6ed9
movzx esi, byte [ebp + eax]
xchg esi, eax
cmp al, 0x3c
xchg esi, eax
jne 0x6e6b50
cmp ecx, eax
ja 0x6e6ed2
mov esi, dword [esp + 0x30]
cmp eax, esi
ja 0x6e6ed2
mov edx, dword [esp + 0x44]
mov dword [esp], edx
mov ebx, dword [esp + 0x48]
mov dword [esp + 4], ebx
sub eax, ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xc], eax
call fcn.004cda20
movzx eax, byte [esp + 0x2b]
lea edi, [esp + 0x5c]
lea esi, [esp + 0x50]
call fcn.0044cf82
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x2c]
mov edx, ebx
mov ebx, ebp
mov ebp, ecx
mov esi, eax
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x4c]
xchg esi, eax
mov byte [esp + 0x2b], al
xchg esi, eax
cmp ebp, ebx
je 0x6e6eaf
mov dword [esp + 0x38], ebp
mov edi, ecx
movzx ecx, byte [esp + 0x5d]
test cl, cl
jne 0x6e6d19
movzx ecx, byte [esp + 0x5c]
movzx eax, byte [esp + 0x61]
test al, al
je 0x6e6d12
lea eax, [ecx - 1]
cmp al, 3
ja 0x6e6cfa
cmp ebp, ebx
ja 0x6e6ee7
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
movzx eax, cl
sub ebx, ebp
sub edx, ebp
mov dword [esp + 0x3c], edx
neg edx
sar edx, 0x1f
and edx, ebp
mov ecx, dword [esp + 0x40]
add ecx, edx
cmp eax, 0x19
jae 0x6e6ee0
mov dword [esp + 0x48], ecx
lea ebp, [0xb7c100]
mov edx, dword [ebp + eax*4]
mov edi, esp
lea esi, [esp + 0x5c]
call fcn.0044cf82
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x14], ecx
mov ebx, dword [edx]
call ebx
lea edi, [esp + 0x74]
mov esi, dword [esp + 0x4c]
call fcn.0044cf82
mov eax, dword [esp + 0x24]
lea edi, [esp + 0x50]
lea esi, [esp + 0x74]
call fcn.0044cf82
mov ecx, dword [esp + 0x38]
lea ebx, [eax + ecx]
mov dword [esp + 0x34], ebx
movzx ebp, byte [esp + 0x5c]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x6e6cec
movzx edx, byte [esp + 0x50]
xchg ebp, eax
cmp dl, al
xchg ebp, eax
je 0x6e6cdd
lea eax, [eax + ecx - 1]
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x40]
jmp 0x6e6b51
mov eax, ebx
jmp 0x6e6b6d
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x40]
mov eax, ebx
jmp 0x6e6b6d
xchg ebp, eax
cmp al, 6
xchg ebp, eax
je 0x6e6cba
xor eax, eax
jmp 0x6e6ba8
cmp cl, 7
jne 0x6e6d06
cmp ebp, ebx
jmp 0x6e6c16
cmp ebp, ebx
mov ecx, 6
jmp 0x6e6c16
cmp ebp, ebx
jmp 0x6e6c16
cmp ebp, ebx
ja 0x6e6ecb
sub ebx, ebp
sub edx, ebp
mov dword [esp + 0x3c], edx
neg edx
sar edx, 0x1f
and edx, ebp
add edx, eax
movzx ecx, cl
cmp ecx, 4
jae 0x6e6ec4
lea eax, [0xb7b2a0]
lea ecx, [eax + ecx*8]
mov ebp, dword [ecx + 4]
mov ecx, dword [ecx]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
mov dword [esp], edx
mov dword [esp + 4], ebx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 8], ecx
call fcn.004cec50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x38]
lea edx, [ecx + eax]
cmp edx, ecx
jl 0x6e6dbb
movzx ebx, byte [esp + 0x5d]
cmp bl, 3
je 0x6e6db7
lea eax, [eax + ecx + 1]
movzx ebx, byte [esp + 0x61]
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
mov byte [esp + 0x5c], 1
mov byte [esp + 0x61], bl
mov ecx, eax
movzx eax, byte [esp + 0x2b]
jmp 0x6e6bb9
mov eax, edx
jmp 0x6e6d85
movzx eax, byte [esp + 0x2b]
test al, al
jne 0x6e6e8c
movzx eax, byte [esp + 0x5c]
test al, al
jne 0x6e6e7c
mov eax, dword [esp + 0x2c]
cmp ecx, eax
ja 0x6e6ebd
mov edx, dword [esp + 0x44]
mov dword [esp], edx
mov ebx, dword [esp + 0x30]
sub ebx, ecx
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
mov esi, dword [esp + 0x40]
add ebx, esi
mov dword [esp + 4], ebx
sub eax, ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
call fcn.004cda20
mov eax, dword [esp + 0x44]
test eax, eax
je 0x6e6e6f
mov ecx, dword [eax]
mov edx, dword [eax + 0xc]
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
cmp edx, ebx
ja 0x6e6eb6
mov dword [esp], 0
sub eax, edx
mov ebp, eax
neg eax
sar eax, 0x1f
and eax, edx
add eax, ecx
mov dword [esp + 4], eax
sub ebx, edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
call fcn.0043beb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
add esp, 0x80
ret
lea ecx, [0x833c54]
mov eax, 5
jmp 0x6e6e5a
cmp al, 6
jne 0x6e6e10
mov eax, dword [esp + 0x2c]
cmp ecx, eax
jmp 0x6e6ddb
mov eax, dword [esp + 0x84]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x90], eax
add esp, 0x80
ret
mov ecx, ebp
jmp 0x6e6dbb
call fcn.004265e0
ud2
call fcn.004265e0
ud2
call fcn.004264e0
ud2
call fcn.004265e0
ud2
call fcn.004265e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004265e0
ud2
call fcn.0044b230
jmp fcn.006e6ab0