Function at 0x6e94f650
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 0x6e94f704
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 0x6e94f850
or ecx, esi
je 0x6e94f8b0
test ebp, ebp
jne 0x6e94f8c0
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 0x6e94f8d1
cmp edi, 2
jg 0x6e94f904
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 0x6e94f790
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 0x6e94f7e0
lea ebp, [esp + 0x40]
mov dword [ebp + ebx*4], 0
sub ebx, 1
jns 0x6e94f7d3
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 fcn.6e9478b0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
jmp 0x6e94f6f1
or ecx, esi
je 0x6e94f8a2
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 0x6e94f6f1
jmp 0x6e94f82f
xor esi, esi
mov edi, 0x7fff
xor ebp, ebp
jmp 0x6e94f6c5
xor esi, esi
xor edi, edi
xor ebp, ebp
jmp 0x6e94f6c5
bsr edi, ebp
mov dword [esp + 0x14], edi
xor dword [esp + 0x14], 0x1f
jmp 0x6e94f729
cmp edi, 3
jg 0x6e94f8fa
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 0x6e94f8e5
lea ebx, [edi - 1]
jmp 0x6e94f7cb
mov ebx, 3
jmp 0x6e94f7cf
mov ebx, 2
mov dword [esp + 0x1c], 3
jmp 0x6e94f7bc