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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xffffffe0
sub esp, 0x100
mov ebx, dword [edx]
test ebx, ebx
je 0x100eaad6
mov esi, ecx
mov dword [esp + 0x18], edx
call fcn.10103fe0
test eax, eax
je 0x100eaaef
movzx ecx, byte [eax]
mov dl, byte [eax + 1]
mov edi, ecx
test cx, cx
mov ecx, edx
je 0x100ea727
test dl, dl
je 0x100ea7c6
mov ecx, edx
dec cl
movzx ecx, cl
mov byte [esp + 0x1c], dl
mov edx, edi
shl ecx, 8
movzx edx, dx
or edx, ecx
mov word [eax], dx
mov eax, dword [ebx + 0x70]
test al, 2
jne 0x100ea75f
test al, 4
jne 0x100ea8e5
test al, 1
jne 0x100ea7e3
test al, 1
je 0x100ea853
jmp 0x100ea880
mov dword [esp + 0x20], 2
mov edi, dword [esp + 0x18]
movdqu xmm0, xmmword [ebx + 8]
movups xmm1, xmmword [ebx + 0x18]
movaps xmm2, xmmword [esp + 0x20]
movaps xmm3, xmmword [esp + 0x30]
movd eax, xmm0
movups xmmword [ebx + 0x18], xmm3
movups xmmword [ebx + 8], xmm2
cmp eax, 2
je 0x100ea8e9
mov ecx, dword [ebx + 0x68]
movups xmm5, xmmword [ebx + 0x38]
movups xmm4, xmmword [ebx + 0x28]
movups xmm3, xmmword [ebx + 0x58]
movups xmm2, xmmword [ebx + 0x48]
mov edx, dword [ebx + 0x6c]
movdqa xmmword [esp + 0x40], xmm0
movaps xmmword [esp + 0x50], xmm1
mov dword [esp + 0x1c], ecx
cmp eax, 3
jne 0x100ea8f1
jmp 0x100eaac8
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
push dword [eax]
call dword [ecx + 8]
add esp, 4
mov dword [esp + 0x40], 3
jmp 0x100eaac8
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov ecx, dword [ebx + 0x7c]
cmp ecx, dword [edx]
jne 0x100ea82a
mov ecx, dword [ebx + 0x80]
mov edx, dword [edx + 4]
mov dword [esp + 0x60], ecx
mov ecx, dword [ecx]
cmp ecx, dword [edx]
jne 0x100ea82a
mov ecx, dword [esp + 0x60]
mov ecx, dword [ecx + 4]
cmp ecx, dword [edx + 4]
jne 0x100ea82a
mov ecx, dword [esp + 0x60]
mov ecx, dword [ecx + 8]
cmp ecx, dword [edx + 8]
jne 0x100ea82a
mov ecx, dword [esp + 0x60]
mov ecx, dword [ecx + 0xc]
cmp ecx, dword [edx + 0xc]
je 0x100ea752
mov eax, dword [ebx + 0x70]
nop dword [eax]
mov ecx, eax
and ecx, 0xfffffffe
lock cmpxchg dword [ebx + 0x70], ecx
jne 0x100ea830
test al, 2
jne 0x100eaa3a
mov eax, dword [ebx + 0x80]
push dword [ebx + 0x7c]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
push dword [eax]
call dword [ecx]
add esp, 4
mov dword [ebx + 0x7c], eax
mov dword [ebx + 0x80], edx
mov eax, dword [ebx + 0x70]
nop
mov ecx, eax
or ecx, 1
lock cmpxchg dword [ebx + 0x70], ecx
jne 0x100ea870
test al, 2
jne 0x100ea8b5
mov eax, edi
mov dword [esp + 0x40], 3
test al, al
je 0x100eaac8
call fcn.10103fe0
test eax, eax
je 0x100eab12
movzx ecx, byte [esp + 0x1c]
movzx ecx, cx
shl ecx, 8
or ecx, 1
mov word [eax], cx
jmp 0x100eaac8
mov dword [esp + 0x20], 2
movdqu xmm0, xmmword [ebx + 8]
movups xmm1, xmmword [ebx + 0x18]
movaps xmm2, xmmword [esp + 0x20]
movaps xmm3, xmmword [esp + 0x30]
movd eax, xmm0
movups xmmword [ebx + 0x18], xmm3
movups xmmword [ebx + 8], xmm2
cmp eax, 2
jne 0x100eaa96
mov edi, dword [esp + 0x18]
mov dword [esp + 0x40], 2
movdqa xmm0, xmmword [esp + 0x40]
movaps xmm1, xmmword [esp + 0x50]
movdqa xmmword [esp + 0x20], xmm0
movaps xmmword [esp + 0x30], xmm1
movd ebx, xmm0
movq xmm0, qword [esp + 0x24]
movsd xmm6, qword [esp + 0x2c]
movsd xmm1, qword [esp + 0x34]
mov eax, dword [esp + 0x3c]
cmp ebx, 2
movq qword [esp + 0x90], xmm0
movsd qword [esp + 0x98], xmm6
movsd qword [esp + 0xa0], xmm1
mov dword [esp + 0xa8], eax
jne 0x100ea953
mov dword [esi], 2
jmp 0x100eaace
mov eax, dword [esp + 0xa8]
movsd xmm0, qword [esp + 0xa0]
movsd xmm6, qword [esp + 0x90]
movsd xmm1, qword [esp + 0x98]
mov dword [esp + 0x88], eax
movsd qword [esp + 0x80], xmm0
movsd qword [esp + 0x78], xmm1
movsd qword [esp + 0x70], xmm6
mov eax, dword [edi]
test eax, eax
je 0x100ea9e5
lock dec dword [eax]
jne 0x100ea9e5
mov ecx, edi
mov dword [esp + 0x18], edx
movaps xmmword [esp + 0x60], xmm2
movaps xmmword [esp + 0xd0], xmm3
movaps xmmword [esp + 0xc0], xmm4
movaps xmmword [esp + 0xb0], xmm5
call fcn.100d88d0
movaps xmm5, xmmword [esp + 0xb0]
movaps xmm4, xmmword [esp + 0xc0]
movaps xmm3, xmmword [esp + 0xd0]
movaps xmm2, xmmword [esp + 0x60]
mov edx, dword [esp + 0x18]
mov dword [edi], 0
mov dword [esi], ebx
movsd xmm1, qword [esp + 0x78]
mov eax, dword [esp + 0x88]
movq xmm0, qword [esp + 0x70]
movsd qword [esi + 0xc], xmm1
movsd xmm1, qword [esp + 0x80]
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x1c]
movq qword [esi + 4], xmm0
movsd qword [esi + 0x14], xmm1
movups xmmword [esi + 0x30], xmm5
movups xmmword [esi + 0x20], xmm4
movups xmmword [esi + 0x50], xmm3
movups xmmword [esi + 0x40], xmm2
mov dword [esi + 0x64], edx
mov dword [esi + 0x60], eax
jmp 0x100eaace
lock or dword [ebx + 0x70], 1
mov dword [esp + 0x20], 2
movaps xmm2, xmmword [esp + 0x20]
movaps xmm3, xmmword [esp + 0x30]
movdqu xmm0, xmmword [ebx + 8]
movups xmm1, xmmword [ebx + 0x18]
movups xmmword [ebx + 0x18], xmm3
movups xmmword [ebx + 8], xmm2
movd eax, xmm0
mov ecx, dword [ebx + 0x68]
movups xmm5, xmmword [ebx + 0x38]
movups xmm4, xmmword [ebx + 0x28]
movups xmm3, xmmword [ebx + 0x58]
movups xmm2, xmmword [ebx + 0x48]
mov edx, dword [ebx + 0x6c]
cmp eax, 2
mov dword [esp + 0x1c], ecx
jne 0x100eaab0
mov edi, dword [esp + 0x18]
mov dword [esp + 0x40], 2
jmp 0x100ea8f1
mov ecx, dword [ebx + 0x68]
movups xmm5, xmmword [ebx + 0x38]
movups xmm4, xmmword [ebx + 0x28]
movups xmm3, xmmword [ebx + 0x58]
movups xmm2, xmmword [ebx + 0x48]
mov edx, dword [ebx + 0x6c]
mov dword [esp + 0x1c], ecx
mov edi, dword [esp + 0x18]
movdqa xmmword [esp + 0x40], xmm0
movaps xmmword [esp + 0x50], xmm1
cmp eax, 3
jne 0x100ea8f1
mov dword [esi], 3
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, 0x103a3709
mov edx, 0x15
push 0x103a3720
call fcn.1004d820
add esp, 4
ud2
lea eax, [esp + 0x20]
mov ecx, 0x103c9a77
mov edx, 0x46
push 0x103c9ac0
push 0x10398218
push eax
call fcn.1000aa20
add esp, 0xc
ud2
lea eax, [esp + 0x20]
mov ecx, 0x103c9a77
mov edx, 0x46
push 0x103c9ac0
push 0x103a1ea0
jmp 0x100eab07