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

Disassembly:
push ebp
xor edx, edx
push edi
push esi
push ebx
sub esp, 0x5c
mov eax, dword [esp + 0x70]
mov word [esp + 0x2e], dx
fnstcw word [esp + 0x2e]
mov ebx, dword [esp + 0x78]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov edi, ebx
mov ebp, ebx
shr edi, 0x14
mov esi, ecx
and edi, 0x7ff
mov edx, ebx
mov dword [esp + 0x40], ecx
lea ecx, [edi + 1]
and ebp, 0xfffff
and ecx, 0x7ff
shr edx, 0x1f
cmp ecx, 1
mov dword [esp + 0x44], ebp
mov ecx, ebp
jle 0x6cecf744
mov ebx, esi
add di, 0x3c00
shl ecx, 0x1c
shr ebx, 4
or ecx, ebx
shl esi, 0x1c
shr ebp, 4
movzx ebx, word [esp + 0x3e]
shl edx, 7
mov word [esp + 0x3c], bp
xor ebp, ebp
and bx, 0x8000
or ebx, edi
mov word [esp + 0x3e], bx
shr bx, 8
and ebx, 0x7f
or ebx, edx
mov byte [esp + 0x3f], bl
mov edi, dword [esp + 0x3c]
mov dword [eax], ebp
mov dword [eax + 4], esi
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edi
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
test edi, edi
jne 0x6cecf890
or ecx, esi
je 0x6cecf8f0
test ebp, ebp
jne 0x6cecf900
bsr ecx, esi
xor ecx, 0x1f
lea edi, [ecx + 0x20]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x14]
mov ebx, edi
add ebx, 0x31
lea ecx, [edi + 0x50]
mov edi, ecx
mov ecx, ebx
cmovns edi, ebx
sar ecx, 0x1f
shr ecx, 0x1b
add ebx, ecx
and ebx, 0x1f
sar edi, 5
sub ebx, ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x10], ebx
je 0x6cecf911
cmp edi, 2
jg 0x6cecf944
mov ecx, 3
mov esi, dword [esp + 0x10]
lea ebp, [esp + 0x40]
sub ecx, edi
lea ebx, [ebp + ecx*4]
mov dword [esp + 0x18], 0x20
mov dword [esp + 0x70], eax
sub dword [esp + 0x18], esi
mov esi, ebp
mov ebp, edx
lea esi, [esi]
mov eax, dword [ebx - 4]
movzx ecx, byte [esp + 0x18]
mov edx, dword [ebx]
shr eax, cl
movzx ecx, byte [esp + 0x10]
shl edx, cl
or eax, edx
mov dword [ebx + edi*4], eax
sub ebx, 4
cmp ebx, esi
jne 0x6cecf7d0
mov eax, dword [esp + 0x70]
mov edx, ebp
mov esi, dword [esp + 0x40]
lea ebx, [edi - 1]
movzx ecx, byte [esp + 0x10]
mov edi, dword [esp + 0x1c]
shl esi, cl
mov dword [esp + edi*4 + 0x40], esi
test ebx, ebx
js 0x6cecf820
lea ebp, [esp + 0x40]
mov dword [ebp + ebx*4], 0
sub ebx, 1
jns 0x6cecf813
mov ecx, dword [esp + 0x4c]
shl edx, 7
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
mov word [esp + 0x3c], cx
mov ecx, 0x3c0c
sub ecx, dword [esp + 0x14]
mov ebx, ecx
movzx ecx, word [esp + 0x3e]
and bx, 0x7fff
and cx, 0x8000
or ecx, ebx
mov ebx, 2
mov word [esp + 0x3e], cx
shr cx, 8
and ecx, 0x7f
or ecx, edx
mov byte [esp + 0x3f], cl
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x3c]
mov dword [esp], ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], eax
call dbg.__sfp_handle_exceptions
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
jmp 0x6cecf731
or ecx, esi
je 0x6cecf8e2
mov ebx, ebp
mov ecx, ebp
shr ebp, 4
mov edi, esi
mov word [esp + 0x3c], bp
movzx ebp, word [esp + 0x3e]
shl edx, 7
shr edi, 4
shl ecx, 0x1c
shr ebx, 0x13
or ecx, edi
or bp, 0x7fff
mov word [esp + 0x3e], bp
shr bp, 8
and ebp, 0x7f
or ebp, edx
mov edx, ebp
xor ebp, ebp
shl esi, 0x1c
xor ebx, 1
mov byte [esp + 0x3f], dl
mov edi, dword [esp + 0x3c]
je 0x6cecf731
jmp 0x6cecf86f
xor esi, esi
mov edi, 0x7fff
xor ebp, ebp
jmp 0x6cecf705
xor esi, esi
xor edi, edi
xor ebp, ebp
jmp 0x6cecf705
bsr edi, ebp
mov dword [esp + 0x14], edi
xor dword [esp + 0x14], 0x1f
jmp 0x6cecf769
cmp edi, 3
jg 0x6cecf93a
mov ebx, edi
neg ebx
lea ecx, [esp + 0x4c]
lea esi, [esp + edi*4 + 0x3c]
shl ebx, 2
mov ebp, dword [ecx + ebx]
sub ecx, 4
mov dword [ecx + 4], ebp
cmp ecx, esi
jne 0x6cecf925
lea ebx, [edi - 1]
jmp 0x6cecf80b
mov ebx, 3
jmp 0x6cecf80f
mov ebx, 2
mov dword [esp + 0x1c], 3
jmp 0x6cecf7fc