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

Disassembly:
sub esp, 0x6c
mov eax, dword [0x100ae380]
xor eax, esp
mov dword [esp + 0x68], eax
cmp byte [esp + 0x80], 2
xorps xmm0, xmm0
movsd xmm1, qword [esp + 0x70]
push ebx
mov ebx, dword [esp + 0x90]
sete al
comisd xmm0, xmm1
push ebp
push esi
push edi
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x13], al
jb 0x1007b2a6
mov esi, dword [esp + 0x88]
test esi, esi
jle 0x1007b272
test al, al
je 0x1007b272
cmp esi, dword [ebx + 0xc]
jbe 0x1007b246
mov eax, dword [ebx]
mov ecx, ebx
push esi
call dword [eax]
mov dword [ebx + 8], esi
test esi, esi
jle 0x1007b25b
push esi
push 0x30
push dword [ebx + 4]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
neg esi
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.10087516
add esp, 0x6c
ret
mov ecx, dword [ebx + 8]
lea edx, [ecx + 1]
cmp edx, dword [ebx + 0xc]
jbe 0x1007b287
mov eax, dword [ebx]
mov ecx, ebx
push edx
call dword [eax]
mov ecx, dword [ebx + 8]
mov eax, dword [ebx + 4]
mov byte [ecx + eax], 0x30
inc dword [ebx + 8]
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.10087516
add esp, 0x6c
ret
mov al, byte [esp + 0x98]
test al, 8
jne 0x1007b2ec
push ebx
sub esp, 0x10
mov eax, esp
push dword [esp + 0x9c]
movups xmm0, xmmword [esp + 0xa4]
sub esp, 8
movups xmmword [eax], xmm0
movsd qword [esp], xmm1
call fcn.1007e190
add esp, 0x20
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.10087516
add esp, 0x6c
ret
mov esi, dword [esp + 0x88]
mov dword [esp + 0x14], 0
mov dword [esp + 0x28], 0
test esi, esi
jns 0x1007b67e
sub esp, 8
movlpd qword [esp + 0x44], xmm0
mov dword [esp + 0x4c], 0
lea ecx, [esp + 0x44]
movsd qword [esp], xmm1
test al, 4
je 0x1007b403
call fcn.1007a7c0
mov edi, dword [esp + 0x44]
xor edx, edx
mov dword [esp + 0x30], edx
mov ecx, 0x10000000
mov dword [esp + 0x2c], ecx
cmp edi, 0xffffff4e
jge 0x1007b372
mov eax, 0xffffff4e
xor ecx, ecx
sub eax, edi
add eax, 0x1c
bts ecx, eax
cmp eax, 0x20
cmovae edx, ecx
xor ecx, edx
cmp eax, 0x40
mov dword [esp + 0x2c], ecx
cmovae edx, ecx
mov dword [esp + 0x30], edx
mov esi, dword [esp + 0x3c]
add ecx, esi
mov ebx, dword [esp + 0x40]
adc edx, ebx
mov dword [esp + 0x18], ecx
sub esp, 0x10
mov dword [esp + 0x2c], edx
mov eax, esp
mov dword [esp + 0x30], edi
movups xmm0, xmmword [esp + 0x28]
movups xmmword [eax], xmm0
lea eax, [esp + 0x28]
push eax
call fcn.1007c8c0
add esp, 0x14
test esi, esi
jne 0x1007b3bd
cmp ebx, 0x100000
jne 0x1007b3bd
cmp edi, 0xffffff4e
jle 0x1007b3bd
lea eax, [esi + 1]
jmp 0x1007b3bf
xor eax, eax
movq xmm1, qword [esp + 0x2c]
sub edi, dword [esp + 0x20]
movq xmm2, qword [esp + 0x3c]
movd xmm0, eax
mov eax, dword [esp + 0x18]
psrlq xmm1, xmm0
movd xmm0, edi
psubq xmm2, xmm1
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x1c]
psllq xmm2, xmm0
mov dword [esp + 0x38], eax
movq qword [esp + 0x2c], xmm2
movups xmm0, xmmword [esp + 0x2c]
jmp 0x1007b4cf
call fcn.1007a7c0
mov edx, dword [esp + 0x3c]
lea edi, [esp + 0x18]
mov esi, dword [esp + 0x40]
test al, al
mov ecx, edx
mov eax, esi
je 0x1007b43a
shld eax, ecx, 2
shl ecx, 2
add ecx, 0xffffffff
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x44]
adc eax, 0xffffffff
mov dword [esp + 0x1c], eax
lea eax, [ecx - 2]
jmp 0x1007b455
shld eax, ecx, 1
add ecx, ecx
add ecx, 0xffffffff
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x44]
adc eax, 0xffffffff
mov dword [esp + 0x1c], eax
lea eax, [ecx - 1]
shld esi, edx, 1
mov dword [esp + 0x20], eax
lea eax, [ecx - 1]
movups xmm0, xmmword [edi]
add edx, edx
mov dword [esp + 0x34], eax
add edx, 1
movups xmmword [esp + 0x64], xmm0
adc esi, 0
mov dword [esp + 0x2c], edx
sub esp, 0x10
mov dword [esp + 0x40], esi
movups xmm0, xmmword [esp + 0x3c]
mov eax, esp
movups xmmword [eax], xmm0
lea eax, [esp + 0x3c]
push eax
call fcn.1007c860
movups xmm0, xmmword [edi]
add esp, 0x14
movq xmm1, qword [esp + 0x64]
psrldq xmm0, 8
movd eax, xmm0
sub eax, dword [esp + 0x34]
movd xmm0, eax
mov eax, dword [esp + 0x2c]
psllq xmm1, xmm0
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x30]
movq qword [esp + 0x18], xmm1
mov dword [esp + 0x24], eax
movups xmm0, xmmword [esp + 0x18]
sub esp, 0x10
lea ebp, [esp + 0x74]
mov eax, esp
mov dword [esp + 0x60], ebp
movups xmmword [esp + 0x74], xmm0
movups xmm0, xmmword [esp + 0x4c]
movups xmmword [eax], xmm0
lea eax, [esp + 0x64]
push eax
call fcn.1007c8c0
mov esi, eax
mov edx, 0xffffff84
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x30]
movups xmm0, xmmword [esi]
psrldq xmm0, 8
movd ecx, xmm0
sub edx, ecx
push edx
push eax
call fcn.100833f0
movups xmm0, xmmword [esi]
mov eax, dword [esp + 0x40]
push dword [esp + 0x3c]
mov ebx, dword [esp + 0x3c]
add eax, 0x40
psrldq xmm0, 8
movd edi, xmm0
movups xmm0, xmmword [ebp]
push ebx
add edi, eax
psrldq xmm0, 0xc
movd eax, xmm0
movups xmm0, xmmword [ebp]
push eax
psrldq xmm0, 8
movd eax, xmm0
push eax
call fcn.10083710
movups xmm1, xmmword [esi]
mov ecx, dword [esp + 0x7c]
add eax, 1
push dword [esp + 0x4c]
movaps xmm0, xmm1
mov dword [esp + 0x60], eax
psrldq xmm0, 4
mov ebp, edx
mov ecx, dword [ecx + 4]
adc ebp, 0
movd eax, xmm0
push ebx
mov dword [esp + 0x74], ecx
push eax
movd eax, xmm1
mov dword [esp + 0x7c], 0
push eax
call fcn.10083710
mov esi, dword [esp + 0x6c]
add esp, 0x40
mov ecx, esi
mov dword [esp + 0x2c], esi
sub ecx, eax
mov dword [esp + 0x30], ebp
mov eax, ebp
mov dword [esp + 0x44], ecx
sbb eax, edx
mov dword [esp + 0x34], edi
mov dword [esp + 0x48], eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x18]
push eax
mov eax, dword [esp + 0x58]
push dword [esp + 0x24]
push ebx
movups xmm1, xmmword [eax]
movaps xmm0, xmm1
psrldq xmm0, 4
movd eax, xmm0
push eax
movd eax, xmm1
push eax
call fcn.10083710
movups xmm0, xmmword [esp + 0x44]
add esp, 0x10
sub esi, eax
sbb ebp, edx
add esi, 1
adc ebp, 0
push ebp
push esi
sub esp, 0x10
mov eax, esp
movups xmmword [eax], xmm0
call fcn.1007bfa0
add esp, 0x20
cmp eax, 2
jne 0x1007b65a
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x40]
dec eax
sub ecx, dword [esp + 0x28]
movsd xmm0, qword [esp + 0x80]
add eax, ecx
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
push dword [esp + 0x50]
sub esp, 8
movsd qword [esp], xmm0
call fcn.1007a960
mov eax, dword [esp + 0x24]
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.10087516
add esp, 0x6c
ret
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x40]
cmp esi, dword [ebx + 0xc]
jbe 0x1007b66e
mov eax, dword [ebx]
mov ecx, ebx
push esi
call dword [eax]
mov edi, dword [esp + 0x28]
mov dword [ebx + 8], esi
mov esi, dword [esp + 0x14]
jmp 0x1007b7ae
cmp esi, 0x11
jle 0x1007b68f
push ebx
sub esp, 0x10
mov eax, esp
push esi
jmp 0x1007b2be
sub esp, 8
lea ecx, [esp + 0x6c]
movsd qword [esp], xmm1
call fcn.1007a7c0
movups xmm0, xmmword [esp + 0x64]
sub esp, 0x10
mov eax, esp
movups xmmword [eax], xmm0
lea eax, [esp + 0x28]
push eax
call fcn.1007c8c0
lea eax, [esp + 0x3c]
push eax
mov eax, 0xffffff84
sub eax, dword [esp + 0x38]
push eax
lea eax, [esp + 0x80]
push eax
call fcn.100833f0
movups xmm0, xmmword [esp + 0x84]
add esp, 0x10
mov eax, esp
sub esp, 0x10
movups xmmword [eax], xmm0
mov eax, esp
movups xmm0, xmmword [esp + 0x38]
movups xmmword [eax], xmm0
lea eax, [esp + 0x74]
push eax
call fcn.100826e0
mov ecx, dword [ebx + 4]
mov edx, eax
mov al, byte [esp + 0x37]
add esp, 0x24
mov edi, dword [esp + 0x28]
mov byte [esp + 0x74], al
lea eax, [esp + 0x64]
movups xmm0, xmmword [edx]
push eax
lea eax, [esp + 0x18]
mov dword [esp + 0x68], ecx
push eax
push 0
push 1
sub esp, 0x10
mov dword [esp + 0x88], 0
mov eax, esp
mov dword [esp + 0x8c], esi
mov ecx, edi
neg ecx
mov dword [esp + 0x90], ecx
movups xmmword [eax], xmm0
call fcn.1007bbb0
add esp, 0x20
cmp eax, 2
jne 0x1007b77d
movups xmm0, xmmword [esp + 0x8c]
push ebx
sub esp, 0x10
mov eax, esp
push esi
sub esp, 8
movups xmmword [eax], xmm0
movsd xmm0, qword [esp + 0xa0]
movsd qword [esp], xmm0
jmp 0x1007b2d1
cmp byte [esp + 0x13], 0
mov eax, dword [esp + 0x68]
jne 0x1007b7a2
test eax, eax
jle 0x1007b7a2
mov ecx, dword [ebx + 4]
mov esi, dword [esp + 0x14]
cmp byte [ecx + eax - 1], 0x30
jne 0x1007b7a6
dec eax
inc esi
test eax, eax
jg 0x1007b793
jmp 0x1007b7a6
mov esi, dword [esp + 0x14]
push eax
mov ecx, ebx
call fcn.10084270
mov ecx, dword [esp + 0x78]
sub esi, edi
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10087516
add esp, 0x6c
ret