Function at 0x1010c1a0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
mov eax, dword [0x10273630]
sub esp, 0x34
movss xmm0, dword [ebp + 0xc]
mov ecx, dword [eax]
push ebx
mov ebx, dword [ebp + 8]
push esi
mov eax, dword [ecx + 4]
push edi
push dword [ebp + 0x10]
mov eax, dword [eax + 0x48]
push ecx
mov ecx, dword [ecx]
movss dword [esp], xmm0
push ebx
call eax
mov ecx, dword [0x10273628]
mov al, 1
mov byte [0x10273608], 1
add ecx, 0x39
xchg byte [ecx], al
mov eax, dword [0x1027361c]
mov ecx, dword [eax + 4]
mov eax, 0xb60b60b7
imul ebx
add edx, ebx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x5a
sub ebx, eax
mov eax, dword [0x10273634]
shl ebx, 6
add ebx, dword [ecx + 0xc4]
mov eax, dword [eax + 4]
cmp byte [eax], 0
je 0x1010c226
mov eax, dword [0x10273628]
cmp byte [eax], 0
jne 0x1010c226
mov byte [eax], 1
mov esi, dword [0x10274ac0]
test ebx, ebx
je 0x1010cba5
cmp dword [ebx + 4], 0
je 0x1010cba5
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x102811d8]
cmp eax, dword [ecx + 4]
jg 0x1010cbe7
mov ecx, dword [0x10273620]
mov dword [0x102811c8], ebx
call fcn.10106700
mov eax, dword [0x10273620]
mov eax, dword [eax]
cmp byte [eax + 8], 0
je 0x1010cba5
mov eax, dword [0x10273634]
mov eax, dword [eax + 0x18]
cmp byte [eax + 0xd], 0
je 0x1010c28f
mov dword [ebx + 0x24], 0
mov ecx, dword [0x10273628]
mov ecx, dword [ecx + 0x10]
call fcn.10170180
mov eax, dword [0x1027361c]
push str.sv_cheats
mov ecx, dword [eax + 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 0x1c]
call eax
mov dword [eax + 0x2c], 1
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x102811d8]
cmp eax, dword [ecx + 4]
jg 0x1010cc1e
mov eax, dword [0x102811c8]
movss xmm0, dword [eax + 0xc]
movss dword [0x10280e7c], xmm0
movss xmm0, dword [eax + 0x10]
movss dword [0x10280e80], xmm0
movss xmm0, dword [eax + 0x14]
mov eax, dword [0x10273634]
movss dword [0x10280e84], xmm0
mov eax, dword [eax + 8]
cmp byte [eax + 2], 0
je 0x1010c398
mov eax, dword [0x10273620]
mov eax, dword [eax]
mov ecx, dword [eax]
call fcn.100087e0
test byte [eax], 1
je 0x1010c398
mov eax, dword [0x10273628]
mov eax, dword [eax + 0x10]
mov eax, dword [eax]
cmp byte [eax + 0x68], 0
jne 0x1010c354
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x102811d8]
cmp eax, dword [ecx + 4]
jg 0x1010cc54
mov eax, dword [0x102811c8]
jmp 0x1010c394
mov eax, dword [0x1027361c]
push 0
mov eax, dword [eax]
movss xmm0, dword [eax + 0x1c]
mulss xmm0, dword [0x102251f8]
mov eax, dword [eax + 0x18]
cdq
divss xmm0, dword [0x10224ff8]
cvttss2si ecx, xmm0
idiv ecx
test edx, edx
je 0x1010c38f
call fcn.10179ae0
and dword [eax + 0x24], 0xfffffffb
jmp 0x1010c398
call fcn.10179ae0
or dword [eax + 0x24], 4
mov eax, dword [0x10273634]
mov eax, dword [eax + 8]
cmp byte [eax + 3], 0
je 0x1010c4e8
mov eax, dword [0x10273628]
mov eax, dword ds:[eax + 0x10]
mov edx, dword [eax]
mov eax, dword [0x10273620]
test byte [edx + 0x64], 1
mov edi, dword [eax]
je 0x1010c4e8
mov ecx, dword [edi]
call fcn.100087e0
test byte [eax], 1
je 0x1010c4e8
mov ecx, dword [edi]
call fcn.10008ac0
sub esp, 8
movss xmm0, dword [eax + 4]
movss xmm1, dword [eax]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
call fcn.100c8f00
mov eax, dword [0x10273634]
add esp, 8
fstp dword [esp + 0x38]
mov eax, dword [eax + 8]
movd xmm0, dword [eax + 0x10]
cvtdq2ps xmm0, xmm0
comiss xmm0, dword [esp + 0x38]
ja 0x1010c4e8
push 0
call fcn.10179ae0
push 0
mov edi, eax
call fcn.10179ae0
mov ecx, dword [0x10273634]
add eax, 0x18
sub esp, 8
mov dword [esp + 0x3c], eax
mov ecx, dword [ecx + 8]
movd xmm0, dword [ecx + 0x10]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x38], xmm0
movss xmm0, dword [eax]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.100aa68f
movss xmm2, dword [0x10225244]
xorps xmm1, xmm1
fstp dword [esp + 0x40]
movss xmm0, dword [esp + 0x40]
add esp, 8
comiss xmm0, xmm1
jbe 0x1010c4a1
mov eax, dword [esp + 0x34]
movss xmm0, dword [eax]
comiss xmm0, xmm1
movss xmm0, dword [esp + 0x30]
jae 0x1010c49d
mulss xmm0, xmm2
movss dword [eax], xmm0
movss xmm0, dword [edi + 0x1c]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.100aa68f
fstp dword [esp + 0x40]
movss xmm0, dword [esp + 0x40]
xorps xmm1, xmm1
add esp, 8
comiss xmm0, xmm1
jbe 0x1010c4e8
movss xmm0, dword [edi + 0x1c]
comiss xmm0, xmm1
movss xmm0, dword [esp + 0x30]
jae 0x1010c4e3
mulss xmm0, dword [0x10225244]
movss dword [edi + 0x1c], xmm0
mov eax, dword [0x10273634]
mov eax, dword [eax + 0x14]
cmp byte [eax + 2], 0
je 0x1010c569
mov eax, dword [0x10273620]
mov edi, dword ds:[eax]
mov ecx, dword [edi]
call fcn.10035e60
cmp dword [eax], 9
je 0x1010c569
mov ecx, dword [edi]
call fcn.10035e60
cmp dword [eax], 8
je 0x1010c569
mov eax, dword [0x10273628]
mov eax, dword [eax + 0x10]
mov eax, dword [eax]
mov dword [esp + 0x38], eax
test byte [eax + 0x64], 1
jne 0x1010c54d
mov ecx, dword [edi]
call fcn.100087e0
test byte [eax], 1
je 0x1010c543
push 0
call fcn.10179ae0
or dword [eax + 0x24], 4
jmp 0x1010c569
mov eax, dword [esp + 0x38]
test byte [eax + 0x64], 1
je 0x1010c569
mov ecx, dword [edi]
call fcn.100087e0
test byte [eax], 1
jne 0x1010c569
push 0
call fcn.10179ae0
and dword [eax + 0x24], 0xfffffffb
mov eax, dword [0x10273634]
mov eax, dword [eax + 0x14]
cmp byte [eax], 0
je 0x1010c5d5
mov eax, dword [0x10273620]
mov eax, dword [eax]
mov edi, dword [eax]
mov ecx, edi
call fcn.10035e60
test byte [eax], 9
jne 0x1010c5d5
mov ecx, edi
call fcn.100087e0
mov ecx, edi
call fcn.10008ac0
movss xmm0, dword [0x10224f08]
comiss xmm0, dword [eax + 8]
jbe 0x1010c5d5
mov eax, dword fs:[0x2c]
mov ecx, dword ds:[eax + esi*4]
mov eax, dword [0x102811d8]
cmp eax, dword [ecx + 4]
jg 0x1010cc8d
mov eax, dword [0x102811c8]
and dword [eax + 0x24], 0xfffffffd
call fcn.101778e0
call fcn.10176f00
nop
call fcn.10176bc0
mov eax, dword [0x10273628]
mov esi, dword [eax + 8]
mov eax, dword [0x10273620]
mov eax, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esi + 8], ecx
mov eax, dword [0x10273634]
mov edx, dword [eax]
cmp byte [edx], 0
jne 0x1010c612
mov eax, dword [eax + 4]
cmp byte [eax], 0
je 0x1010c6f2
call fcn.101828c0
test al, al
je 0x1010c6f2
mov ecx, dword [esi + 8]
call fcn.10182b60
mov eax, dword [eax + 0x658]
test eax, eax
je 0x1010c6f2
cmp eax, 7
je 0x1010c6f2
nop
cmp eax, 8
je 0x1010c6f2
mov ecx, esi
call fcn.10111960
mov ecx, dword [esi + 8]
call fcn.10182b60
cmp dword ds:[eax + 0x658], 8
je 0x1010c6f2
mov ecx, dword [esi + 8]
call fcn.10182b60
cmp dword [eax + 0x658], 7
je 0x1010c6f2
mov eax, dword [0x10273620]
mov ecx, dword ds:[eax + 0x20]
sub ecx, dword [eax + 0x24]
je 0x1010c6f7
mov ecx, esi
mov dword [esi + 0x5c], 0
mov dword [esi + 0x60], 0
mov dword [esi + 0x64], 0xffffffff
mov dword [esi + 0x68], 0x2000
mov dword [esi + 0x6c], 0xffffffff
mov dword [esi + 0x70], 0xffffffff
mov dword [esi + 0x7c], 0
mov dword [esi + 0x78], 0
mov dword [esi + 0x74], 0
mov dword [esi + 0x80], 0xffffffff
mov byte [esi + 0x84], 0
call fcn.101129a0
nop dword [eax]
test al, al
je 0x1010c6f2
mov ecx, esi
call fcn.10112800
mov ecx, esi
call fcn.101124e0
mov eax, dword [0x10273620]
mov ecx, dword [0x10273628]
mov eax, dword [eax]
mov ecx, dword [ecx + 0x10]
mov esi, dword [eax + 4]
mov ecx, dword [ecx]
movss xmm0, dword [ecx + 0x60]
mov ecx, esi
movss dword [esp + 0x38], xmm0
call fcn.10182b60
cmp dword [eax + 0x658], 7
je 0x1010c784
mov ecx, esi
call fcn.10182b60
cmp dword [eax + 0x658], 8
je 0x1010c784
mov ecx, esi
call fcn.10031c40
mov esi, dword [0x10274ac0]
movss xmm0, dword [eax]
comiss xmm0, dword [esp + 0x38]
jb 0x1010c78a
mov eax, dword fs:[0x2c]
mov ecx, dword ds:[eax + esi*4]
mov eax, dword [0x102811d8]
cmp eax, dword [ecx + 4]
jg 0x1010ccc5
mov eax, dword [0x102811c8]
test byte [eax + 0x24], 1
je 0x1010c78a
push 0
call fcn.10179ae0
and dword [eax + 0x24], 0xfffffffe
jmp 0x1010c78a
mov esi, dword [0x10274ac0]
mov eax, dword [0x10273634]
mov eax, dword [eax + 8]
cmp byte [eax + 5], 0
je 0x1010c8e6
mov edi, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x30], edi
sub eax, 0
je 0x1010c8d5
sub eax, 1
jne 0x1010c8e6
mov eax, dword [0x10273620]
mov eax, dword [eax]
mov ecx, dword [eax]
call fcn.10008ac0
sub esp, 8
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
call fcn.100c8f00
fstp dword [esp + 0x40]
movss xmm0, dword [esp + 0x40]
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
call fcn.100aa68f
mov eax, dword fs:[0x2c]
add esp, 8
fstp dword [esp + 0x34]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x102811d8]
cmp eax, dword [ecx + 4]
jg 0x1010ccfb
mov esi, dword [0x102811c8]
sub esp, 8
movss xmm0, dword [esi + 0x1c]
movss xmm1, dword [esi + 0x18]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
movsd qword [esp], xmm0
call fcn.100c8f00
movss xmm0, dword [0x10225134]
add esp, 8
fstp dword [esp + 0x38]
comiss xmm0, dword [esp + 0x38]
jbe 0x1010c8c9
movss xmm0, dword [0x1022507c]
comiss xmm0, dword [esp + 0x34]
jbe 0x1010c8c9
test byte [esi + 0x24], 2
jne 0x1010c8c9
mov eax, edi
mov dword [esp + 0x38], 1
cdq
lea ecx, [esp + 0x38]
sub eax, edx
lea edi, [esp + 0x30]
sar eax, 1
lea edx, [esp + 0x34]
cmp eax, 1
mov dword [esp + 0x34], eax
cmovge ecx, edx
cmp dword [esp + 0x3c], eax
push ecx
cmovge edi, ecx
call fcn.10179980
mov edx, dword ds:[edi]
mov ecx, 2
mov esi, eax
call fcn.10187a40
cmp esi, eax
jmp 0x1010c8dd
push ecx
call fcn.10179980
cmp eax, edi
jl 0x1010c8df
jmp 0x1010c8e6
push ecx
call fcn.10179980
cmp eax, edi
jge 0x1010c8e6
mov byte [0x10273608], 0
mov eax, dword [0x10273628]
mov edi, dword [eax + 0xc]
mov ecx, edi
call fcn.10114040
test al, al
jne 0x1010c905
mov dword [edi + 0x14], 0
jmp 0x1010ca22
mov ecx, edi
call fcn.10113aa0
cmp byte [edi + 0x19], 0
jne 0x1010c955
mov eax, dword [0x10273628]
cmp byte [eax], 0
je 0x1010c95c
mov eax, dword [0x10273634]
mov edx, dword [edi + 4]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + edx*4 + 0x28]
cmp eax, 1
jne 0x1010c939
mov dword [edi + 0xc], 0x42b20000
jmp 0x1010c95c
cmp eax, 2
jne 0x1010c947
mov dword [edi + 0xc], 0x43340000
jmp 0x1010c95c
cmp eax, 3
jne 0x1010c95c
mov eax, dword [ecx + edx*4 + 0x4c]
mov dword [edi + 0xc], eax
jmp 0x1010c95c
mov ecx, edi
call fcn.10113e60
mov eax, dword fs:[0x2c]
mov esi, dword [0x10274ac0]
movss xmm0, dword ds:[edi + 0x10]
movss dword [esp + 0x30], xmm0
mov ecx, dword [eax + esi*4]
mov eax, dword [0x102811d8]
cmp eax, dword [ecx + 4]
jg 0x1010cd31
jmp 0x1010c994
movss xmm0, dword [esp + 0x30]
mov eax, dword [0x102811c8]
movss dword ds:[eax + 0x10], xmm0
mov eax, dword fs:[0x2c]
movss xmm0, dword [edi + 0xc]
movss dword [esp + 0x30], xmm0
mov ecx, dword [eax + esi*4]
mov eax, dword [0x102811d8]
cmp eax, dword [ecx + 4]
jg 0x1010cd67
jmp 0x1010c9d4
movss xmm0, dword [esp + 0x30]
mov eax, dword [0x102811c8]
movss dword [eax + 0xc], xmm0
cmp byte [edi + 0x19], 0
mov byte [edi + 0x20], 0
je 0x1010ca02
cmp byte [edi], 0
jne 0x1010ca28
cmp byte [edi + 1], 0
je 0x1010ca28
cmp byte [0x10273608], 0
jne 0x1010ca28
mov byte [edi + 0x20], 1
jmp 0x1010ca28
cmp byte [0x10273608], 0
je 0x1010ca28
mov eax, dword [0x10273634]
push ecx
mov esi, dword [eax + 8]
call fcn.10179980
cmp eax, dword [esi + 8]
jne 0x1010ca22
mov byte [edi + 0x20], 1
mov esi, dword [0x10274ac0]
push ecx
call fcn.10179980
cmp eax, 0xe
jle 0x1010ca3a
mov byte [0x10273608], 1
mov eax, dword [0x10273634]
mov eax, dword [eax + 0x14]
cmp byte [eax + 0x10], 0
je 0x1010caef
mov eax, dword [0x10273620]
mov ecx, dword [eax]
mov ecx, dword [ecx]
call fcn.10050240
movss xmm0, dword [0x10224fe8]
movss xmm1, dword ds:[eax]
movss xmm2, dword [eax + 4]
movss xmm3, dword [eax + 8]
mov eax, dword fs:[0x2c]
mulss xmm1, xmm0
mulss xmm2, xmm0
mov ecx, dword [eax + esi*4]
mov eax, dword [0x102811d8]
mulss xmm3, xmm0
movss dword [esp + 0x30], xmm1
movss dword [esp + 0x34], xmm2
movss dword [esp + 0x38], xmm3
cmp eax, dword [ecx + 4]
jg 0x1010cda5
jmp 0x1010cac0
movss xmm3, dword [esp + 0x38]
movss xmm2, dword [esp + 0x34]
movss xmm1, dword [esp + 0x30]
mov eax, dword [0x102811c8]
movss xmm0, dword [eax + 0xc]
subss xmm0, xmm1
movss dword [eax + 0xc], xmm0
movss xmm0, dword [eax + 0x10]
subss xmm0, xmm2
movss dword [eax + 0x10], xmm0
movss xmm0, dword [eax + 0x14]
subss xmm0, xmm3
movss dword [eax + 0x14], xmm0
call fcn.10177400
push 1
call fcn.101145a0
mov eax, dword [0x10280da8]
test eax, eax
jne 0x1010cb1c
push str.8B_44_24_04_85_C0_75_0B
push str.client.dll
call fcn.10187b20
mov dword [0x10280da8], eax
test eax, eax
je 0x1010cb25
push 0
call eax
add esp, 4
mov eax, dword [0x10280dac]
test eax, eax
jne 0x1010cb52
push str.89_35_____________DB_86_____________83_C4_04
push str.client.dll
call fcn.10187b20
mov dword [0x10280dac], eax
test eax, eax
je 0x1010cb58
mov eax, dword [eax + 2]
mov dword [0x10280dac], eax
test eax, eax
je 0x1010cb58
mov dword [eax], 0
mov eax, dword [0x1027361c]
push 0
mov ecx, dword [eax + 0x48]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
mov eax, dword [0x10273620]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [eax + 0xd60], 0
mov eax, dword [0x10273620]
mov ecx, dword [eax]
mov ecx, dword [ecx]
call fcn.10008940
lea ecx, [ebx + 0xc]
inc dword [eax]
call fcn.10185ae0
mov ecx, dword [0x10273628]
mov ecx, dword ds:[ecx + 0x28]
call fcn.10104b00
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x102811d4]
cmp eax, dword [ecx + 4]
jg 0x1010cddb
nop
test ebx, ebx
je 0x1010cbca
mov dword [0x102811d0], ebx
mov al, byte [0x10273608]
xor cl, cl
mov byte [0x1022dbc0], al
mov eax, dword [0x10273628]
add eax, 0x39
xchg byte [eax], cl
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x102811d8
call fcn.10088d85
add esp, 4
cmp dword [0x102811d8], 0xffffffff
jne 0x1010c258
push 0x102811d8
mov dword [0x102811c8], ebx
call fcn.10088d34
add esp, 4
jmp 0x1010c258
push 0x102811d8
call fcn.10088d85
add esp, 4
cmp dword [0x102811d8], 0xffffffff
jne 0x1010c2d2
push 0x102811d8
mov dword [0x102811c8], 0
call fcn.10088d34
add esp, 4
jmp 0x1010c2d2
push 0x102811d8
call fcn.10088d85
add esp, 4
cmp dword [0x102811d8], 0xffffffff
jne 0x1010c34d
push 0x102811d8
mov dword [0x102811c8], 0
nop dword [eax]
call fcn.10088d34
add esp, 4
jmp 0x1010c34d
push 0x102811d8
call fcn.10088d85
add esp, 4
cmp dword [0x102811d8], 0xffffffff
jne 0x1010c5cc
push 0x102811d8
mov dword [0x102811c8], 0
call fcn.10088d34
add esp, 4
jmp 0x1010c5cc
push 0x102811d8
call fcn.10088d85
add esp, 4
cmp dword [0x102811d8], 0xffffffff
jne 0x1010c76c
push 0x102811d8
mov dword [0x102811c8], 0
call fcn.10088d34
add esp, 4
jmp 0x1010c76c
push 0x102811d8
call fcn.10088d85
add esp, 4
cmp dword [0x102811d8], 0xffffffff
jne 0x1010c82c
push 0x102811d8
mov dword [0x102811c8], 0
call fcn.10088d34
add esp, 4
jmp 0x1010c82c
push 0x102811d8
call fcn.10088d85
add esp, 4
cmp dword [0x102811d8], 0xffffffff
jne 0x1010c98e
push 0x102811d8
mov dword [0x102811c8], 0
call fcn.10088d34
add esp, 4
jmp 0x1010c98e
push 0x102811d8
call fcn.10088d85
add esp, 4
cmp dword [0x102811d8], 0xffffffff
jne 0x1010c9ce
push 0x102811d8
mov dword [0x102811c8], 0
call fcn.10088d34
add esp, 4
jmp 0x1010c9ce
push 0x102811d8
call fcn.10088d85
add esp, 4
cmp dword [0x102811d8], 0xffffffff
jne 0x1010caae
push 0x102811d8
mov dword [0x102811c8], 0
call fcn.10088d34
add esp, 4
jmp 0x1010caae
push 0x102811d4
call fcn.10088d85
add esp, 4
cmp dword [0x102811d4], 0xffffffff
jne 0x1010cbbf
push 0x102811d4
mov dword [0x102811d0], ebx
call fcn.10088d34
add esp, 4
jmp 0x1010cbbf