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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100992be
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x4b0
mov eax, dword [0x100b400c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x498], edi
mov edx, dword [edi]
mov eax, dword [0x1010e614]
mov esi, dword [ebx + 8]
mov dword [ebp - 0x4a0], esi
mov ecx, dword [edx + eax]
mov dword [ebp - 0x4a4], ecx
test ecx, ecx
je 0x1001ba43
mov eax, dword [0x1010e604]
movss xmm0, dword [edx + eax]
ucomiss xmm0, dword [edi + 4]
lahf
test ah, 0x44
jnp 0x1001b2a6
mov eax, dword [0x1010db20]
test al, 1
jne 0x1001b28e
or eax, 1
mov dword [0x1010db20], eax
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x4c0]
push 0x19
mov dword [ebp - 0x4c0], 0
push str.56_6A_01_68_________8B_F1
mov dword [ebp - 0x4b0], 0
mov dword [ebp - 0x4ac], 0xf
mov byte [ebp - 0x4c0], 0
call fcn.10020770
mov byte [ebp - 4], 1
mov eax, dword [0x1010e424]
test eax, eax
je 0x1001b207
mov edx, dword [eax + 0x50]
jmp 0x1001b209
xor edx, edx
mov eax, dword [0x1010e41c]
test eax, eax
je 0x1001b217
mov eax, dword [eax + 0x18]
jmp 0x1001b219
xor eax, eax
lea ecx, [ebp - 0x4c0]
push ecx
push eax
lea ecx, [ebp - 0x49c]
call fcn.1001a8b0
mov eax, dword [ebp - 0x49c]
add esp, 8
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x4ac]
mov dword [0x1010db24], eax
cmp edx, 0x10
jb 0x1001b27f
mov ecx, dword [ebp - 0x4c0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1001b270
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1001b270
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.10098145
mov eax, dword [0x1010db24]
add esp, 8
mov ecx, dword [ebp - 0x4a4]
mov dword [ebp - 4], 0xffffffff
jmp 0x1001b293
mov eax, dword [0x1010db24]
test eax, eax
je 0x1001b299
call eax
mov eax, dword [0x1010e604]
mov ecx, dword [edi]
mov eax, dword [eax + ecx]
mov dword [edi + 4], eax
cmp dword [edi + 0x18], 2
jb 0x1001b2cd
mov eax, dword [edi + 0x14]
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x18], eax
dec ecx
lea edx, [eax + 1]
mov eax, edx
shr eax, 1
and ecx, eax
mov eax, dword [edi + 0xc]
and edx, 1
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + edx*8]
jmp 0x1001b2cf
xor eax, eax
mov ecx, dword [0x1010e4cc]
mov dword [ebp - 0x49c], eax
mov eax, dword [esi + 0x418]
movss xmm0, dword [ecx + 0x10]
movss dword [ebp - 0x4a8], xmm0
movss xmm0, dword [ecx + 0x14]
mov dword [ecx + 0x10], eax
mov ecx, dword [0x1010e4cc]
movss dword [ebp - 0x18], xmm0
mov eax, dword [ecx + 0x20]
mov dword [ecx + 0x14], eax
mov eax, dword [0x1010e630]
mov ecx, dword [edi]
add eax, 0xffffffdb
xor eax, 0x8eb8b8b9
movss xmm0, dword [eax + ecx]
movss dword [ebp - 0x338], xmm0
movss xmm0, dword [eax + ecx + 4]
movss dword [ebp - 0x334], xmm0
movss xmm0, dword [eax + ecx + 8]
movss dword [ebp - 0x330], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov edx, dword [edi]
mov ecx, 0xb6
mov esi, dword [0x1010e600]
lea edi, [ebp - 0x2f8]
movss xmm0, dword [eax]
movss dword [ebp - 0x32c], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x328], xmm0
movss xmm0, dword [eax + 8]
mov eax, dword [0x1010e638]
add eax, 0xffffffd9
movss dword [ebp - 0x324], xmm0
xor eax, 0x8eb8b8bb
movss xmm0, dword [eax + edx]
movss dword [ebp - 0x320], xmm0
movss xmm0, dword [eax + edx + 4]
movss dword [ebp - 0x31c], xmm0
movss xmm0, dword [eax + edx + 8]
mov eax, dword [0x1010e668]
add eax, 0xffffffcd
movss dword [ebp - 0x318], xmm0
xor eax, 0x8eb8b8c7
movss xmm0, dword [eax + edx]
movss dword [ebp - 0x314], xmm0
movss xmm0, dword [eax + edx + 4]
movss dword [ebp - 0x310], xmm0
movss xmm0, dword [eax + edx + 8]
mov eax, dword [0x1010e670]
add eax, 0xffffffcb
movss dword [ebp - 0x30c], xmm0
xor eax, 0x8eb8b8c9
mov eax, dword [eax + edx]
mov dword [ebp - 0x308], eax
mov eax, dword [0x1010e6f8]
add eax, 0xffffffa9
xor eax, 0x8eb8b8eb
mov eax, dword [eax + edx]
mov dword [ebp - 0x304], eax
mov eax, dword [0x1010e69c]
add eax, 0xffffffc0
xor eax, 0x8eb8b8d4
movss xmm0, dword [eax + edx]
mov eax, dword [0x1010e6a8]
add eax, 0xffffffbd
movss dword [ebp - 0x300], xmm0
xor eax, 0x8eb8b8d7
movss xmm0, dword [eax + edx]
movss dword [ebp - 0x2fc], xmm0
mov esi, dword [edx + esi]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [edx + 8]
lea ecx, [edx + 8]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x1010e46c]
mov edx, dword [ecx]
mov edx, dword [edx + 0x20]
lea esi, [ebp - 0x490]
push esi
push eax
call edx
mov edx, dword [ebp - 0x49c]
neg al
mov edi, dword [ebp - 0x4a0]
sbb al, al
and al, byte [ebp - 0x354]
mov byte [ebp - 0x491], al
test edx, edx
je 0x1001b4c2
cmp byte [edx + 0x10], 0
jne 0x1001b4c2
movss xmm0, dword [edx + 0x14]
movss xmm1, dword [edi + 0x14]
movss dword [edi + 0x18], xmm0
subss xmm1, xmm0
mov eax, dword [0x1010e4cc]
divss xmm1, dword [eax + 0x20]
addss xmm1, dword [0x100aa428]
cvttss2si eax, xmm1
mov dword [edi + 0xc], eax
mov eax, dword [edi + 0xc]
mov byte [edi + 0x410], 0
mov dword [edi + 0x40c], 0xffffffff
test eax, eax
jle 0x1001b52e
test edx, edx
je 0x1001b52e
cmp byte [edx + 0x10], 0
jne 0x1001b52e
movss xmm3, dword [edi + 0x20]
movss xmm1, dword [edi + 0x24]
movss xmm0, dword [edi + 0x28]
subss xmm3, dword [edx + 0x20]
subss xmm1, dword [edx + 0x24]
subss xmm0, dword [edx + 0x28]
movd xmm2, eax
mov eax, dword [0x1010e4cc]
cvtdq2ps xmm2, xmm2
mulss xmm2, dword [eax + 0x20]
divss xmm3, xmm2
divss xmm1, xmm2
divss xmm0, xmm2
movss dword [edi + 0x38], xmm3
movss dword [edi + 0x3c], xmm1
movss dword [edi + 0x40], xmm0
mov eax, dword [edi + 0x38]
xorps xmm3, xmm3
mov dword [edi + 0x3cc], eax
mov eax, dword [edi + 0x3c]
mov dword [edi + 0x3d0], eax
mov eax, dword [edi + 0x40]
mov dword [edi + 0x3d4], eax
mov ecx, dword [edi + 0x1c]
mov eax, dword [edi + 0x78]
mov dword [edi + 0x3d8], ecx
mov dword [edi + 0x3dc], eax
test cl, 1
je 0x1001b5b4
movss xmm0, dword [edi + 0x204]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x1001b5b4
movss xmm2, dword [edi + 0x3c]
movss xmm0, dword [edi + 0x38]
movss xmm1, dword [edi + 0x40]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm0, xmm2
addss xmm0, xmm1
call fcn.1001a660
movzx eax, byte [edi + 0x410]
mov ecx, 1
comiss xmm0, xmm3
cmova eax, ecx
mov byte [edi + 0x410], al
cmp byte [edi + 0x410], 0
je 0x1001b5f0
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], 0
mov dword [edi + 0x3cc], 0
mov dword [edi + 0x3d0], 0
mov dword [edi + 0x3d4], 0
cmp dword [edi + 0xc], 1
jle 0x1001b6ab
test edx, edx
je 0x1001b6ab
cmp byte [edx + 0x10], 0
jne 0x1001b6ab
movss xmm0, dword [edi + 0x14]
subss xmm0, dword [edx + 0x14]
movss xmm4, dword [0x100aa464]
movss xmm2, dword [edi + 0x38]
subss xmm2, dword [edx + 0x38]
movss xmm1, dword [edi + 0x3c]
subss xmm1, dword [edx + 0x3c]
divss xmm4, xmm0
mov eax, dword [0x1010e4cc]
movss xmm0, dword [edi + 0x40]
subss xmm0, dword [edx + 0x40]
movss xmm3, dword [eax + 0x20]
movss xmm6, dword [edi + 0x78]
subss xmm6, dword [edx + 0x78]
mulss xmm2, xmm4
mulss xmm1, xmm4
mulss xmm0, xmm4
mulss xmm2, xmm3
mulss xmm1, xmm3
addss xmm2, dword [edx + 0x38]
mulss xmm0, xmm3
addss xmm1, dword [edx + 0x3c]
mulss xmm6, xmm4
addss xmm0, dword [edx + 0x40]
movss dword [edi + 0x3cc], xmm2
mulss xmm6, xmm3
xorps xmm3, xmm3
movss dword [edi + 0x3d0], xmm1
movss dword [edi + 0x3d4], xmm0
addss xmm6, dword [edx + 0x78]
movss dword [edi + 0x3dc], xmm6
mov edx, dword [edi + 0x3d8]
or edx, 1
mov dword [edi + 0x3d8], edx
mov ecx, edx
movss xmm0, dword [edi + 0x194]
comiss xmm0, xmm3
jbe 0x1001b6e3
movss xmm0, dword [edi + 0x1cc]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x1001b6e3
and ecx, 0xfffffffe
mov dword [edi + 0x3d8], ecx
test cl, 1
je 0x1001b71b
movss xmm0, dword [edi + 0x204]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x1001ba63
mov dword [edi + 0x3cc], 0
mov dword [edi + 0x3d0], 0
mov dword [edi + 0x3d4], 0
mov esi, dword [ebp - 0x498]
cmp byte [ebp - 0x491], 0
jne 0x1001b741
cmp byte [0x100fc5c8], 0
je 0x1001b741
cmp dword [edi + 0xc], 0
jle 0x1001b741
push edi
push dword [esi]
call fcn.1008ac30
mov ecx, dword [0x1010e630]
mov eax, dword [edi + 0x20]
add ecx, 0xffffffdb
xor ecx, 0x8eb8b8b9
add ecx, dword [esi]
mov dword [ecx], eax
mov eax, dword [edi + 0x24]
mov dword [ecx + 4], eax
mov eax, dword [edi + 0x28]
mov dword [ecx + 8], eax
mov edx, dword [0x1010e668]
movss xmm0, dword [edi + 0x3cc]
add edx, 0xffffffcd
xor edx, 0x8eb8b8c7
add edx, dword [esi]
movss dword [edx], xmm0
mov eax, dword [edi + 0x3d0]
mov dword [edx + 4], eax
mov eax, dword [edi + 0x3d4]
mov dword [edx + 8], eax
mov ecx, dword [0x1010e638]
add ecx, 0xffffffd9
xor ecx, 0x8eb8b8bb
add ecx, dword [esi]
movss dword [ecx], xmm0
mov eax, dword [edx + 4]
mov dword [ecx + 4], eax
mov eax, dword [edx + 8]
mov dword [ecx + 8], eax
mov edx, dword [0x1010e670]
mov ecx, dword [esi]
add edx, 0xffffffcb
mov eax, dword [edi + 0x3d8]
xor edx, 0x8eb8b8c9
mov dword [edx + ecx], eax
mov edx, dword [0x1010e69c]
mov ecx, dword [esi]
add edx, 0xffffffc0
mov eax, dword [edi + 0x3dc]
xor edx, 0x8eb8b8d4
mov dword [edx + ecx], eax
mov ecx, dword [0x1010e6f8]
mov eax, dword [esi]
add ecx, 0xffffffa9
xor ecx, 0x8eb8b8eb
and dword [ecx + eax], 0xffffefff
mov ecx, dword [0x1010e6dc]
mov eax, dword [edi + 0x5c]
add ecx, 0xffffffb0
xor ecx, 0x8eb8b8e4
add ecx, dword [esi]
mov dword [ecx], eax
mov eax, dword [edi + 0x60]
mov dword [ecx + 4], eax
mov eax, dword [edi + 0x64]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0x4a4]
mov eax, dword [0x1010e4cc]
mov edx, dword [ecx + 0x70]
cmp edx, dword [eax + 4]
jne 0x1001b83a
lea eax, [edx - 1]
mov dword [ecx + 0x70], eax
mov eax, dword [0x1010e6b4]
mov esi, dword [esi]
add eax, 0xffffffba
xor eax, 0x8eb8b8da
mov ecx, esi
mov byte [eax + esi], 1
call dword [0x1010ee44]
mov eax, dword [0x1010e6b4]
add eax, 0xffffffba
xor eax, 0x8eb8b8da
mov byte [eax + esi], 0
mov eax, dword [0x1010e700]
mov esi, dword [ebp - 0x498]
add eax, 0xffffffa7
xor eax, 0x8eb8b8ed
add eax, dword [esi]
movups xmm0, xmmword [eax]
movups xmmword [edi + 0x36c], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [edi + 0x37c], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [edi + 0x38c], xmm0
movups xmm0, xmmword [eax + 0x30]
movups xmmword [edi + 0x39c], xmm0
movups xmm0, xmmword [eax + 0x40]
movups xmmword [edi + 0x3ac], xmm0
movups xmm0, xmmword [eax + 0x50]
movups xmmword [edi + 0x3bc], xmm0
mov ecx, dword [esi]
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
push edi
push dword [edi + 0x3e4]
mov ecx, dword [eax]
mov dword [edi + 0x68], ecx
mov ecx, dword [eax + 4]
mov dword [edi + 0x6c], ecx
mov eax, dword [eax + 8]
push ecx
mov dword [edi + 0x70], eax
push dword [esi]
call fcn.10021ae0
movss xmm0, dword [ebp - 0x338]
mov byte [edi + 0x3e1], al
mov eax, dword [0x1010e630]
add eax, 0xffffffdb
xor eax, 0x8eb8b8b9
add eax, dword [esi]
movss dword [eax], xmm0
movss xmm0, dword [ebp - 0x334]
movss dword [eax + 4], xmm0
movss xmm0, dword [ebp - 0x330]
movss dword [eax + 8], xmm0
mov eax, dword [0x1010e638]
movss xmm0, dword [ebp - 0x320]
add eax, 0xffffffd9
xor eax, 0x8eb8b8bb
add eax, dword [esi]
movss dword [eax], xmm0
movss xmm0, dword [ebp - 0x31c]
movss dword [eax + 4], xmm0
movss xmm0, dword [ebp - 0x318]
movss dword [eax + 8], xmm0
mov eax, dword [0x1010e668]
movss xmm0, dword [ebp - 0x314]
add eax, 0xffffffcd
xor eax, 0x8eb8b8c7
add eax, dword [esi]
movss dword [eax], xmm0
movss xmm0, dword [ebp - 0x310]
movss dword [eax + 4], xmm0
movss xmm0, dword [ebp - 0x30c]
movss dword [eax + 8], xmm0
mov edx, dword [0x1010e670]
mov ecx, dword [esi]
add edx, 0xffffffcb
mov eax, dword [ebp - 0x308]
xor edx, 0x8eb8b8c9
mov dword [edx + ecx], eax
mov edx, dword [0x1010e6f8]
mov ecx, dword [esi]
add edx, 0xffffffa9
mov eax, dword [ebp - 0x304]
xor edx, 0x8eb8b8eb
mov dword [edx + ecx], eax
mov ecx, dword [0x1010e69c]
mov eax, dword [esi]
add ecx, 0xffffffc0
movss xmm0, dword [ebp - 0x300]
xor ecx, 0x8eb8b8d4
movss dword [ecx + eax], xmm0
mov edx, dword [0x1010e6a8]
mov eax, dword [esi]
add edx, 0xffffffbd
movss xmm0, dword [ebp - 0x2fc]
xor edx, 0x8eb8b8d7
movss dword [edx + eax], xmm0
lea edx, [ebp - 0x32c]
mov eax, dword [0x1010e590]
mov ecx, dword [esi]
push edx
call eax
mov eax, dword [esi]
mov ecx, 0xb6
mov edi, dword [0x1010e600]
lea esi, [ebp - 0x2f8]
movss xmm0, dword [ebp - 0x4a8]
mov edi, dword [edi + eax]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x1010e4cc]
movss dword [eax + 0x10], xmm0
mov eax, dword [0x1010e4cc]
movss xmm0, dword [ebp - 0x18]
movss dword [eax + 0x14], xmm0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10097cc9
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
mov ecx, dword [0x1010e710]
mov eax, dword [ebp - 0x498]
add ecx, 0xffffffa3
xor ecx, 0x8eb8b8f1
mov eax, dword [eax]
mov eax, dword [ecx + eax]
mov ecx, dword [0x1010e470]
push ecx
mov edx, dword [ecx]
mov esi, dword [edx + 0x10]
mov edx, esp
mov dword [edx], eax
call esi
mov ecx, eax
test ecx, ecx
je 0x1001b71b
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
test eax, eax
je 0x1001b71b
mov esi, dword [ebp - 0x498]
mov edx, dword [0x1010e6bc]
add edx, 0xffffffb8
xor edx, 0x8eb8b8dc
mov ecx, dword [esi]
cmp byte [edx + ecx], 0
je 0x1001bad2
movss xmm4, dword [eax + 0x130]
jmp 0x1001bada
movss xmm4, dword [eax + 0x12c]
movss xmm3, dword [edi + 0x3cc]
movss xmm1, dword [edi + 0x3d0]
movaps xmm0, xmm3
movss xmm2, dword [edi + 0x204]
mulss xmm0, xmm3
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1001a660
movaps xmm1, xmm0
comiss xmm1, xmm4
jbe 0x1001bb13
movaps xmm0, xmm4
jmp 0x1001bb1e
xorps xmm0, xmm0
comiss xmm0, xmm1
ja 0x1001bb1e
movaps xmm0, xmm1
divss xmm0, xmm4
subss xmm2, xmm0
addss xmm2, dword [0x100aa464]
mulss xmm3, xmm2
mulss xmm2, dword [edi + 0x3d0]
movss dword [edi + 0x3cc], xmm3
movss dword [edi + 0x3d0], xmm2
jmp 0x1001b721