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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xc
mov eax, dword [ebp + 8]
mov esi, dword [eax]
test esi, esi
je 0x10014958
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
test eax, eax
je 0x10014916
mov ecx, esi
xor esi, esi
jmp 0x100147bc
mov eax, dword [ebp - 0x18]
xor ecx, ecx
dec eax
je 0x10014929
test esi, esi
mov dword [ebp - 0x18], eax
je 0x100147e0
mov eax, ecx
movzx ecx, word [esi + 0x1ea]
cmp edx, ecx
jae 0x10014820
jmp 0x10014806
xor eax, eax
test edx, edx
je 0x1001480e
mov esi, ecx
nop dword [eax + eax]
mov esi, dword [esi + 0x1ec]
dec edx
jne 0x100147f0
xor edx, edx
movzx ecx, word [esi + 0x1ea]
cmp edx, ecx
jae 0x10014820
mov ecx, edx
mov edi, eax
mov ebx, esi
jmp 0x10014868
xor edx, edx
mov esi, ecx
movzx ecx, word [esi + 0x1ea]
cmp edx, ecx
jb 0x10014806
nop dword [eax]
mov ecx, dword [esi + 0xb0]
test ecx, ecx
je 0x10014960
movzx ebx, word [esi + 0x1e8]
mov dword [ebp - 0x10], ecx
lea edi, [eax + 1]
test eax, eax
mov eax, 0x21c
mov ecx, 0x1ec
cmove eax, ecx
push 4
push eax
push esi
call fcn.1000d080
mov ecx, ebx
mov ebx, dword [ebp - 0x10]
add esp, 0xc
cmp cx, word [ebx + 0x1ea]
mov esi, ebx
mov eax, edi
jae 0x10014820
lea edx, [ecx + 1]
test edi, edi
je 0x10014890
lea eax, [ebx + edx*4 + 0x1ec]
nop word cs:[eax + eax]
mov esi, dword [eax]
dec edi
lea eax, [esi + 0x1ec]
jne 0x10014880
xor edx, edx
jmp 0x10014892
mov esi, ebx
lea eax, [ecx + ecx*8]
mov dword [ebp - 0x10], edx
lea eax, [eax + eax*2]
add eax, ecx
lea edi, [ebx + eax + 0xb4]
mov eax, dword [ebx + eax + 0xb4]
test eax, eax
je 0x100148c6
push 1
push eax
push dword [edi + 4]
mov dword [ebp - 0x14], ecx
call fcn.1000d080
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
add esp, 0xc
mov eax, dword [edi + 0x10]
test eax, eax
je 0x100148e4
add eax, eax
push 2
push eax
push dword [edi + 0x14]
mov edi, ecx
call fcn.1000d080
mov edx, dword [ebp - 0x10]
mov ecx, edi
add esp, 0xc
shl ecx, 4
mov eax, dword [ebx + ecx]
cmp eax, 0x80000000
je 0x100147b0
test eax, eax
je 0x100147b0
add ebx, ecx
push 1
push eax
push dword [ebx + 4]
mov edi, edx
call fcn.1000d080
mov edx, edi
add esp, 0xc
jmp 0x100147b0
test edx, edx
je 0x10014929
nop word [eax + eax]
mov esi, dword [esi + 0x1ec]
dec edx
jne 0x10014920
xor edi, edi
nop dword [eax + eax]
mov ebx, dword [esi + 0xb0]
sub edi, 1
mov eax, 0x21c
mov ecx, 0x1ec
cmovb eax, ecx
push 4
push eax
push esi
call fcn.1000d080
add esp, 0xc
test ebx, ebx
mov esi, ebx
jne 0x10014930
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
test eax, eax
mov eax, 0x1ec
mov ecx, 0x21c
cmove ecx, eax
push 4
push ecx
push esi
call fcn.1000d080
add esp, 0xc
push 0x10692388
call fcn.100dbfb0
nop word cs:[eax + eax]
nop
push ebp
mov ebp, esp
push esi
push eax
xor ecx, ecx
call fcn.100144d0
test eax, eax
je 0x100149e5
mov ecx, eax
mov eax, dword [ebp + 8]
movsd xmm3, qword [0x106923b8]
movsd xmm2, qword [0x106923b0]
movdqu xmm0, xmmword [ecx]
movd esi, xmm0
pshufd xmm1, xmm0, 0x55
add esi, 1
movd edx, xmm1
adc edx, 0
mov dword [ecx], esi
mov dword [ecx + 4], edx
movsd qword [eax + 8], xmm3
movsd qword [eax], xmm2
movdqu xmmword [eax + 0x10], xmm0
add esp, 4
pop esi
pop ebp
ret
lea eax, [ebp - 5]
push 0x10692308
push 0x10692318
push eax
push 0x46
push 0x10692270
call fcn.100dc670
nop