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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4a0
mov eax, dword [0x100f5008]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [0x10123528]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
push edi
mov dword [ebp - 0x484], esi
mov ecx, dword [esi]
mov edx, dword [ecx + eax]
mov dword [ebp - 0x498], edx
test edx, edx
je 0x1001fe44
mov eax, dword [0x10123514]
movss xmm0, dword [ecx + eax]
ucomiss xmm0, dword [esi + 4]
lahf
test ah, 0x44
jnp 0x1001f591
mov ecx, edx
call fcn.1001e150
mov eax, dword [0x10123514]
mov ecx, dword [esi]
mov eax, dword [eax + ecx]
mov dword [esi + 4], eax
mov ecx, dword [0x101233ac]
mov eax, dword [ebx + 0x404]
movss xmm0, dword [ecx + 0x10]
movss dword [ebp - 0x49c], xmm0
movss xmm0, dword [ecx + 0x14]
mov dword [ecx + 0x10], eax
cmp dword [ebx + 0xc], 0x13
movss dword [ebp - 0x4a0], xmm0
jle 0x1001f5cb
mov eax, dword [0x101233ac]
mov ecx, dword [ebx + 0x14]
mov dword [eax + 0x10], ecx
mov ecx, dword [0x101233ac]
mov eax, dword [ecx + 0x20]
mov dword [ecx + 0x14], eax
mov eax, dword [0x10123580]
mov ecx, dword [esi]
add eax, 0xffffffdb
xor eax, 0x920a48d7
movss xmm0, dword [eax + ecx]
movss dword [ebp - 0x324], xmm0
movss xmm0, dword [eax + ecx + 4]
movss dword [ebp - 0x320], xmm0
movss xmm0, dword [eax + ecx + 8]
movss dword [ebp - 0x31c], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov edi, dword [esi]
mov ecx, 0xb6
mov esi, dword [0x10123510]
movss xmm0, dword [eax]
movss dword [ebp - 0x318], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x314], xmm0
movss xmm0, dword [eax + 8]
mov eax, dword [0x10123588]
add eax, 0xffffffd9
movss dword [ebp - 0x310], xmm0
xor eax, 0x920a48d9
movss xmm0, dword [eax + edi]
movss dword [ebp - 0x30c], xmm0
movss xmm0, dword [eax + edi + 4]
movss dword [ebp - 0x308], xmm0
movss xmm0, dword [eax + edi + 8]
mov eax, dword [0x101235b8]
add eax, 0xffffffcd
movss dword [ebp - 0x304], xmm0
xor eax, 0x920a48e5
movss xmm0, dword [eax + edi]
movss dword [ebp - 0x300], xmm0
movss xmm0, dword [eax + edi + 4]
movss dword [ebp - 0x2fc], xmm0
movss xmm0, dword [eax + edi + 8]
mov eax, dword [0x101235c0]
add eax, 0xffffffcb
movss dword [ebp - 0x2f8], xmm0
xor eax, 0x920a48e7
mov eax, dword [eax + edi]
mov dword [ebp - 0x2f4], eax
mov eax, dword [0x1012365c]
add eax, 0xffffffa4
xor eax, 0x920a490f
mov eax, dword [eax + edi]
mov dword [ebp - 0x2f0], eax
mov eax, dword [0x101235ec]
add eax, 0xffffffc0
xor eax, 0x920a48f2
movss xmm0, dword [eax + edi]
mov eax, dword [0x101235f8]
add eax, 0xffffffbd
movss dword [ebp - 0x2ec], xmm0
xor eax, 0x920a48f6
movss xmm0, dword [eax + edi]
movss dword [ebp - 0x2e8], xmm0
mov esi, dword [edi + esi]
lea edi, [ebp - 0x2e4]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x484]
cmp dword [edi + 0x18], 1
jbe 0x1001f75c
mov edx, dword [edi + 0x14]
mov ecx, dword [edi + 0x10]
inc edx
mov eax, edx
dec ecx
shr eax, 1
and edx, 1
and ecx, eax
mov eax, dword [edi + 0xc]
mov eax, dword [eax + ecx*4]
mov eax, dword [eax + edx*8]
mov dword [ebp - 0xc], eax
test eax, eax
je 0x1001f761
cmp byte [eax + 0x10], 0
jne 0x1001f75c
cmp byte [eax + 0x3c0], 0
jne 0x1001f761
xor eax, eax
mov dword [ebp - 0xc], eax
mov ecx, dword [edi]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x1012334c]
lea esi, [ebp - 0x47c]
push esi
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x20]
call edx
mov edx, dword [0x1012349c]
neg al
mov ecx, dword [edi]
sbb al, al
and al, byte [ebp - 0x340]
mov byte [ebp - 0x47d], al
lea eax, [ebx + 0x20]
push eax
call edx
mov ecx, dword [0x10123670]
mov eax, dword [edi]
add ecx, 0xffffff9f
xor ecx, 0x920a4914
mov eax, dword [ecx + eax]
mov ecx, dword [0x10123350]
push ecx
mov edx, dword [ecx]
mov esi, dword [edx + 0x10]
mov edx, esp
mov dword [edx], eax
call esi
cmp dword [ebx + 0xc], 0
mov dword [ebp - 0x484], eax
jle 0x1001fafa
cmp byte [ebp - 0x47d], 0
jne 0x1001fafa
movss xmm2, dword [ebx + 0x3c]
movss xmm0, dword [ebx + 0x38]
movss xmm1, dword [ebx + 0x40]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm0, xmm2
addss xmm0, xmm1
call fcn.1001da00
test byte [ebx + 0x1c], 1
xorps xmm2, xmm2
movss dword [ebp - 0x490], xmm0
je 0x1001f834
movss xmm1, dword [ebx + 0x1ec]
ucomiss xmm1, xmm2
lahf
test ah, 0x44
jp 0x1001f834
mov byte [ebx + 0x3f4], 1
cmp byte [ebx + 0x3f4], 0
je 0x1001f870
mov dword [ebx + 0x38], 0
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x3b4], 0
mov dword [ebx + 0x3b8], 0
mov dword [ebx + 0x3bc], 0
cmp dword [edi + 0x18], 2
mov esi, dword [ebp - 0xc]
jb 0x1001fafd
test esi, esi
je 0x1001fafd
cmp byte [esi + 0x10], 0
jne 0x1001fafd
mov edx, dword [0x101235c0]
mov ecx, dword [edi]
add edx, 0xffffffcb
mov eax, dword [esi + 0x1c]
xor edx, 0x920a48e7
mov dword [edx + ecx], eax
mov ecx, dword [0x101235c0]
mov eax, dword [edi]
add ecx, 0xffffffcb
xor ecx, 0x920a48e7
and dword [ecx + eax], 0xfffffffe
test byte [ebx + 0x1c], 1
je 0x1001f8dc
test byte [esi + 0x1c], 1
je 0x1001f8dc
mov ecx, dword [0x101235c0]
mov eax, dword [edi]
add ecx, 0xffffffcb
xor ecx, 0x920a48e7
or dword [ecx + eax], 1
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [edi]
mov dword [ebp - 0x488], eax
mov eax, dword [0x101234c8]
mov dword [ebp - 0x48c], eax
mov eax, dword [0x1012352c]
mov dword [ebp - 0xc], ecx
cmp dword [eax + ecx], 0
jne 0x1001f912
mov eax, dword [0x101234a4]
call eax
mov eax, dword [0x1012352c]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x488]
mov ecx, dword [eax + ecx]
call dword [ebp - 0x48c]
mov ecx, dword [ebx + 0x1ac]
mov edx, eax
xorps xmm6, xmm6
cmp ecx, dword [esi + 0x1ac]
jne 0x1001f956
movss xmm0, dword [esi + 0x1b4]
ucomiss xmm0, xmm6
lahf
test ah, 0x44
jp 0x1001f966
movss xmm0, dword [ebx + 0x1b4]
ucomiss xmm0, xmm6
lahf
test ah, 0x44
jnp 0x1001f966
cmp edx, 0x3dc
je 0x1001f989
cmp edx, 0x3dd
je 0x1001f989
test byte [ebx + 0x1c], 1
je 0x1001f99e
test byte [esi + 0x1c], 1
jne 0x1001f99e
mov ecx, dword [0x101235c0]
mov eax, dword [edi]
add ecx, 0xffffffcb
xor ecx, 0x920a48e7
and dword [ecx + eax], 0xfffffffe
jmp 0x1001f99e
mov ecx, dword [0x101235c0]
mov eax, dword [edi]
add ecx, 0xffffffcb
xor ecx, 0x920a48e7
or dword [ecx + eax], 1
movss xmm7, dword [ebx + 0x30c]
movss xmm5, dword [0x100e9bc4]
ucomiss xmm7, xmm6
lahf
test ah, 0x44
jnp 0x1001fa76
movss xmm4, dword [esi + 0x30c]
xor edx, edx
movss xmm3, dword [ebx + 0x310]
ucomiss xmm4, xmm6
mov dword [ebp - 0xc], 0
lahf
test ah, 0x44
jnp 0x1001fa43
movss xmm2, dword [esi + 0x310]
comiss xmm2, xmm3
jbe 0x1001f9ee
addss xmm3, xmm5
xor edx, edx
comiss xmm3, xmm2
jbe 0x1001fa43
mov eax, dword [0x101233ac]
xor ecx, ecx
nop dword [eax]
movss xmm1, dword [eax + 0x20]
mulss xmm1, xmm4
movaps xmm0, xmm1
addss xmm2, xmm0
comiss xmm2, xmm5
jb 0x1001fa18
movaps xmm4, xmm7
comiss xmm2, xmm3
lea edx, [ecx + 1]
mov dword [ebp - 0xc], edx
jbe 0x1001fa3c
mulss xmm1, dword [0x100e9b6c]
movaps xmm0, xmm2
subss xmm0, xmm3
comiss xmm0, xmm1
jbe 0x1001fa3c
mov dword [ebp - 0xc], ecx
mov edx, ecx
comiss xmm3, xmm2
mov ecx, edx
ja 0x1001fa00
test edx, edx
mov dword [ebp - 0x488], 0x14
lea eax, [ebp - 0xc]
mov dword [ebp - 0x48c], 0
lea ecx, [ebp - 0x48c]
cmovns ecx, eax
cmp edx, 0x14
lea eax, [ebp - 0x488]
cmovle eax, ecx
mov eax, dword [eax]
mov dword [ebx + 0xc], eax
movss xmm0, dword [ebx + 0x14]
movss xmm2, dword [ebx + 0x78]
subss xmm2, dword [esi + 0x78]
subss xmm0, dword [esi + 0x14]
mov eax, dword [0x101233ac]
mov ecx, dword [0x101235ec]
add ecx, 0xffffffc0
xor ecx, 0x920a48f2
divss xmm2, xmm0
movss xmm0, dword [0x100e9c78]
comiss xmm0, dword [ebp - 0x490]
mulss xmm2, dword [eax + 0x20]
mov eax, dword [edi]
addss xmm2, dword [esi + 0x78]
movss dword [ecx + eax], xmm2
jbe 0x1001fafd
movss xmm0, dword [ebx + 0x1ec]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jnp 0x1001fafd
ucomiss xmm0, xmm6
lahf
test ah, 0x44
jnp 0x1001fafd
ucomiss xmm0, dword [esi + 0x1ec]
lahf
test ah, 0x44
jnp 0x1001fafd
test byte [ebx + 0x1c], 1
je 0x1001fafd
mov byte [ebx + 0x3f5], 1
jmp 0x1001fafd
mov esi, dword [ebp - 0xc]
mov eax, dword [ebp - 0x484]
movss xmm0, dword [0x100e9d34]
test eax, eax
je 0x1001fb82
mov eax, dword [eax]
mov ecx, dword [ebp - 0x484]
mov eax, dword [eax + 0x6f8]
call eax
mov ecx, dword [ebp - 0x484]
cmp dword [eax + 0xc8], 0
jne 0x1001fb41
mov eax, dword [0x10123688]
add eax, 0xffffff99
xor eax, 0x920a491a
cmp dword [eax + ecx], 0x1f
jne 0x1001fb7a
mov eax, dword [ecx]
mov eax, dword [eax + 0x6f8]
call eax
test eax, eax
je 0x1001fb7a
mov edx, dword [0x1012360c]
mov ecx, dword [edi]
add edx, 0xffffffb8
xor edx, 0x920a48fb
cmp byte [edx + ecx], 0
je 0x1001fb70
movss xmm0, dword [eax + 0x130]
jmp 0x1001fb82
movss xmm0, dword [eax + 0x12c]
jmp 0x1001fb82
movss xmm0, dword [0x100e9d34]
mov ecx, dword [edi]
movaps xmm3, xmm0
push esi
mov edx, ebx
call fcn.1001eec0
add esp, 4
cmp byte [ebp - 0x47d], 0
jne 0x1001fbac
cmp byte [0x100f6a38], 0
je 0x1001fbac
push ebx
push dword [edi]
call fcn.100cc770
mov ecx, dword [0x10123580]
mov eax, dword [ebx + 0x20]
add ecx, 0xffffffdb
xor ecx, 0x920a48d7
add ecx, dword [edi]
mov dword [ecx], eax
mov eax, dword [ebx + 0x24]
mov dword [ecx + 4], eax
mov eax, dword [ebx + 0x28]
mov dword [ecx + 8], eax
lea eax, [ebx + 0x3b4]
mov edx, dword [0x101234b8]
mov ecx, dword [edi]
push eax
call edx
mov edx, dword [0x101235f8]
mov ecx, dword [edi]
add edx, 0xffffffbd
mov eax, dword [ebx + 0x74]
xor edx, 0x920a48f6
mov dword [edx + ecx], eax
mov ecx, dword [0x1012365c]
mov eax, dword [edi]
add ecx, 0xffffffa4
mov edx, dword [ebp - 0x498]
xor ecx, 0x920a490f
and dword [ecx + eax], 0xffffefff
mov ecx, dword [0x10123634]
mov eax, dword [ebx + 0x5c]
add ecx, 0xffffffae
xor ecx, 0x920a4905
add ecx, dword [edi]
mov dword [ecx], eax
mov eax, dword [ebx + 0x60]
mov dword [ecx + 4], eax
mov eax, dword [ebx + 0x64]
mov dword [ecx + 8], eax
mov eax, dword [0x101233ac]
mov ecx, dword [edx + 0x70]
cmp ecx, dword [eax + 4]
jne 0x1001fc49
lea eax, [ecx - 1]
mov dword [edx + 0x70], eax
mov ecx, dword [0x10123604]
mov eax, dword [edi]
add ecx, 0xffffffba
xor ecx, 0x920a48f9
mov byte [ecx + eax], 1
mov ecx, dword [edi]
mov eax, dword [ecx]
mov eax, dword [eax + 0x368]
call eax
mov ecx, dword [0x10123604]
mov eax, dword [edi]
add ecx, 0xffffffba
xor ecx, 0x920a48f9
mov byte [ecx + eax], 0
mov eax, dword [0x10123660]
add eax, 0xffffffa3
xor eax, 0x920a4910
add eax, dword [edi]
movups xmm0, xmmword [eax]
movups xmmword [ebx + 0x354], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ebx + 0x364], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [ebx + 0x374], xmm0
movups xmm0, xmmword [eax + 0x30]
movups xmmword [ebx + 0x384], xmm0
movups xmm0, xmmword [eax + 0x40]
movups xmmword [ebx + 0x394], xmm0
movups xmm0, xmmword [eax + 0x50]
movups xmmword [ebx + 0x3a4], xmm0
mov ecx, dword [edi]
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
movss xmm0, dword [ebp - 0x324]
mov ecx, dword [eax]
mov dword [ebx + 0x68], ecx
mov ecx, dword [eax + 4]
mov dword [ebx + 0x6c], ecx
mov eax, dword [eax + 8]
mov dword [ebx + 0x70], eax
mov eax, dword [0x10123580]
add eax, 0xffffffdb
xor eax, 0x920a48d7
add eax, dword [edi]
movss dword [eax], xmm0
movss xmm0, dword [ebp - 0x320]
movss dword [eax + 4], xmm0
movss xmm0, dword [ebp - 0x31c]
movss dword [eax + 8], xmm0
mov eax, dword [0x10123588]
movss xmm0, dword [ebp - 0x30c]
add eax, 0xffffffd9
xor eax, 0x920a48d9
add eax, dword [edi]
movss dword [eax], xmm0
movss xmm0, dword [ebp - 0x308]
movss dword [eax + 4], xmm0
movss xmm0, dword [ebp - 0x304]
movss dword [eax + 8], xmm0
mov eax, dword [0x101235b8]
movss xmm0, dword [ebp - 0x300]
add eax, 0xffffffcd
xor eax, 0x920a48e5
add eax, dword [edi]
movss dword [eax], xmm0
movss xmm0, dword [ebp - 0x2fc]
movss dword [eax + 4], xmm0
movss xmm0, dword [ebp - 0x2f8]
movss dword [eax + 8], xmm0
mov edx, dword [0x101235c0]
mov ecx, dword [edi]
add edx, 0xffffffcb
mov eax, dword [ebp - 0x2f4]
xor edx, 0x920a48e7
mov dword [edx + ecx], eax
mov edx, dword [0x1012365c]
mov ecx, dword [edi]
add edx, 0xffffffa4
mov eax, dword [ebp - 0x2f0]
xor edx, 0x920a490f
mov dword [edx + ecx], eax
mov ecx, dword [0x101235ec]
mov eax, dword [edi]
add ecx, 0xffffffc0
movss xmm0, dword [ebp - 0x2ec]
xor ecx, 0x920a48f2
movss dword [ecx + eax], xmm0
mov edx, dword [0x101235f8]
mov eax, dword [edi]
add edx, 0xffffffbd
movss xmm0, dword [ebp - 0x2e8]
xor edx, 0x920a48f6
movss dword [edx + eax], xmm0
lea edx, [ebp - 0x318]
mov eax, dword [0x1012349c]
mov ecx, dword [edi]
push edx
call eax
mov eax, dword [edi]
lea esi, [ebp - 0x2e4]
mov edi, dword [0x10123510]
mov ecx, 0xb6
movss xmm0, dword [ebp - 0x49c]
mov edi, dword [edi + eax]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x101233ac]
movss dword [eax + 0x10], xmm0
mov eax, dword [0x101233ac]
movss xmm0, dword [ebp - 0x4a0]
movss dword [eax + 0x14], xmm0
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100d9ae6
mov esp, ebp
pop ebp
ret 4