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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov ebp, eax
movzx ecx, ax
mov dword [esp + 0x3c], eax
mov edi, eax
shr ebp, 0x10
shr eax, 0x18
shr al, 7
and ebp, 0x7fff
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], edx
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ecx
mov byte [esp], al
je 0x6cecbfb5
cmp ebp, 0x7fff
je 0x6cecbf90
or ecx, 0x10000
mov dword [esp + 0x2c], ecx
lea ebx, [esp + 0x20]
lea eax, [esp + 0x2c]
shr edx, 0x1d
sub eax, 4
shl ecx, 3
or edx, ecx
mov dword [eax + 4], edx
cmp eax, ebx
je 0x6cecc080
mov ecx, dword [eax]
mov edx, dword [eax - 4]
jmp 0x6cecbf6c
mov ebp, ebx
or ebp, esi
or ebp, edx
or ebp, ecx
jne 0x6cecc198
movzx eax, byte [esp]
xor edx, edx
xor ebx, ebx
mov ecx, 0x7fff
xor edi, edi
xor eax, 1
jmp 0x6cecc14f
mov ebp, ebx
or ebp, esi
or ebp, edx
or ebp, ecx
je 0x6cecc140
test ecx, ecx
je 0x6cecc223
bsr eax, ecx
mov dword [esp + 4], eax
xor dword [esp + 4], 0x1f
mov eax, dword [esp + 4]
mov edx, eax
sub edx, 0xc
lea ebx, [eax + 0x13]
mov eax, edx
cmovns ebx, edx
sar eax, 0x1f
shr eax, 0x1b
add edx, eax
and edx, 0x1f
sar ebx, 5
sub edx, eax
mov dword [esp + 0xc], ebx
mov ebp, edx
je 0x6cecc1f6
cmp ebx, 2
jg 0x6cecc400
mov dword [esp + 8], 0x20
mov eax, 3
sub dword [esp + 8], edx
sub eax, ebx
lea edi, [esp + 0x20]
lea eax, [edi + eax*4]
mov edx, dword [eax - 4]
movzx ecx, byte [esp + 8]
mov esi, dword [eax]
shr edx, cl
mov ecx, ebp
shl esi, cl
or edx, esi
mov dword [eax + ebx*4], edx
sub eax, 4
cmp eax, edi
jne 0x6cecc027
mov esi, dword [esp + 0x20]
sub ebx, 1
mov eax, dword [esp + 0xc]
mov ecx, ebp
shl esi, cl
mov dword [esp + eax*4 + 0x20], esi
test ebx, ebx
js 0x6cecc06a
lea edi, [esp + 0x20]
mov dword [edi + ebx*4], 0
sub ebx, 1
jns 0x6cecc05e
mov ebp, 0xffffc011
mov esi, dword [esp + 0x20]
sub ebp, dword [esp + 4]
jmp 0x6cecc091
mov eax, dword [esp + 0x20]
sub ebp, 0x3fff
lea esi, [eax*8]
movzx eax, byte [esp]
lea ecx, [ebp + 0x3fff]
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
xor eax, 1
test ecx, ecx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], edi
mov dword [esp], ecx
jle 0x6cecc260
test esi, 7
jne 0x6cecc1b0
test edi, 0x100000
je 0x6cecc0ec
and edi, 0xffefffff
mov dword [esp + 0x3c], edi
lea edi, [ebp + 0x4000]
mov dword [esp], edi
mov ecx, dword [esp]
lea edx, [esp + 0x30]
lea edi, [esp + 0x3c]
mov esi, dword [edx]
add edx, 4
mov ebx, dword [edx]
shr esi, 3
shl ebx, 0x1d
or ebx, esi
mov dword [edx - 4], ebx
cmp edx, edi
jne 0x6cecc0f7
mov edi, dword [esp + 0x3c]
mov dword [esp], ecx
shr edi, 3
cmp ecx, 0x7ffe
jg 0x6cecc248
movzx ecx, word [esp]
mov ebp, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
and cx, 0x7fff
jmp 0x6cecc14f
movzx eax, byte [esp]
xor edx, edx
xor ebx, ebx
xor ecx, ecx
xor edi, edi
xor eax, 1
movzx esi, word [esp + 0x1e]
shl eax, 7
mov word [esp + 0x1c], di
mov edi, dword [esp + 0x60]
and si, 0x8000
or esi, ecx
mov word [esp + 0x1e], si
shr si, 8
mov ecx, esi
and ecx, 0x7f
or ecx, eax
mov eax, dword [esp + 0x60]
mov byte [esp + 0x1f], cl
mov dword [eax], ebp
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov eax, dword [esp + 0x1c]
mov dword [edi + 0xc], eax
add esp, 0x4c
mov eax, edi
pop ebx
pop esi
pop edi
pop ebp
ret
movzx eax, byte [esp]
or di, 0x8000
mov ebp, esi
mov ecx, 0x7fff
xor eax, 1
jmp 0x6cecc14f
mov ecx, esi
and ecx, 0xf
cmp ecx, 4
je 0x6cecc0d1
add esi, 4
xor ecx, ecx
cmp esi, 3
setbe cl
mov dword [esp + 0x30], esi
mov esi, ecx
add ebx, esi
cmp esi, ebx
mov dword [esp + 0x34], ebx
seta bl
movzx ebx, bl
add edx, ebx
cmp ebx, edx
mov dword [esp + 0x38], edx
seta dl
movzx edx, dl
add edi, edx
mov dword [esp + 0x3c], edi
jmp 0x6cecc0d1
cmp ebx, 3
jg 0x6cecc3f0
mov edx, ebx
neg edx
lea eax, [esp + 0x2c]
lea ecx, [esp + ebx*4 + 0x1c]
shl edx, 2
mov esi, dword [eax + edx]
sub eax, 4
mov dword [eax + 4], esi
cmp eax, ecx
jne 0x6cecc20e
sub ebx, 1
jmp 0x6cecc056
test edx, edx
jne 0x6cecc3a0
test ebx, ebx
lea esi, [esi]
je 0x6cecc3d0
bsr ebx, ebx
xor ebx, 0x1f
lea eax, [ebx + 0x40]
mov dword [esp + 4], eax
jmp 0x6cecbfd7
mov ecx, 0x7fff
xor edi, edi
xor edx, edx
xor ebx, ebx
xor ebp, ebp
jmp 0x6cecc14f
mov ecx, 0xffffc002
sub ecx, ebp
cmp ecx, 0x74
jg 0x6cecc3b2
test ecx, ecx
mov ebx, ecx
lea edx, [ecx + 0x1f]
cmovns edx, ecx
sar ebx, 0x1f
shr ebx, 0x1b
add ecx, ebx
mov dword [esp], ecx
sar edx, 5
and dword [esp], 0x1f
sub dword [esp], ebx
test edx, edx
jle 0x6cecc4a2
xor ebp, ebp
lea ecx, [esp + 0x34]
or ebp, esi
lea ebx, [esp + edx*4 + 0x30]
cmp ecx, ebx
je 0x6cecc2b2
mov esi, dword [ecx]
add ecx, 4
or ebp, esi
cmp ecx, ebx
jne 0x6cecc2a7
mov ecx, edx
mov ebx, dword [esp]
test ebx, ebx
jne 0x6cecc412
mov ebx, 3
sub ebx, edx
lea ecx, [esp + 0x30]
lea esi, [esp + ebx*4 + 0x34]
mov ebx, dword [ecx + edx*4]
add ecx, 4
mov dword [ecx - 4], ebx
cmp ecx, esi
jne 0x6cecc2ce
mov ebx, 4
sub ebx, edx
jmp 0x6cecc2ef
mov dword [esp + ebx*4 + 0x30], 0
add ebx, 1
cmp ebx, 3
jle 0x6cecc2e4
xor edx, edx
test ebp, ebp
setne dl
or edx, dword [esp + 0x30]
test dl, 7
mov dword [esp + 0x30], edx
je 0x6cecc3e2
mov ecx, edx
and ecx, 0xf
cmp ecx, 4
je 0x6cecc3e2
add edx, 4
xor ecx, ecx
mov dword [esp + 0x30], edx
cmp edx, 3
mov edx, dword [esp + 0x34]
setbe cl
add edx, ecx
cmp ecx, edx
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x38]
seta cl
movzx ecx, cl
add edx, ecx
cmp ecx, edx
mov dword [esp + 0x38], edx
seta dl
movzx edx, dl
add edx, dword [esp + 0x3c]
mov dword [esp + 0x3c], edx
and edx, 0x80000
jne 0x6cecc490
lea edx, [esp + 0x30]
lea esi, [esp + 0x3c]
mov ebx, dword [edx]
add edx, 4
mov ecx, dword [edx]
shr ebx, 3
shl ecx, 0x1d
or ecx, ebx
mov dword [edx - 4], ecx
cmp edx, esi
jne 0x6cecc369
mov edi, dword [esp + 0x3c]
xor ecx, ecx
mov ebp, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
shr edi, 3
jmp 0x6cecc14f
bsr edx, edx
xor edx, 0x1f
lea eax, [edx + 0x20]
mov dword [esp + 4], eax
jmp 0x6cecbfd7
mov ebp, edx
xor ecx, ecx
or ebp, edi
or ebp, ebx
or ebp, esi
je 0x6cecc14f
xor edi, edi
xor edx, edx
xor ebx, ebx
xor ebp, ebp
jmp 0x6cecc14f
bsr eax, esi
xor eax, 0x1f
add eax, 0x60
mov dword [esp + 4], eax
jmp 0x6cecbfd7
mov edx, dword [esp + 0x3c]
jmp 0x6cecc355
mov ebx, 3
jmp 0x6cecc05a
mov ebx, 2
mov dword [esp + 0xc], 3
jmp 0x6cecc04a
mov ebx, dword [esp]
mov dword [esp + 4], 0x20
sub dword [esp + 4], ebx
mov ebx, dword [esp + ecx*4 + 0x30]
movzx ecx, byte [esp + 4]
shl ebx, cl
mov ecx, 3
or ebp, ebx
sub ecx, edx
mov dword [esp + 0xc], ecx
je 0x6cecc4ab
lea ebx, [esp + 0x30]
lea edi, [ebx + ecx*4]
mov dword [esp + 8], edi
mov edi, eax
mov eax, dword [ebx + edx*4 + 4]
movzx ecx, byte [esp + 4]
mov esi, dword [ebx + edx*4]
add ebx, 4
shl eax, cl
movzx ecx, byte [esp]
shr esi, cl
or eax, esi
mov dword [ebx - 4], eax
cmp ebx, dword [esp + 8]
jne 0x6cecc448
mov eax, edi
mov edi, dword [esp + 0x3c]
mov ebx, 4
sub ebx, edx
movzx ecx, byte [esp]
mov esi, dword [esp + 0xc]
shr edi, cl
mov dword [esp + esi*4 + 0x30], edi
jmp 0x6cecc2ef
mov ecx, 1
xor edi, edi
xor edx, edx
xor ebx, ebx
xor ebp, ebp
jmp 0x6cecc14f
xor ebp, ebp
xor ecx, ecx
jmp 0x6cecc2b4
mov ebx, 1
jmp 0x6cecc477