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

Disassembly:
push ebp
push edi
xor edi, edi
push esi
push ebx
sub esp, 0x5c
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov word [esp + 0x2e], di
fnstcw word [esp + 0x2e]
mov dword [esp + 0x34], eax
movzx edi, dx
mov dword [esp + 0x44], eax
mov eax, edx
shr eax, 0x10
mov dword [esp + 0x3c], edx
shr edx, 0x18
mov ebx, eax
shr dl, 7
and ebx, 0x7fff
mov dword [esp + 0x30], ecx
movzx edx, dl
mov dword [esp + 0x40], ecx
lea eax, [esp + 0x40]
mov dword [esp + 0x38], esi
lea ecx, [esp + 0x4c]
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], edi
shr esi, 0x1d
sub ecx, 4
shl edi, 3
or esi, edi
mov dword [ecx + 4], esi
cmp ecx, eax
je 0x6cecfb50
mov edi, dword [ecx]
mov esi, dword [ecx - 4]
jmp 0x6cecfb33
mov edi, dword [esp + 0x40]
lea esi, [ebx + 1]
and esi, 0x7fff
cmp esi, 1
lea ecx, [edi*8]
mov dword [esp + 0x40], ecx
jle 0x6cecfd00
lea esi, [ebx - 0x3f80]
cmp esi, 0xfe
jg 0x6cecfc60
test esi, esi
jle 0x6cecfda4
mov edi, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov ebx, edi
shl ebx, 7
shr edi, 0x19
or ebx, ecx
shl eax, 7
xor ecx, ecx
or eax, edi
or ebx, dword [esp + 0x44]
setne cl
xor edi, edi
or eax, ecx
mov ebx, eax
and ebx, 7
xor ecx, ecx
test ebx, ebx
je 0x6cecfbe8
movzx ebx, word [esp + 0x2e]
mov ecx, 0x20
and bx, 0xc00
cmp bx, 0x400
je 0x6cecfc9a
cmp bx, 0x800
je 0x6cecfd97
test bx, bx
je 0x6cecfd84
test eax, eax
je 0x6cecfc06
mov ebx, edi
test bl, bl
je 0x6cecfc06
test cl, 0x20
jne 0x6cecfcf2
test byte [esp + 0x2e], 0x10
jne 0x6cecfcf2
mov ebx, eax
and ebx, 0x4000000
test ebx, ebx
je 0x6cecfcb2
and eax, 0xfbffffff
lea ebx, [esi + 1]
shr eax, 3
cmp ebx, 0xff
jne 0x6cecfcc8
movzx eax, word [esp + 0x2e]
and ax, 0xc00
je 0x6cecfe90
cmp ax, 0x800
je 0x6cecfe82
cmp ax, 0x400
je 0x6cecfee6
mov ebx, 0xfffffffe
mov eax, 0x1fffffff
or ecx, 0x28
jmp 0x6cecfcc8
movzx ebx, word [esp + 0x2e]
and bx, 0xc00
je 0x6cecfca6
cmp bx, 0x800
je 0x6cecfec0
cmp bx, 0x400
je 0x6cecfca2
xor edi, edi
cmp bx, 0x400
mov ecx, 0x28
mov eax, 0xffffffff
mov esi, 0xfe
jne 0x6cecfbd4
lea eax, [eax + edx*8]
jmp 0x6cecfbe8
test edx, edx
je 0x6cecfc7e
mov esi, 0xff
mov ecx, 0x28
xor eax, eax
shr eax, 3
mov ebx, esi
test eax, eax
je 0x6cecfcc8
cmp esi, 0xff
jne 0x6cecfcc8
or eax, 0x400000
movzx esi, bl
and eax, 0x7fffff
shl esi, 0x17
shl edx, 0x1f
or eax, esi
or eax, edx
test ecx, ecx
mov dword [esp + 0xc], eax
fld dword [esp + 0xc]
jne 0x6cecff9e
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
or ecx, 0x10
jmp 0x6cecfc06
test ebx, ebx
je 0x6cecfd50
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x4c]
or esi, edi
or esi, eax
or esi, ecx
je 0x6cecfeb0
cmp ebx, 0x7fff
jne 0x6cecff81
mov ecx, eax
shr ecx, 0x12
xor ecx, 1
and ecx, 1
shr edi, 0x19
mov esi, 0xff
shl eax, 7
or eax, edi
xor edi, edi
and eax, 0xfffffff8
or eax, 0x2000000
jmp 0x6cecfbe8
mov eax, dword [esp + 0x48]
or eax, dword [esp + 0x44]
or eax, dword [esp + 0x4c]
or eax, ecx
je 0x6cecfea0
movzx ebx, word [esp + 0x2e]
mov edi, 1
mov ecx, 0x22
mov eax, 1
xor esi, esi
and bx, 0xc00
jmp 0x6cecfbc9
mov ebp, eax
and ebp, 0xf
lea ebx, [eax + 4]
cmp ebp, 4
cmovne eax, ebx
jmp 0x6cecfbe8
lea ebx, [eax + 8]
test edx, edx
cmove eax, ebx
jmp 0x6cecfbe8
cmp esi, 0xffffffe9
jl 0x6cecfed0
mov ebp, dword [esp + 0x4c]
mov edi, 0x3fda
sub edi, ebx
lea ebx, [edi + 0x1f]
mov esi, edi
or ebp, 0x80000
test edi, edi
cmovns ebx, edi
sar esi, 0x1f
shr esi, 0x1b
add edi, esi
mov dword [esp + 0xc], edi
sar ebx, 5
and dword [esp + 0xc], 0x1f
sub dword [esp + 0xc], esi
test ebx, ebx
mov dword [esp + 0x4c], ebp
jle 0x6cecff72
lea esi, [esp + 0x44]
lea edi, [eax + ebx*4]
mov dword [esp + 0x14], ebp
xor ebp, ebp
or ebp, ecx
cmp esi, edi
mov dword [esp + 0x10], 0
je 0x6cecfe12
mov ecx, dword [esi]
add esi, 4
or ebp, ecx
cmp esi, edi
jne 0x6cecfe07
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x14]
mov ecx, ebx
mov esi, dword [esp + 0xc]
test esi, esi
jne 0x6cecfef0
mov ecx, 3
sub ecx, ebx
mov esi, ecx
js 0x6cecff97
mov ecx, eax
lea edi, [esp + esi*4 + 0x44]
mov esi, dword [ecx + ebx*4]
add ecx, 4
mov dword [ecx - 4], esi
cmp ecx, edi
jne 0x6cecfe3d
mov esi, 4
sub esi, ebx
jmp 0x6cecfe5d
mov dword [eax + esi*4], 0
add esi, 1
cmp esi, 3
jle 0x6cecfe53
mov ecx, dword [esp + 0x10]
xor eax, eax
mov edi, 1
test ecx, ecx
setne al
xor esi, esi
or eax, dword [esp + 0x40]
mov ebx, eax
and ebx, 7
jmp 0x6cecfbb4
test edx, edx
jne 0x6cecfc50
lea esi, [esi]
mov ebx, 0xffffffff
xor eax, eax
jmp 0x6cecfc5a
xor esi, esi
xor ecx, ecx
jmp 0x6cecfcb0
mov esi, 0xff
xor ecx, ecx
jmp 0x6cecfcb0
test edx, edx
je 0x6cecfca6
jmp 0x6cecfc7e
mov edi, 1
mov ebx, 1
mov eax, 1
xor esi, esi
jmp 0x6cecfbb4
test edx, edx
je 0x6cecfc50
jmp 0x6cecfe90
mov edi, dword [esp + 0xc]
mov dword [esp + 0x14], 0x20
mov esi, dword [esp + ecx*4 + 0x40]
sub dword [esp + 0x14], edi
movzx ecx, byte [esp + 0x14]
mov dword [esp + 0x1c], 3
sub dword [esp + 0x1c], ebx
mov edi, dword [esp + 0x1c]
shl esi, cl
or dword [esp + 0x10], esi
test edi, edi
jle 0x6cecff88
lea edi, [eax + edi*4]
mov esi, eax
mov dword [esp + 0x18], edi
mov edi, edx
mov ebp, dword [esi + ebx*4 + 4]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esi + ebx*4]
add esi, 4
shl ebp, cl
movzx ecx, byte [esp + 0xc]
shr edx, cl
or ebp, edx
mov dword [esi - 4], ebp
cmp esi, dword [esp + 0x18]
jne 0x6cecff2e
mov ebp, dword [esp + 0x4c]
mov esi, 4
mov edx, edi
sub esi, ebx
movzx ecx, byte [esp + 0xc]
mov edi, dword [esp + 0x1c]
shr ebp, cl
mov dword [esp + edi*4 + 0x40], ebp
jmp 0x6cecfe5d
mov dword [esp + 0x10], 0
xor ecx, ecx
jmp 0x6cecfe1c
xor ecx, ecx
jmp 0x6cecfd33
mov esi, 1
mov dword [esp + 0x1c], 0
jmp 0x6cecff5e
xor esi, esi
jmp 0x6cecfe53
fstp st(0)
mov dword [esp], ecx
call dbg.__sfp_handle_exceptions
fld dword [esp + 0xc]
jmp 0x6cecfcea