Function at 0x1013e630
Capabilities:
Access peb ldr_data
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0xe34
mov eax, dword [0x103280d8]
push ebx
push esi
push edi
mov edi, dword [eax + 0x10]
mov dword [esp + 0x68], ecx
mov ecx, dword [eax + 0x1c]
mov edx, dword [edi]
mov eax, dword [ecx]
mov esi, dword [edx + 0xc]
call dword [eax + 0x30]
push eax
mov ecx, edi
call esi
mov ecx, eax
call fcn.100079e0
mov edx, dword [0x103280d8]
mov ebx, eax
mov ecx, dword [edx + 0x1c]
mov edi, dword [edx + 0x10]
mov edx, dword [ecx]
mov esi, dword [edi]
call dword [edx + 0x30]
push eax
mov ecx, edi
call dword [esi + 0xc]
mov ecx, eax
call fcn.100224c0
mov edx, dword [0x103280d8]
movss xmm0, dword [0x102cd2fc]
mov ecx, dword [edx]
mov edi, dword [edx + 0x10]
divss xmm0, dword [ecx + 0x1c]
addss xmm0, dword [0x102cd2ac]
cvttss2si ecx, xmm0
movd xmm2, ecx
mov ecx, dword [edx + 0x1c]
cvtdq2ps xmm2, xmm2
movaps xmm1, xmm2
movaps xmm0, xmm2
mulss xmm1, dword [eax]
mulss xmm0, dword [eax + 4]
mulss xmm2, dword [eax + 8]
mov eax, dword [edi]
addss xmm1, dword [ebx]
addss xmm0, dword [ebx + 4]
addss xmm2, dword [ebx + 8]
mov esi, dword [eax + 0xc]
mov eax, dword [ecx]
movss dword [esp + 0x64], xmm1
movss dword [esp + 0x4c], xmm0
movss dword [esp + 0x60], xmm2
call dword [eax + 0x30]
push eax
mov ecx, edi
call esi
mov ecx, eax
call fcn.10035b90
movss xmm1, dword [esp + 0x64]
movss xmm0, dword [esp + 0x4c]
movss xmm2, dword [esp + 0x60]
addss xmm1, dword [eax]
addss xmm0, dword [eax + 4]
addss xmm2, dword [eax + 8]
mov ecx, dword [esp + 0x68]
movss dword [esp + 0x6c], xmm1
movss dword [esp + 0x70], xmm0
mov ecx, dword [ecx + 0x14]
movss dword [esp + 0x74], xmm2
call fcn.10023b00
mov eax, dword [0x103280d8]
mov edi, dword [eax + 0x10]
mov ecx, dword [eax + 0x1c]
mov edx, dword [edi]
mov eax, dword [ecx]
mov esi, dword [edx + 0xc]
call dword [eax + 0x30]
push eax
mov ecx, edi
call esi
mov dword [esp + 0x90], 0x102cbc64
mov ecx, dword [0x10329638]
mov dword [esp + 0x94], eax
mov eax, dword fs:[0x2c]
mov dword [esp + 0x98], 0
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10336e4c]
cmp eax, dword [ecx + 4]
jg 0x1013f108
mov ebx, dword [0x103280c8]
mov eax, dword [0x10336e50]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x8c], ebx
mov edx, dword [ebx + 0x10]
mov eax, dword [ebx + 0x14]
add eax, edx
mov dword [esp + 0x64], edx
mov dword [esp + 0x88], eax
cmp edx, eax
je 0x1013f101
mov eax, dword [ebx + 0xc]
mov ecx, edx
dec eax
shr ecx, 1
and ecx, eax
mov eax, dword [ebx + 8]
mov ebx, edx
and ebx, 1
mov dword [esp + 0x58], ebx
mov esi, dword [eax + ecx*4]
mov eax, dword [0x103280d8]
mov dword [esp + 0x40], esi
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
mov eax, dword [esi + ebx*8]
movsx eax, byte [eax + 0xc]
push eax
call edx
test eax, eax
je 0x1013f0e4
mov esi, dword [esi + ebx*8]
cmp byte [esi + 1], 0
je 0x1013f0e4
cmp byte [esi], 0
jne 0x1013f0e4
cmp byte [esi + 2], 0
jne 0x1013f0e4
mov eax, dword [0x103280d8]
mov byte [esp + 0x37], 0
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
movsx eax, byte [esi + 0xc]
push eax
call edx
mov ecx, eax
call fcn.100079e0
mov edx, dword [0x103280d8]
mov ebx, eax
mov ecx, dword [edx + 0x1c]
mov edi, dword [edx + 0x10]
mov edx, dword [ecx]
mov esi, dword [edi]
call dword [edx + 0x30]
push eax
mov ecx, edi
call dword [esi + 0xc]
mov ecx, eax
call fcn.100224c0
mov ecx, dword [0x103280d8]
xorps xmm3, xmm3
movss xmm0, dword [0x102cd2fc]
sub esp, 8
mov ecx, dword [ecx]
divss xmm0, dword [ecx + 0x1c]
addss xmm0, dword [0x102cd2ac]
cvttss2si ecx, xmm0
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm1
movaps xmm2, xmm1
mulss xmm2, dword [eax]
mulss xmm0, dword [eax + 4]
addss xmm2, dword [ebx]
mulss xmm1, dword [eax + 8]
addss xmm0, dword [ebx + 4]
addss xmm1, dword [ebx + 8]
addss xmm2, xmm3
addss xmm0, xmm3
addss xmm1, dword [0x102cd47c]
movss dword [esp + 0x84], xmm2
subss xmm2, dword [esp + 0x74]
movss dword [esp + 0x88], xmm0
subss xmm0, dword [esp + 0x78]
movss dword [esp + 0x8c], xmm1
subss xmm1, dword [esp + 0x7c]
movss dword [esp + 0xa4], xmm2
mulss xmm2, xmm2
movss dword [esp + 0xa8], xmm0
mulss xmm0, xmm0
movss dword [esp + 0xac], xmm1
mulss xmm1, xmm1
addss xmm2, xmm0
addss xmm2, xmm1
cvtps2pd xmm0, xmm2
movsd qword [esp], xmm0
call fcn.100e5cd0
mov esi, dword [esp + 0x60]
add esp, 8
mov edi, dword [esp + 0x40]
fstp st(0)
mov ebx, dword [esp + 0x68]
mov eax, dword [edi + esi*8]
mov ecx, dword [eax + 0x48]
mov dword [esp + 0x44], ecx
mov ecx, dword [ebx + 0x60]
mov dword [ebx + 0x5c], 0
mov dword [esp + 0x4c], ecx
mov dword [ebx + 0x60], 0
test ecx, ecx
je 0x1013e980
or eax, 0xffffffff
lock xadd dword [ecx + 4], eax
jne 0x1013e980
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [esp + 0x4c]
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x1013e980
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x64], 0
mov dword [ebx + 0x6c], 0xffffffff
mov dword [ebx + 0x70], 0x2000
mov dword [ebx + 0x74], 0xffffffff
mov dword [ebx + 0x78], 0xffffffff
mov dword [ebx + 0x7c], 0xffffffff
mov dword [ebx + 0x80], 0
cmp dword [eax + 0x1c], 0
je 0x1013f0e4
lea ecx, [esp + 0x158]
call fcn.1012d560
mov eax, dword [0x103280d8]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
mov eax, dword [edi + esi*8]
movsx eax, byte [eax + 0xc]
push eax
call edx
push eax
lea ecx, [esp + 0x15c]
call fcn.1012d240
mov edx, dword [esp + 0x44]
xor ebx, ebx
cmp dword [edx + 0x1c], ebx
jbe 0x1013f0c0
mov ecx, dword [edx + 0x18]
mov eax, dword [edx + 0x14]
add ecx, ebx
dec eax
and ecx, eax
mov eax, dword [edx + 0x10]
mov eax, dword [eax + ecx*4]
mov dword [esp + 0x48], eax
mov eax, dword [0x103280d8]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
mov eax, dword [edi + esi*8]
movsx eax, byte [eax + 0xc]
push eax
call edx
mov esi, dword [esp + 0x48]
mov ecx, esi
push eax
call fcn.1012d330
mov eax, dword [0x103280d8]
movss xmm0, dword [esi + 0x1f4]
movss dword [esp + 0x78], xmm0
movss xmm0, dword [esi + 0x1f8]
mov edi, dword [eax + 0x10]
mov ecx, dword [eax + 0x1c]
movss dword [esp + 0x60], xmm0
movss xmm0, dword [esi + 0x1fc]
mov edx, dword [edi]
mov eax, dword [ecx]
movss dword [esp + 0x4c], xmm0
mov esi, dword [edx + 0xc]
call dword [eax + 0x30]
push eax
mov ecx, edi
call esi
mov ecx, eax
call fcn.100224c0
mov ecx, dword [0x103280d8]
xorps xmm1, xmm1
movss xmm0, dword [0x102cd2fc]
sub esp, 8
mov ecx, dword [ecx]
divss xmm0, dword [ecx + 0x1c]
addss xmm0, dword [0x102cd2ac]
cvttss2si ecx, xmm0
movd xmm2, ecx
cvtdq2ps xmm2, xmm2
movaps xmm0, xmm2
movaps xmm3, xmm2
mulss xmm0, dword [eax]
mulss xmm3, dword [eax + 4]
addss xmm0, dword [esp + 0x80]
mulss xmm2, dword [eax + 8]
addss xmm3, dword [esp + 0x68]
addss xmm2, dword [esp + 0x54]
addss xmm0, xmm1
addss xmm3, xmm1
addss xmm2, dword [0x102cd47c]
movss dword [esp + 0x84], xmm0
subss xmm0, dword [esp + 0x74]
movss dword [esp + 0x88], xmm3
subss xmm3, dword [esp + 0x78]
movss dword [esp + 0x8c], xmm2
subss xmm2, dword [esp + 0x7c]
movaps xmm1, xmm0
movss dword [esp + 0x58], xmm0
mulss xmm1, xmm0
movaps xmm0, xmm3
movss dword [esp + 0x5c], xmm3
mulss xmm0, xmm3
movss dword [esp + 0x44], xmm2
addss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, xmm2
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
call fcn.100e5cd0
fstp dword [esp + 0x40]
add esp, 8
movss xmm0, dword [esp + 0x38]
comiss xmm0, dword [0x102cd494]
jbe 0x1013eb85
mov edx, dword [esp + 0x44]
inc ebx
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x40]
cmp ebx, dword [edx + 0x1c]
jb 0x1013ea01
jmp 0x1013f0b8
movss xmm0, dword [esp + 0x54]
sub esp, 8
movss xmm1, dword [esp + 0x58]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
movss xmm0, dword [esp + 0x44]
mulss xmm0, xmm0
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
call fcn.100e5cd0
fstp dword [esp + 0x40]
movss xmm1, dword [esp + 0x40]
add esp, 8
xorps xmm0, xmm0
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jnp 0x1013ec00
movss xmm0, dword [esp + 0x50]
divss xmm0, xmm1
movss dword [esp + 0x50], xmm0
movss xmm0, dword [esp + 0x54]
divss xmm0, xmm1
movss dword [esp + 0x54], xmm0
movss xmm0, dword [esp + 0x3c]
divss xmm0, xmm1
jmp 0x1013ec14
movss dword [esp + 0x50], xmm0
movss dword [esp + 0x54], xmm0
movss xmm0, dword [0x102cd2fc]
mov eax, dword [0x103280d8]
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x40]
movss dword [esp + 0x3c], xmm0
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
mov eax, dword [esi + edi*8]
movsx eax, byte [eax + 0xc]
push eax
call edx
mov edx, dword [esp + 0x48]
xorps xmm0, xmm0
movups xmmword [esp + 0xb4], xmm0
mov ecx, dword [eax + 0x670]
mov dword [edx + 0xcd8], ecx
lea ecx, [edx + 0x378]
mov dword [eax + 0x670], ecx
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x70]
mov dword [esp + 0x124], 0
push eax
lea ecx, [esp + 0xbc]
movups xmmword [esp + 0x108], xmm0
movups xmmword [esp + 0x118], xmm0
movups xmmword [esp + 0xcc], xmm0
movups xmmword [esp + 0xdc], xmm0
call fcn.10003800
mov eax, dword [0x103280d8]
lea edx, [esp + 0x100]
push edx
lea edx, [esp + 0x94]
push edx
mov ecx, dword [eax + 0x2c]
lea edx, [esp + 0xbc]
push 0x600400b
push edx
mov eax, dword [ecx]
call dword [eax + 0x10]
lea eax, [esp + 0x100]
push eax
lea eax, [esp + 0x94]
push eax
push 0x600400b
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0x7c]
push eax
call fcn.101bc500
mov eax, dword [0x103280d8]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
mov eax, dword [esi + edi*8]
movsx eax, byte [eax + 0xc]
push eax
call edx
movss xmm0, dword [esp + 0x50]
sub esp, 8
movss xmm1, dword [esp + 0x5c]
mov edx, dword [esp + 0x50]
mulss xmm0, xmm0
mulss xmm1, xmm1
mov ecx, dword [edx + 0xcd8]
mov dword [eax + 0x670], ecx
mov dword [edx + 0xcd8], 0
addss xmm0, xmm1
movss xmm1, dword [esp + 0x44]
mulss xmm1, xmm1
addss xmm0, xmm1
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.100e5cd0
movss xmm0, dword [0x102cd468]
add esp, 8
fstp dword [esp + 0x38]
comiss xmm0, dword [esp + 0x38]
jbe 0x1013ee40
mov eax, dword [0x103280d8]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
mov eax, dword [esi + edi*8]
movsx eax, byte [eax + 0xc]
push eax
call edx
mov ecx, eax
call fcn.100076e0
mov esi, eax
lea eax, [esp + 0xe8]
push ecx
push eax
lea ecx, [esp + 0xa4]
call fcn.101ba3e0
movss xmm1, dword [esi + 4]
sub esp, 0x10
movss xmm0, dword [0x102cd5a0]
cvtps2pd xmm0, xmm0
subss xmm1, dword [eax + 4]
movsd qword [esp + 8], xmm0
addss xmm1, dword [0x102cd540]
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
call fcn.100e5b60
fstp dword [esp + 0x48]
movss xmm0, dword [esp + 0x48]
add esp, 8
subss xmm0, dword [0x102cd540]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.100e5a1a
mov esi, dword [esp + 0x48]
add esp, 8
fstp dword [esp + 0x38]
movss xmm0, dword [esp + 0x38]
comiss xmm0, dword [0x102cd554]
jbe 0x1013ee40
movss xmm1, dword [0x102cd394]
mov ecx, dword [esp + 0x5c]
mulss xmm1, dword [0x102cd4b0]
mov byte [esp + 0x37], 1
mov eax, dword [ecx + 0x24]
movss dword [esp + 0x3c], xmm1
or eax, 0x800
jmp 0x1013ee7a
mov eax, dword [esi + edi*8]
mov ecx, dword [esp + 0x5c]
movss xmm1, dword [0x102cd4b0]
movss dword [esp + 0x3c], xmm1
movd xmm0, dword [eax + 8]
mov eax, dword [ecx + 0x24]
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jb 0x1013ee77
movss dword [esp + 0x3c], xmm1
or eax, 0x800
mov byte [esp + 0x37], 1
jmp 0x1013ee7a
or eax, 1
mov dword [ecx + 0x24], eax
mov eax, dword [esi + edi*8 + 4]
test eax, eax
je 0x1013ee89
lock inc dword [eax + 4]
mov ecx, dword [esi + edi*8 + 4]
mov eax, dword [esi + edi*8]
mov esi, dword [esp + 0x68]
mov edx, dword [esi + 0x60]
mov dword [esi + 0x5c], eax
mov dword [esp + 0x38], edx
mov dword [esi + 0x60], ecx
test edx, edx
je 0x1013eec8
or eax, 0xffffffff
lock xadd dword [edx + 4], eax
jne 0x1013eec8
mov eax, dword [edx]
mov ecx, edx
call dword [eax]
mov ecx, dword [esp + 0x38]
or eax, 0xffffffff
lock xadd dword [ecx + 8], eax
jne 0x1013eec8
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [esp + 0x37], 0
mov eax, dword [esp + 0x40]
mov dword [esi + 0x78], 9
mov eax, dword [eax + edi*8]
movsx eax, byte [eax + 0xc]
mov dword [esi + 0x6c], eax
je 0x1013eeec
movss xmm0, dword [esp + 0x3c]
jmp 0x1013eef4
movss xmm0, dword [0x102cd45c]
mov edx, dword [esp + 0x44]
cvttss2si eax, xmm0
mov dword [esi + 0x7c], eax
mov ecx, dword [edx + 0x18]
mov eax, dword [edx + 0x14]
add ecx, ebx
dec eax
and ecx, eax
mov eax, dword [edx + 0x10]
mov eax, dword [eax + ecx*4]
mov dword [esi + 0x64], eax
mov esi, dword [0x103280d8]
call fcn.1012c5f0
mov edx, dword [esp + 0x48]
mov eax, dword [esi]
mov ebx, dword [esp + 0x5c]
addss xmm0, dword [edx + 0x50]
divss xmm0, dword [eax + 0x1c]
addss xmm0, dword [0x102cd2ac]
cvttss2si eax, xmm0
mov dword [ebx + 8], eax
mov eax, dword [0x103280d8]
mov edi, dword [eax + 0x10]
mov ecx, dword [eax + 0x1c]
mov edx, dword [edi]
mov eax, dword [ecx]
mov esi, dword [edx + 0xc]
call dword [eax + 0x30]
push eax
mov ecx, edi
call esi
mov edi, eax
mov ecx, edi
call fcn.10035b90
mov ecx, dword [edi]
mov esi, eax
mov edx, dword [ecx + 0x24]
mov ecx, edi
call edx
movss xmm0, dword [esi]
mov ecx, edi
addss xmm0, dword [eax]
movss dword [esp + 0x38], xmm0
movss xmm0, dword [esi + 4]
addss xmm0, dword [eax + 4]
movss dword [esp + 0x48], xmm0
movss xmm0, dword [esi + 8]
addss xmm0, dword [eax + 8]
movss dword [esp + 0x44], xmm0
call fcn.100224c0
mov ecx, dword [0x103280d8]
movss xmm3, dword [esp + 0x78]
mov ecx, dword [ecx]
push ecx
movss xmm2, dword [ecx + 0x1c]
lea ecx, [esp + 0xac]
movaps xmm0, xmm2
movaps xmm1, xmm2
mulss xmm0, dword [eax]
mulss xmm1, dword [eax + 4]
mulss xmm2, dword [eax + 8]
lea eax, [esp + 0xf8]
push eax
addss xmm0, dword [esp + 0x40]
addss xmm1, dword [esp + 0x50]
addss xmm2, dword [esp + 0x4c]
subss xmm3, xmm0
movss xmm0, dword [esp + 0x68]
subss xmm0, xmm1
movss xmm1, dword [esp + 0x54]
subss xmm1, xmm2
movss dword [esp + 0xb0], xmm3
movss dword [esp + 0xb4], xmm0
movss dword [esp + 0xb8], xmm1
call fcn.101ba3e0
movss xmm5, dword [0x102cd65c]
movss xmm3, dword [0x102cd5a0]
movss xmm2, dword [eax]
movss xmm0, dword [eax + 4]
movss xmm1, dword [eax + 8]
comiss xmm5, xmm2
jbe 0x1013f059
nop dword [eax + eax]
addss xmm2, xmm3
comiss xmm5, xmm2
ja 0x1013f050
movss xmm4, dword [0x102cd540]
comiss xmm2, xmm4
jbe 0x1013f06f
subss xmm2, xmm3
comiss xmm2, xmm4
ja 0x1013f066
comiss xmm5, xmm0
jbe 0x1013f07d
addss xmm0, xmm3
comiss xmm5, xmm0
ja 0x1013f074
comiss xmm0, xmm4
jbe 0x1013f08b
subss xmm0, xmm3
comiss xmm0, xmm4
ja 0x1013f082
comiss xmm5, xmm1
jbe 0x1013f099
addss xmm1, xmm3
comiss xmm5, xmm1
ja 0x1013f090
comiss xmm1, xmm4
jbe 0x1013f0a9
nop
subss xmm1, xmm3
comiss xmm1, xmm4
ja 0x1013f0a0
movss dword [ebx + 0xc], xmm2
movss dword [ebx + 0x10], xmm0
movss dword [ebx + 0x14], xmm1
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x58]
mov eax, dword [0x103280d8]
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0xc]
mov eax, dword [edi + esi*8]
movsx eax, byte [eax + 0xc]
push eax
call edx
push eax
lea ecx, [esp + 0x15c]
call fcn.1012d330
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x8c]
inc edx
mov dword [esp + 0x64], edx
cmp edx, dword [esp + 0x88]
jne 0x1013e7c4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x10336e4c
call fcn.100bbde8
add esp, 4
cmp dword [0x10336e4c], 0xffffffff
jne 0x1013e793
push 0x10336e4c
mov dword [0x10336e50], 0
call fcn.100bbd97
add esp, 4
jmp 0x1013e793