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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x358
mov eax, dword [0x102d944c]
xor eax, esp
mov dword [esp + 0x354], eax
mov eax, dword [0x1054e1b4]
push esi
push edi
mov edi, ecx
mov ecx, dword [0x10311640]
mov dword [esp + 0x10], edi
mov esi, dword [eax + ecx]
test esi, esi
je 0x100d2ac0
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x10311640]
movq xmm0, qword [eax]
movq qword [esp + 0x350], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 0x358], eax
mov eax, dword [0x1054e19c]
add eax, ecx
je 0x100d25a1
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov eax, dword [0x1054e1a8]
mov dword [ecx + eax], 0
mov eax, dword [0x1054e1ac]
mov dword [ecx + eax], 0x4f7f8000
mov ecx, dword [0x10311640]
mov edx, dword [0x1054e4a8]
mov eax, dword [0x1054e12c]
add edx, 0xffffffd7
xor edx, 0xab5b25
add edx, ecx
push edx
call eax
mov eax, dword [0x1054e128]
mov ecx, dword [0x10311640]
push 0x10312f48
call eax
mov ecx, dword [0x1054e4e8]
mov eax, dword [0x10311640]
add ecx, 0xffffffc7
xor ecx, 0xab5b35
test byte [ecx + eax], 1
je 0x100d25ef
mov word [esi + 0x108], 1
cmp byte [esi + 0x108], 0
mov eax, dword [edi + 0x1c8c]
mov dword [esi + 0x94], eax
mov dword [esi + 0x90], 0x41a00000
movss xmm0, dword [0x10312f60]
movss dword [esi + 0x78], xmm0
je 0x100d2624
cmp byte [esi + 0x109], 0
jne 0x100d263f
xor ecx, ecx
xor eax, eax
cmp ecx, 0xa
je 0x100d2636
cmp eax, 0x60
jae 0x100d2ad4
add eax, 4
inc ecx
cmp eax, 0x48
jb 0x100d2628
mov eax, dword [0x1054e4b0]
mov esi, dword [0x10311640]
add eax, 0xffffffd5
xor eax, 0xab5b27
movss xmm2, dword [eax + esi + 4]
movss xmm0, dword [eax + esi]
movss xmm1, dword [eax + esi + 8]
mulss xmm0, xmm0
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm0, xmm2
addss xmm0, xmm1
call fcn.100a2ff0
movss xmm1, dword [0x102c1314]
comiss xmm1, xmm0
jb 0x100d269b
mov eax, dword [0x1054e1a0]
mov eax, dword [eax + esi]
mov dword [eax + 0x170], 0
mov ecx, dword [edi + 0x368]
lea edi, [esp + 0x40]
mov eax, dword [0x1054e1a0]
mov eax, dword [eax + ecx]
mov esi, eax
mov ecx, 0xb6
rep movsd dword es:[edi], dword [esi]
mov edi, eax
mov ecx, 0xb6
mov eax, dword [esp + 0x10]
mov esi, 0x10311344
rep movsd dword es:[edi], dword [esi]
mov edi, dword [eax + 0x368]
mov ecx, edi
mov eax, dword [0x1054e040]
movss xmm0, dword [eax + 0x10]
mov eax, dword [0x1054e644]
add eax, 0xffffff70
movss dword [esp + 0x20], xmm0
xor eax, 0xab5b8c
mov eax, dword [eax + edi - 0x1c]
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x68]
mov dword [esp + 0x34], eax
mov eax, dword [0x1054e4d4]
add eax, 0xffffffcc
xor eax, 0xab5b30
mov eax, dword [eax + edi]
mov dword [esp + 0x30], eax
mov eax, dword [edi + 0xa28]
mov dword [esp + 0x38], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x1054e0f8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
mov ecx, dword [0x1054e0f8]
push 0
mov dword [esp + 0xc], eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x40]
call edx
mov ecx, dword [0x1054e644]
add ecx, 0xffffff70
movss xmm0, dword [0x102c1734]
xor ecx, 0xab5b8c
movss dword [esp + 0xc], xmm0
mov dword [ecx + edi - 0x1c], 0
mov eax, dword [0x1054e19c]
mov dword [eax + edi + 8], 0
mov eax, dword [0x1054e1a8]
mov dword [eax + edi], 0
and dword [edi + 0xa28], 0xfffffffd
or dword [edi + 0x68], 2
mov dword [edi + 0xa68], 0
mov dword [edi + 0xa24], 0xffffffff
mov eax, dword [0x1054e4d4]
add eax, 0xffffffcc
xor eax, 0xab5b30
or dword [eax + edi], 8
mov eax, dword [0x1054e1a0]
cmp dword [edi + eax + 0xc], 0xc
jl 0x100d27db
mov eax, dword [edi + eax]
movss xmm0, dword [eax + 0x2c0]
movss dword [esp + 0xc], xmm0
mov dword [eax + 0x2c0], 0
mov eax, dword [0x1054e040]
lea ecx, [edi + 4]
push ecx
mov esi, dword [eax + 4]
mov dword [eax + 4], 0xfffffc19
movss xmm0, dword [edi + 0x3ad4]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [edi + 0x6f24]
mov dword [edi + 0x3ad4], 0
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [esp + 0x24]
mov dword [edi + 0x6f24], 0
mov byte [0x10311646], 1
mov eax, dword [ecx]
movss dword [esp], xmm0
push 0xfff00
push 0xffffffffffffffff
mov eax, dword [eax + 0x34]
push 0
call eax
mov eax, dword [0x1054e040]
movss xmm0, dword [esp + 0x24]
mov byte [0x10311646], 0
mov dword [eax + 4], esi
movss dword [edi + 0x3ad4], xmm0
movss xmm0, dword [esp + 0x28]
movss dword [edi + 0x6f24], xmm0
mov eax, dword [0x1054e1a0]
cmp dword [edi + eax + 0xc], 0xc
jl 0x100d2891
movss xmm0, dword [esp + 0xc]
comiss xmm0, dword [0x102c1298]
jb 0x100d2891
mov eax, dword [edi + eax]
movss dword [eax + 0x2c0], xmm0
mov eax, dword [0x1054e644]
mov ecx, dword [esp + 0x2c]
add eax, 0xffffff70
xor eax, 0xab5b8c
push dword [esp + 8]
mov dword [eax + edi - 0x1c], ecx
mov eax, dword [0x1054e4d4]
mov ecx, dword [esp + 0x34]
add eax, 0xffffffcc
xor eax, 0xab5b30
mov dword [eax + edi], ecx
mov eax, dword [esp + 0x38]
mov dword [edi + 0x68], eax
mov eax, dword [esp + 0x3c]
mov dword [edi + 0xa28], eax
mov ecx, dword [0x1054e0f8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x40]
call eax
mov ecx, dword [esp + 0x10]
lea esi, [esp + 0x40]
mov edi, dword [0x1054e1a0]
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov eax, dword [ecx + 0x368]
mov ecx, 0xb6
mov dword [esp + 0x1c], 0
mov edi, dword [edi + eax]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [0x10311640]
lea ecx, [esp + 0x14]
push ecx
mov ecx, esi
mov eax, dword [esi]
mov eax, dword [eax + 0x28c]
call eax
cmp dword [esi + 0x39e1], 0
je 0x100d2a81
mov edx, dword [0x1054e1b4]
mov eax, dword [esi + edx]
test eax, eax
je 0x100d2a81
mov ecx, dword [eax + 0x60]
test ecx, ecx
je 0x100d2a81
cmp byte [eax + 0x109], 0
xorps xmm5, xmm5
jne 0x100d29aa
mov eax, dword [0x1054e514]
add eax, 0xffffffbc
xor eax, 0xab5b40
movss xmm0, dword [eax + ecx]
ucomiss xmm0, xmm5
lahf
test ah, 0x44
jp 0x100d29aa
mov eax, dword [0x1054e5a4]
add eax, 0xffffff98
xor eax, 0xab5b64
mov edx, dword [eax + ecx]
mov ecx, dword [0x1054dfe8]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
test eax, eax
jne 0x100d2a81
mov edx, dword [0x1054e1b4]
xorps xmm5, xmm5
mov edx, dword [esi + edx]
mov ecx, dword [0x1054e598]
add ecx, 0xffffff9b
xor ecx, 0xab5b61
mov eax, dword [edx + 0x60]
mov eax, dword [ecx + eax]
test eax, eax
je 0x100d2a81
movss xmm4, dword [eax + 0x1ac]
movss xmm1, dword [esp + 0x1c]
cvtps2pd xmm4, xmm4
cvtps2pd xmm0, xmm1
addsd xmm4, qword [0x102c1460]
comisd xmm0, xmm4
movsd qword [esp + 0x38], xmm4
jbe 0x100d2a87
subsd xmm0, xmm4
cvtpd2ps xmm0, xmm0
subss xmm0, dword [0x102c1508]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x102c1428]
cvtpd2ps xmm0, xmm0
comiss xmm0, xmm5
jb 0x100d2a48
sub esp, 8
mov dword [esp + 4], 0x3f800000
movss dword [esp], xmm0
call fcn.10201b26
movss xmm1, dword [esp + 0x24]
add esp, 8
movsd xmm4, qword [esp + 0x38]
fstp dword [esp + 8]
movss xmm5, dword [esp + 8]
movaps xmm0, xmm5
mulss xmm0, xmm5
cvtps2pd xmm3, xmm1
cvtps2pd xmm2, xmm0
cvtps2pd xmm0, xmm5
movaps xmm1, xmm2
subsd xmm4, xmm3
mulsd xmm1, qword [0x102c1478]
addsd xmm2, xmm2
mulsd xmm2, xmm0
subsd xmm1, xmm2
mulsd xmm1, xmm4
addsd xmm1, xmm3
cvtpd2ps xmm1, xmm1
jmp 0x100d2a87
movss xmm1, dword [esp + 0x1c]
movss xmm0, dword [esp + 0x14]
lea ecx, [esp + 0x350]
mov eax, dword [0x1054e12c]
movss dword [0x1031164c], xmm0
movss xmm0, dword [esp + 0x18]
push ecx
mov ecx, dword [0x10311640]
movss dword [0x10311650], xmm0
movss dword [0x10311654], xmm1
call eax
mov ecx, dword [esp + 0x35c]
pop edi
pop esi
xor ecx, esp
call fcn.101fae3a
mov esp, ebp
pop ebp
ret
call fcn.100d4a50
int3