Function at 0x10023480
Capabilities:
Access peb ldr_data
Contain obfuscated stackstrings
Get number of processors

Disassembly:
push ebp
lea ebp, [esp - 0x194]
sub esp, 0x194
push 0xffffffffffffffff
push 0x100325fd
mov eax, dword fs:[0]
push eax
sub esp, 0x84
mov eax, dword [0x1003d00c]
xor eax, ebp
mov dword [ebp + 0x190], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor edi, edi
mov dword [ebp - 0x10], edi
mov ecx, dword [0x100c21e0]
mov dword [ebp - 0x28], edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x100c21ec]
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
mov esi, eax
mov dword [ebp - 0x2c], esi
test esi, esi
je 0x100244d9
cmp byte [0x100d389c], 0
jne 0x1002352f
cmp byte [0x100d389d], 0
jne 0x1002352f
cmp byte [0x100d389e], 0
jne 0x1002352f
cmp byte [0x100d38a1], 0
jne 0x1002352f
cmp byte [0x100d38a2], 0
jne 0x1002352f
cmp byte [0x100d38a4], 0
jne 0x1002352f
cmp byte [0x100d38a3], 0
je 0x100244d9
xor eax, eax
mov edx, 1
mov dword [ebp - 0x44], eax
mov eax, dword [0x100c21e8]
mov dword [ebp - 0x40], edx
cmp dword [eax + 0x14], edx
jl 0x100244d9
nop word [eax + eax]
mov ecx, dword [0x100c21ec]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ebx, eax
test ebx, ebx
je 0x100244c5
cmp ebx, esi
je 0x100244c5
mov ecx, ebx
call fcn.10002d80
cmp dword [eax], 0
jne 0x100244c5
cmp byte [0x100d38a6], 0
je 0x100235a2
mov ecx, ebx
call fcn.10002960
mov ecx, dword [ebp - 0x2c]
mov esi, dword [eax]
call fcn.10002960
cmp esi, dword [eax]
je 0x100244c2
mov eax, dword [ebp - 0x40]
cmp byte [eax + 0x100d3b58], 0
je 0x100235ba
mov dword [ebp - 0x48], 0xffffffff
mov eax, dword [ebp - 0x48]
jmp 0x100235e1
mov ecx, ebx
call fcn.10002960
cmp dword [eax], 2
jne 0x100235cd
mov eax, dword [0x100d3640]
jmp 0x100235e1
mov ecx, ebx
call fcn.10002960
cmp dword [eax], 3
mov eax, dword [ebp - 0x44]
cmove eax, dword [0x100d363c]
mov dword [ebp - 0x44], eax
mov ecx, ebx
mov dword [ebp - 0x24], eax
mov eax, dword [ebx]
call dword [eax + 0x24]
mov ecx, ebx
movss xmm0, dword [eax]
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [eax + 4]
movss dword [ebp - 0x14], xmm0
movss xmm0, dword [eax + 8]
movss dword [ebp - 0x1c], xmm0
call fcn.10002ab0
movss xmm0, dword [ebp - 0x1c]
mov eax, dword [eax]
shr eax, 1
and al, 1
mov dword [ebp - 0x20], eax
je 0x1002362c
addss xmm0, dword [0x10038b48]
jmp 0x10023634
addss xmm0, dword [0x10038b5c]
mov ecx, dword [0x100c21e0]
movss dword [ebp - 0x10], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x98]
call eax
movss xmm1, dword [ebp - 0x30]
mov esi, eax
movss xmm5, dword [ebp - 0x14]
movaps xmm3, xmm1
movss xmm4, dword [ebp - 0x1c]
movaps xmm0, xmm5
mulss xmm0, dword [esi + 0x34]
mulss xmm3, dword [esi + 0x30]
addss xmm3, xmm0
movaps xmm0, xmm4
mulss xmm0, dword [esi + 0x38]
addss xmm0, dword [esi + 0x3c]
addss xmm3, xmm0
cvtps2pd xmm0, xmm3
comisd xmm0, xmmword [0x10038a50]
jbe 0x100244c2
mulss xmm1, dword [esi + 0x10]
movaps xmm0, xmm5
mov ecx, dword [0x100c2344]
mov eax, ecx
mulss xmm0, dword [esi + 0x14]
xorps xmm2, xmm2
cdq
mulss xmm4, dword [esi + 0x18]
sub eax, edx
sar eax, 1
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, ecx
mov ecx, dword [0x100c21e0]
addss xmm4, dword [esi + 0x1c]
cvtsi2sd xmm2, eax
mov eax, dword [ecx]
addss xmm1, xmm4
mov eax, dword [eax + 0x98]
divss xmm1, xmm3
mulss xmm1, dword [0x10038a2c]
cvtps2pd xmm1, xmm1
mulsd xmm1, xmm0
addsd xmm1, qword [0x10038aa0]
subsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
movss dword [ebp - 0x18], xmm0
call eax
movss xmm4, dword [ebp - 0x30]
mov esi, eax
movss xmm6, dword [ebp - 0x14]
movaps xmm1, xmm4
movss xmm5, dword [ebp - 0x10]
movaps xmm0, xmm6
mulss xmm0, dword [esi + 0x34]
mulss xmm1, dword [esi + 0x30]
addss xmm1, xmm0
movaps xmm0, xmm5
mulss xmm0, dword [esi + 0x38]
addss xmm0, dword [esi + 0x3c]
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
comisd xmm0, xmmword [0x10038a50]
jbe 0x100244c2
movss xmm3, dword [0x10038a68]
movaps xmm0, xmm4
mulss xmm0, dword [esi]
xorps xmm2, xmm2
mov eax, dword [0x100c2348]
divss xmm3, xmm1
mov ecx, dword [0x100c2344]
movaps xmm1, xmm6
mulss xmm4, dword [esi + 0x10]
mulss xmm1, dword [esi + 4]
mulss xmm6, dword [esi + 0x14]
addss xmm1, xmm0
movaps xmm0, xmm5
mulss xmm0, dword [esi + 8]
mulss xmm5, dword [esi + 0x18]
addss xmm4, xmm6
addss xmm0, dword [esi + 0xc]
addss xmm5, dword [esi + 0x1c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
cdq
sub eax, edx
sar eax, 1
mulss xmm1, xmm3
addss xmm4, xmm5
mulss xmm1, dword [0x10038a2c]
mulss xmm4, xmm3
cvtps2pd xmm1, xmm1
mulss xmm4, dword [0x10038a2c]
mulsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
cmp byte [0x100d38a2], 0
addsd xmm1, qword [0x10038aa0]
cvtsi2sd xmm2, eax
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
cvtps2pd xmm1, xmm4
movss dword [ebp - 0x30], xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, ecx
mulsd xmm1, xmm0
addsd xmm1, qword [0x10038aa0]
subsd xmm2, xmm1
cvtpd2ps xmm2, xmm2
movss dword [ebp - 0x14], xmm2
je 0x1002383b
mov dword [ebp - 0x4c], 0xa0ffffff
mov ecx, 0x100c1f38
push dword [ebp - 0x4c]
push ebx
call fcn.10010400
movss xmm2, dword [ebp - 0x14]
movss xmm0, dword [ebp - 0x18]
mov eax, dword fs:[0x2c]
subss xmm0, xmm2
mov ecx, dword [0x100c1ed4]
mov ecx, dword [eax + ecx*4]
movaps xmm1, xmm0
mulss xmm1, dword [0x100389f8]
mov eax, dword [0x102b0d48]
movss dword [ebp - 0x18], xmm0
movss dword [ebp - 0x10], xmm1
cmp eax, dword [ecx + 4]
jle 0x100238a7
push 0x102b0d48
call fcn.1002e580
add esp, 4
cmp dword [0x102b0d48], 0xffffffff
jne 0x10023898
push 0x102b0d48
call fcn.1002e52f
add esp, 4
movss xmm2, dword [ebp - 0x14]
movss xmm1, dword [ebp - 0x10]
movss xmm0, dword [ebp - 0x18]
cmp byte [ebp - 0x20], 0
je 0x100238b5
mulss xmm1, dword [0x10038a88]
cmp byte [0x100d389c], 0
movss xmm3, dword [ebp - 0x30]
subss xmm3, xmm1
movss dword [ebp - 0x1c], xmm3
je 0x10023910
mov eax, dword [ebp - 0x44]
addss xmm1, xmm1
movzx edx, byte [ebp - 0x22]
movzx ecx, ah
movzx eax, al
mov byte [ebp - 0x54], al
cvttss2si eax, xmm0
mov dword [ebp - 0x50], 0x80000000
mov byte [ebp - 0x53], cl
mov byte [ebp - 0x52], dl
mov byte [ebp - 0x51], 0xa0
push dword [ebp - 0x50]
push dword [ebp - 0x54]
push eax
cvttss2si eax, xmm1
push eax
cvttss2si eax, xmm2
push eax
cvttss2si eax, xmm3
push eax
call fcn.10010180
cmp byte [0x100d38a3], 0
je 0x1002392f
mov dword [ebp - 0x58], 0xa0ffffff
push dword [ebp - 0x58]
push dword [0x100d3680]
push ebx
call fcn.10010ae0
mov ecx, dword [0x100c21e0]
lea edx, [ebp]
mov esi, dword [ebp - 0x40]
push edx
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
cmp byte [0x100d389d], 0
je 0x10023a26
cmp byte [esi + 0x100d3b58], 0
je 0x10023990
mov dword [ebp + 0x84], 0x65697246
mov dword [ebp + 0x88], 0x203a646e
mov word [ebp + 0x8c], 0x7325
mov byte [ebp + 0x8e], 0
lea eax, [ebp + 0x84]
mov dword [ebp - 4], 0
or edi, 1
jmp 0x100239a7
mov word [ebp - 0x38], 0x7325
mov byte [ebp - 0x36], 0
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 1
or edi, 2
movss xmm0, dword [ebp - 0x14]
lea ecx, [ebp]
subss xmm0, dword [0x10038b18]
push ecx
push eax
mov dword [ebp - 0x5c], 0xc8ffffff
push dword [ebp - 0x5c]
cvttss2si eax, xmm0
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x28], edi
push eax
cvttss2si eax, dword [ebp - 0x30]
push eax
push 0
push 1
push 0x100c1f38
call fcn.1000f7a0
mov eax, edi
add esp, 0x20
test al, 2
je 0x100239fa
and eax, 0xfffffffd
xor ecx, ecx
mov dword [ebp - 0x28], eax
mov word [ebp - 0x38], cx
mov byte [ebp - 0x36], cl
mov dword [ebp - 4], 0xffffffff
test al, 1
je 0x10023a26
and eax, 0xfffffffe
mov word [ebp + 0x8c], 0
xorps xmm0, xmm0
mov dword [ebp - 0x28], eax
movq qword [ebp + 0x84], xmm0
mov byte [ebp + 0x8e], 0
cmp byte [0x100d389f], 0
je 0x10023c6a
mov eax, dword fs:[0x2c]
mov ecx, dword [0x100c1ed4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x102b08d4]
cmp eax, dword [ecx + 4]
jle 0x10023b03
push 0x102b08d4
call fcn.1002e580
add esp, 4
cmp dword [0x102b08d4], 0xffffffff
jne 0x10023b03
lea ecx, [ebp - 0x80]
mov dword [ebp - 4], 2
call fcn.10028ad0
push 0
push str.m_ArmorValue
push str.DT_CSPlayer
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.10028b70
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x80]
mov dword [0x102b08e8], eax
test ecx, ecx
je 0x10023aef
mov eax, dword [ebp - 0x78]
sub eax, ecx
sar eax, 2
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x10023ad0
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100244fc
push edx
push ecx
call fcn.1002e4f6
add esp, 8
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
push 0x102b08d4
mov dword [ebp - 4], 0xffffffff
call fcn.1002e52f
add esp, 4
mov eax, dword [0x102b08e8]
mov edi, 0x64
movss xmm1, dword [ebp - 0x18]
addss xmm1, dword [0x10038a68]
push ecx
mov esi, dword [eax + ebx]
cmp esi, 0x64
cmovg esi, edi
mov dword [ebp - 0x34], esi
movss dword [ebp - 0x24], xmm1
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
mulss xmm0, dword [0x10038984]
movss dword [ebp - 0x20], xmm0
fld dword [ebp - 0x20]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
movss xmm1, dword [ebp - 0x24]
add esp, 4
fstp dword [ebp - 0x10]
cvttss2si eax, dword [ebp - 0x10]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [ebp - 0x20], eax
test esi, esi
jle 0x10023c6f
movss xmm0, dword [ebp - 0x14]
addss xmm0, dword [0x10038a68]
mov ecx, dword [0x100c2300]
push 0xff000000
mov eax, dword [ecx]
cvttss2si edi, xmm0
mov eax, dword [eax + 0x28]
movss xmm0, dword [ebp - 0x1c]
subss xmm0, dword [0x10038b24]
cvttss2si esi, xmm0
call eax
mov ecx, dword [0x100c2300]
mov edx, dword [ecx]
movss xmm0, dword [ebp - 0x18]
addss xmm0, dword [0x10038ae0]
cvttss2si eax, xmm0
add eax, edi
push eax
lea eax, [esi + 4]
push eax
mov eax, dword [edx + 0x30]
push edi
push esi
call eax
movd xmm0, dword [ebp - 0x20]
mov ecx, dword [0x100c2300]
cvtdq2ps xmm0, xmm0
push 0xffb4b4b4
mov eax, dword [ecx]
addss xmm0, dword [ebp - 0x14]
mov eax, dword [eax + 0x28]
movss dword [ebp - 0x20], xmm0
addss xmm0, dword [0x10038ac0]
cvttss2si esi, xmm0
movss xmm0, dword [ebp - 0x1c]
subss xmm0, dword [0x10038b20]
cvttss2si edi, xmm0
call eax
mov ecx, dword [0x100c2300]
mov edx, dword [ecx]
cvttss2si eax, dword [ebp - 0x10]
add eax, esi
push eax
lea eax, [edi + 2]
push eax
mov eax, dword [edx + 0x30]
push esi
push edi
call eax
mov eax, dword [ebp - 0x34]
cmp eax, 0x64
jge 0x10023c6a
movss xmm0, dword [ebp - 0x20]
addss xmm0, dword [0x10038b0c]
push eax
push 0x10037ec4
mov dword [ebp - 0x60], 0xffffffff
push dword [ebp - 0x60]
cvttss2si eax, xmm0
push eax
push edi
push 0
push 0x100c1f38
call fcn.1000fc60
add esp, 0x1c
mov edi, 0x64
cmp byte [0x100d389e], 0
je 0x10023e18
mov ecx, ebx
call fcn.10002e70
movss xmm1, dword [ebp - 0x18]
addss xmm1, dword [0x10038a68]
push ecx
mov esi, dword [eax]
cmp esi, 0x64
cmovg esi, edi
mov dword [ebp - 0x70], esi
movss dword [ebp - 0x20], xmm1
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x24], xmm0
mulss xmm0, xmm1
mulss xmm0, dword [0x10038984]
movss dword [ebp - 0x34], xmm0
fld dword [ebp - 0x34]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
movss xmm1, dword [ebp - 0x20]
add esp, 4
fstp dword [ebp - 0x10]
cvttss2si eax, dword [ebp - 0x10]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [ebp - 0x34], eax
test esi, esi
jle 0x10023e18
movss xmm0, dword [ebp - 0x14]
addss xmm0, dword [0x10038a68]
mov ecx, dword [0x100c2300]
push 0xff000000
mov eax, dword [ecx]
cvttss2si edi, xmm0
mov eax, dword [eax + 0x28]
movss xmm0, dword [ebp - 0x1c]
subss xmm0, dword [0x10038b0c]
cvttss2si esi, xmm0
call eax
mov ecx, dword [0x100c2300]
mov edx, dword [ecx]
movss xmm0, dword [ebp - 0x18]
addss xmm0, dword [0x10038ae0]
cvttss2si eax, xmm0
add eax, edi
push eax
lea eax, [esi + 4]
push eax
mov eax, dword [edx + 0x30]
push edi
push esi
call eax
movd xmm0, dword [ebp - 0x34]
cvtdq2ps xmm0, xmm0
mov ecx, dword [0x100c2300]
movss xmm1, dword [ebp - 0x24]
addss xmm0, dword [ebp - 0x14]
mulss xmm1, dword [0x10038ad0]
mov esi, dword [ecx]
movss dword [ebp - 0x20], xmm0
addss xmm0, dword [0x10038ac0]
cvttss2si edi, xmm0
movss xmm0, dword [ebp - 0x1c]
subss xmm0, dword [0x10038b08]
cvttss2si eax, xmm0
movss xmm0, dword [0x10038bdc]
mov dword [ebp - 0x34], eax
subss xmm0, xmm1
cvttss2si eax, xmm1
movzx edx, al
cvttss2si eax, xmm0
or edx, 0xffff0000
shl edx, 8
movzx eax, al
or edx, eax
mov eax, dword [esi + 0x28]
push edx
call eax
cvttss2si eax, dword [ebp - 0x10]
mov esi, dword [ebp - 0x34]
mov ecx, dword [0x100c2300]
mov edx, dword [ecx]
add eax, edi
push eax
lea eax, [esi + 2]
push eax
mov eax, dword [edx + 0x30]
push edi
push esi
call eax
mov eax, dword [ebp - 0x70]
cmp eax, 0x64
jge 0x10023e18
movss xmm0, dword [ebp - 0x20]
addss xmm0, dword [0x10038b0c]
push eax
push 0x10037ec0
mov dword [ebp - 0x64], 0xffffffff
push dword [ebp - 0x64]
cvttss2si eax, xmm0
push eax
push esi
push 0
push 0x100c1f38
call fcn.1000fc60
add esp, 0x1c
cmp byte [0x100d38a0], 0
je 0x10023f71
mov eax, dword fs:[0x2c]
mov ecx, dword [0x100c1ed4]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x102b08e0]
cmp eax, dword [ecx + 4]
jle 0x10023f07
push 0x102b08e0
call fcn.1002e580
add esp, 4
cmp dword [0x102b08e0], 0xffffffff
jne 0x10023f07
lea ecx, [ebp - 0x90]
mov dword [ebp - 4], 4
call fcn.10028ad0
push 0
push str.m_bHasHelmet
push str.DT_CSPlayer
mov ecx, eax
mov byte [ebp - 4], 5
call fcn.10028b70
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x90]
mov dword [0x102b08dc], eax
test ecx, ecx
je 0x10023ef3
mov eax, dword [ebp - 0x88]
sub eax, ecx
sar eax, 2
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x10023ecb
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100244fc
push edx
push ecx
call fcn.1002e4f6
add esp, 8
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0
push 0x102b08e0
mov dword [ebp - 4], 0xffffffff
call fcn.1002e52f
add esp, 4
mov eax, dword [0x102b08dc]
cmp byte [eax + ebx], 0
je 0x10023f54
movss xmm0, dword [ebp - 0x14]
addss xmm0, dword [0x10038a68]
push 0x10037ecc
mov dword [ebp - 0x68], 0xc800ff00
push dword [ebp - 0x68]
cvttss2si eax, xmm0
movss xmm0, dword [ebp - 0x1c]
subss xmm0, dword [0x10038b34]
push eax
cvttss2si eax, xmm0
push eax
push 0
push 0x100c1f38
call fcn.1000fc60
add esp, 0x18
movss xmm0, dword [ebp - 0x18]
addss xmm0, dword [0x10038ae0]
movss xmm1, dword [ebp - 0x14]
addss xmm1, xmm0
movss dword [ebp - 0x14], xmm1
jmp 0x10023f7e
movss xmm0, dword [ebp - 0x18]
addss xmm0, dword [0x10038ae0]
mov ecx, dword [0x100c21ec]
push dword [ebx + 0xb38]
movss dword [ebp - 0x18], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
test eax, eax
je 0x100240a4
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x1c]
mov ecx, eax
test ecx, ecx
je 0x100240a4
cmp byte [0x100d389e], 0
je 0x10023fc2
movss xmm0, dword [0x10038ae0]
jmp 0x10023fc7
movss xmm0, dword [ebp - 0x18]
movss xmm1, dword [ebp - 0x14]
mov eax, dword [ecx]
addss xmm1, xmm0
mov eax, dword [eax + 0x4a4]
movss dword [ebp - 0x14], xmm1
call eax
test eax, eax
jns 0x10023fe7
xor eax, eax
jmp 0x10023fef
xor ecx, ecx
cmp eax, 0x1d
cmovg eax, ecx
push eax
push str.client.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
add eax, 0x1e0b00
call eax
lea edx, [ebp + 0x90]
add esp, 4
sub edx, eax
nop dword [eax]
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [edx + eax - 1], cl
test cl, cl
jne 0x10024010
mov al, byte [ebp + 0x90]
lea esi, [ebp + 0x90]
test al, al
je 0x10024048
nop dword [eax]
movsx eax, al
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
mov byte [esi], al
lea esi, [esi + 1]
mov al, byte [esi]
add esp, 4
test al, al
jne 0x10024030
cmp byte [0x100d38a1], 0
je 0x100240a4
mov word [ebp - 0x3c], 0x7325
mov byte [ebp - 0x3a], 0
lea eax, [ebp + 0x90]
mov dword [ebp - 0x6c], 0xc8ffffff
push eax
lea eax, [ebp - 0x3c]
mov dword [ebp - 4], 6
push eax
cvttss2si eax, dword [ebp - 0x14]
push dword [ebp - 0x6c]
push eax
cvttss2si eax, dword [ebp - 0x30]
push eax
push 0
push 1
push 0x100c1f38
call fcn.1000f7a0
add esp, 0x20
mov dword [ebp - 4], 0xffffffff
xor eax, eax
mov word [ebp - 0x3c], ax
mov byte [ebp - 0x3a], al
imul eax, dword [ebp - 0x40], 0x39c
add eax, 0x100c4db0
movss xmm2, dword [eax]
movss xmm0, dword [eax + 4]
movss xmm1, dword [eax + 8]
imul eax, dword [ebp - 0x40], 0x7380
movss dword [ebp - 0x34], xmm2
movss dword [ebp - 0x70], xmm0
movss dword [ebp - 0x20], xmm1
add eax, 0x100d3f40
cmp dword [0x100d383c], 0
movss xmm5, dword [eax]
movss xmm3, dword [eax + 4]
movss xmm4, dword [eax + 8]
movss dword [ebp - 0x1c], xmm5
movss dword [ebp - 0x24], xmm3
movss dword [ebp - 0x18], xmm4
jle 0x100244bf
xorps xmm6, xmm6
ucomiss xmm6, xmm2
lahf
test ah, 0x44
jp 0x10024125
ucomiss xmm6, xmm0
lahf
test ah, 0x44
jp 0x10024125
ucomiss xmm6, xmm1
lahf
test ah, 0x44
jnp 0x100244bf
ucomiss xmm6, xmm5
lahf
test ah, 0x44
jp 0x10024144
ucomiss xmm6, xmm3
lahf
test ah, 0x44
jp 0x10024144
ucomiss xmm6, xmm4
lahf
test ah, 0x44
jp 0x10024144
xor al, al
jmp 0x10024146
mov al, 1
test al, al
je 0x100244bf
mov ecx, dword [0x100c21e0]
mov eax, dword [ecx]
mov eax, dword [eax + 0x98]
call eax
movss xmm4, dword [ebp - 0x70]
mov esi, eax
movss xmm6, dword [ebp - 0x34]
movaps xmm1, xmm4
movss xmm5, dword [ebp - 0x20]
movaps xmm0, xmm6
mulss xmm0, dword [esi + 0x30]
mulss xmm1, dword [esi + 0x34]
addss xmm1, xmm0
movaps xmm0, xmm5
mulss xmm0, dword [esi + 0x38]
addss xmm0, dword [esi + 0x3c]
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
comisd xmm0, xmmword [0x10038a50]
jbe 0x100244bf
movss xmm3, dword [0x10038a68]
movaps xmm0, xmm6
mulss xmm0, dword [esi]
xorps xmm2, xmm2
mov eax, dword [0x100c2348]
divss xmm3, xmm1
mov ecx, dword [0x100c2344]
movaps xmm1, xmm4
mulss xmm6, dword [esi + 0x10]
mulss xmm1, dword [esi + 4]
mulss xmm4, dword [esi + 0x14]
addss xmm1, xmm0
movaps xmm0, xmm5
mulss xmm0, dword [esi + 8]
mulss xmm5, dword [esi + 0x18]
addss xmm4, xmm6
addss xmm0, dword [esi + 0xc]
addss xmm5, dword [esi + 0x1c]
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
cdq
sub eax, edx
sar eax, 1
mulss xmm1, xmm3
addss xmm4, xmm5
mulss xmm1, dword [0x10038a2c]
mulss xmm4, xmm3
cvtps2pd xmm1, xmm1
mulss xmm4, dword [0x10038a2c]
mulsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
addsd xmm1, qword [0x10038aa0]
cvtsi2sd xmm2, eax
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
cvtps2pd xmm1, xmm4
movss dword [ebp - 0x30], xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, ecx
mov ecx, dword [0x100c21e0]
mov eax, dword [ecx]
mulsd xmm1, xmm0
mov eax, dword [eax + 0x98]
addsd xmm1, qword [0x10038aa0]
subsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
movss dword [ebp - 0x10], xmm0
call eax
movss xmm4, dword [ebp - 0x24]
mov esi, eax
movss xmm6, dword [ebp - 0x1c]
movaps xmm1, xmm4
movss xmm5, dword [ebp - 0x18]
movaps xmm0, xmm6
mulss xmm0, dword [esi + 0x30]
mulss xmm1, dword [esi + 0x34]
addss xmm1, xmm0
movaps xmm0, xmm5
mulss xmm0, dword [esi + 0x38]
addss xmm0, dword [esi + 0x3c]
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
comisd xmm0, xmmword [0x10038a50]
jbe 0x100244bf
movss xmm3, dword [0x10038a68]
movaps xmm0, xmm6
mulss xmm0, dword [esi]
mov eax, dword [0x100c2348]
divss xmm3, xmm1
mov ecx, dword [0x100c2344]
push 0xa0ffffff
movaps xmm1, xmm4
mulss xmm6, dword [esi + 0x10]
mulss xmm1, dword [esi + 4]
mulss xmm4, dword [esi + 0x14]
addss xmm1, xmm0
movaps xmm0, xmm5
mulss xmm0, dword [esi + 8]
mulss xmm5, dword [esi + 0x18]
addss xmm4, xmm6
addss xmm0, dword [esi + 0xc]
addss xmm5, dword [esi + 0x1c]
addss xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
cdq
sub eax, edx
sar eax, 1
mulss xmm1, xmm3
addss xmm4, xmm5
mulss xmm1, dword [0x10038a2c]
mulss xmm4, xmm3
cvtps2pd xmm1, xmm1
mulss xmm4, dword [0x10038a2c]
mulsd xmm1, xmm0
movd xmm0, eax
mov eax, ecx
cvtdq2pd xmm0, xmm0
cdq
sub eax, edx
sar eax, 1
addsd xmm1, qword [0x10038aa0]
movd xmm2, eax
cvtdq2pd xmm2, xmm2
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
cvtps2pd xmm1, xmm4
movss dword [ebp - 0x1c], xmm0
movd xmm0, ecx
mov ecx, dword [0x100c2300]
cvtdq2pd xmm0, xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
mulsd xmm1, xmm0
addsd xmm1, qword [0x10038aa0]
subsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
movss dword [ebp - 0x24], xmm0
call eax
cvttss2si eax, dword [ebp - 0x24]
mov ecx, dword [0x100c2300]
mov edx, dword [ecx]
push eax
cvttss2si eax, dword [ebp - 0x1c]
push eax
cvttss2si eax, dword [ebp - 0x10]
push eax
cvttss2si eax, dword [ebp - 0x30]
push eax
mov eax, dword [edx + 0x3c]
call eax
movss xmm0, dword [ebp - 0x10]
subss xmm0, dword [0x10038ac0]
mov ecx, dword [0x100c2300]
push 0xa03c3cff
mov eax, dword [ecx]
cvttss2si esi, xmm0
mov eax, dword [eax + 0x28]
movss xmm0, dword [ebp - 0x30]
subss xmm0, dword [0x10038ac0]
mov dword [ebp - 0x10], esi
cvttss2si ebx, xmm0
call eax
mov ecx, dword [0x100c2300]
add esi, 5
mov eax, dword [ecx]
lea edi, [ebx + 5]
push esi
push edi
push dword [ebp - 0x10]
mov eax, dword [eax + 0x30]
push ebx
call eax
mov ecx, dword [0x100c2300]
push 0xa0000000
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x100c2300]
push esi
push edi
push dword [ebp - 0x10]
mov eax, dword [ecx]
push ebx
mov eax, dword [eax + 0x38]
call eax
movss xmm0, dword [ebp - 0x24]
subss xmm0, dword [0x10038ac0]
mov ecx, dword [0x100c2300]
push 0xa0ffc8a0
mov eax, dword [ecx]
cvttss2si esi, xmm0
mov eax, dword [eax + 0x28]
movss xmm0, dword [ebp - 0x1c]
subss xmm0, dword [0x10038ac0]
mov dword [ebp - 0x10], esi
cvttss2si ebx, xmm0
call eax
mov ecx, dword [0x100c2300]
lea edi, [ebx + 5]
add esi, 5
push esi
push edi
mov eax, dword [ecx]
push dword [ebp - 0x10]
push ebx
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x100c2300]
push 0xa0000000
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x100c2300]
push esi
push edi
push dword [ebp - 0x10]
mov eax, dword [ecx]
push ebx
mov eax, dword [eax + 0x38]
call eax
mov edi, dword [ebp - 0x28]
mov esi, dword [ebp - 0x2c]
mov eax, dword [0x100c21e8]
inc dword [ebp - 0x40]
mov edx, dword [ebp - 0x40]
cmp edx, dword [eax + 0x14]
jle 0x10023550
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x190]
xor ecx, ebp
call fcn.1002e1ce
lea esp, [ebp + 0x194]
pop ebp
ret
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3