Function at 0x10042d30
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xfc
mov eax, dword [0x1008f080]
xor eax, esp
mov dword [esp + 0xf8], eax
mov edx, dword [0x100b8544]
mov eax, dword [0x100b8548]
push ebx
push esi
add eax, edx
mov dword [esp + 0x48], edx
mov dword [esp + 0x50], eax
push edi
mov edi, ecx
mov dword [esp + 0x24], edi
cmp edx, eax
je 0x100438e4
mov ecx, dword [0x100b8540]
mov eax, dword [0x100b853c]
dec ecx
and ecx, edx
push str.bhit_helmet
mov eax, dword [eax + ecx*4]
movss xmm0, dword [eax]
mov ecx, dword [eax + 0xc]
mov ebx, dword [eax + 0x10]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [eax + 4]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [eax + 8]
mov eax, dword [eax + 0x14]
push ecx
movss dword [esp + 0x1c], xmm0
mov dword [edi], ecx
mov dword [edi + 4], eax
call fcn.10048790
add esp, 8
test eax, eax
jne 0x10042e60
push str.bhit_kevlar
push dword [edi]
call fcn.10048790
add esp, 8
test eax, eax
jne 0x10042e60
push str.bhit_flesh
push dword [edi]
call fcn.10048790
add esp, 8
test eax, eax
jne 0x10042e60
push str.headshot
push dword [edi]
call fcn.10048790
add esp, 8
test eax, eax
jne 0x10042e60
push str.player
push dword [edi]
call fcn.10048790
add esp, 8
test eax, eax
je 0x10042e1c
mov edx, 2
jmp 0x10042e65
mov eax, dword [edi + 4]
dec eax
cmp eax, 0x1f
ja 0x10042e59
push str.weapons
push dword [edi]
call fcn.10048790
add esp, 8
test eax, eax
je 0x10042e3f
mov edx, 4
jmp 0x10042e65
push str.items
push dword [edi]
call fcn.10048790
add esp, 8
test eax, eax
je 0x10042e59
mov edx, 8
jmp 0x10042e65
mov edx, 1
jmp 0x10042e65
mov edx, 0x10
mov esi, dword [edi + 4]
mov dword [edi + 8], edx
cmp byte [0x1009118c], 0
lea edi, [esi - 1]
jne 0x10042e93
cmp edi, 0x1f
ja 0x10042e93
mov eax, dword [0x100b863c]
imul ecx, esi, 0xb98
cmp eax, dword [ecx + 0x100a06a4]
je 0x100438cd
test dl, 2
je 0x10042ed7
cmp edi, 0x1f
ja 0x10042ebd
movss xmm1, dword [esp + 0x14]
imul eax, esi, 0xb98
movss xmm0, dword [eax + 0x100a11e8]
addss xmm1, xmm0
movss dword [esp + 0x14], xmm1
jmp 0x10042edd
movss xmm1, dword [esp + 0x14]
movss xmm0, dword [0x10082ca4]
addss xmm1, xmm0
movss dword [esp + 0x14], xmm1
jmp 0x10042edd
movss xmm1, dword [esp + 0x14]
mov eax, dword [0x10091d38]
lea ecx, [esp + 0xec]
xorps xmm0, xmm0
movss dword [esp + 0x90], xmm1
movlpd qword [esp + 0xec], xmm0
movss xmm0, dword [esp + 0x2c]
movss dword [esp + 0x88], xmm0
movss xmm0, dword [esp + 0x30]
push ecx
lea ecx, [esp + 0x8c]
movss dword [esp + 0x90], xmm0
mov eax, dword [eax + 0x30]
push ecx
call eax
movss xmm1, dword [esp + 0xf4]
add esp, 8
movss xmm0, dword [0x10082b80]
comiss xmm0, xmm1
jbe 0x100438cd
movss xmm2, dword [esp + 0xf0]
comiss xmm0, xmm2
jbe 0x100438cd
movss xmm0, dword [0x10082c9c]
comiss xmm1, xmm0
jbe 0x100438cd
comiss xmm2, xmm0
jbe 0x100438cd
mov edi, dword [esp + 0x24]
test eax, eax
jne 0x100438d1
mov eax, dword [0x10091e6c]
cdq
sub eax, edx
mov esi, dword [0x10091220]
sar eax, 1
add esi, ebx
movd xmm0, eax
mov eax, dword [0x10091e70]
cvtdq2ps xmm0, xmm0
cdq
sub eax, edx
sar eax, 1
mulss xmm1, xmm0
addss xmm1, xmm0
movd xmm0, eax
mov eax, dword [edi + 8]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xec], xmm1
mulss xmm2, xmm0
subss xmm0, xmm2
movss dword [esp + 0xf0], xmm0
test al, 2
je 0x1004346e
xorps xmm0, xmm0
movss dword [esp + 0x40], xmm0
movss dword [esp + 0x44], xmm0
movss dword [esp + 0x48], xmm0
movss dword [esp + 0x10], xmm0
call fcn.1006c6f0
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x50], xmm0
xorps xmm0, xmm0
call fcn.1006d400
cvtsd2ss xmm0, xmm0
movss xmm1, dword [esp + 0x10]
movss dword [esp + 0x34], xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
shr esi, 0x1f
addsd xmm0, qword [esi*8 + 0x10083180]
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x3c], xmm0
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
shr ebx, 0x1f
addsd xmm0, qword [ebx*8 + 0x10083180]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x38], xmm0
nop word [eax + eax]
cvtps2pd xmm0, xmm1
call fcn.1006d400
movss xmm1, dword [esp + 0x50]
cvtsd2ss xmm0, xmm0
mulss xmm1, xmm0
movss dword [esp + 0x28], xmm0
movss dword [esp + 0x18], xmm1
movss xmm1, dword [esp + 0x10]
cvtps2pd xmm0, xmm1
call fcn.1006c6f0
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [esp + 0x34]
mulss xmm0, dword [esp + 0x28]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [0x10091224]
movss dword [esp + 0x28], xmm0
call esi
movss xmm2, dword [esp + 0x38]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10083180]
cvtpd2ps xmm1, xmm0
ucomiss xmm1, xmm2
lahf
test ah, 0x44
jp 0x100430eb
movss xmm0, dword [esp + 0x28]
jmp 0x1004312f
movss xmm0, dword [esp + 0x3c]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x100430ff
xorps xmm0, xmm0
jmp 0x1004312f
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x10043110
movss xmm0, dword [esp + 0x28]
jmp 0x1004312f
subss xmm0, xmm2
subss xmm1, xmm2
divss xmm1, xmm0
xorps xmm0, xmm0
subss xmm0, dword [esp + 0x28]
mulss xmm0, xmm1
addss xmm0, dword [esp + 0x28]
movss xmm1, dword [esp + 0x18]
lea eax, [esp + 0xbc]
mulss xmm1, xmm0
mov ecx, edi
push eax
addss xmm1, dword [esp + 0x30]
movss dword [esp + 0x1c], xmm1
movss xmm1, dword [esp + 0x20]
mulss xmm1, xmm0
addss xmm1, dword [esp + 0x34]
movss dword [esp + 0x20], xmm1
movss xmm1, dword [esp + 0x24]
mulss xmm1, xmm0
addss xmm1, dword [esp + 0x18]
movss dword [esp + 0x24], xmm1
call fcn.10042c30
call esi
movss xmm2, dword [esp + 0x38]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10083180]
cvtpd2ps xmm1, xmm0
ucomiss xmm1, xmm2
lahf
test ah, 0x44
jp 0x100431b3
movss xmm0, dword [0x10082b80]
jmp 0x100431f2
movss xmm0, dword [esp + 0x3c]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x100431c7
xorps xmm0, xmm0
jmp 0x100431f2
ucomiss xmm0, xmm2
lahf
test ah, 0x44
jp 0x100431da
movss xmm0, dword [0x10082b80]
jmp 0x100431f2
subss xmm0, xmm2
subss xmm1, xmm2
divss xmm1, xmm0
movss xmm0, dword [0x10082b80]
subss xmm0, xmm1
mov eax, dword [0x10091d38]
lea ecx, [esp + 0xf4]
movss dword [esp + 0xc8], xmm0
xorps xmm0, xmm0
movlpd qword [esp + 0xf4], xmm0
movlpd qword [esp + 0xfc], xmm0
movss xmm0, dword [esp + 0x18]
movss dword [esp + 0x98], xmm0
movss xmm0, dword [esp + 0x1c]
movss dword [esp + 0x9c], xmm0
movss xmm0, dword [esp + 0x20]
push ecx
lea ecx, [esp + 0x9c]
movss dword [esp + 0xa4], xmm0
mov eax, dword [eax + 0x30]
push ecx
call eax
movss xmm2, dword [esp + 0xfc]
add esp, 8
movss xmm0, dword [0x10082b80]
comiss xmm0, xmm2
jbe 0x10043420
movss xmm1, dword [esp + 0xf8]
comiss xmm0, xmm1
jbe 0x10043420
movss xmm0, dword [0x10082c9c]
comiss xmm2, xmm0
jbe 0x10043420
comiss xmm1, xmm0
jbe 0x10043420
test eax, eax
jne 0x10043420
mov eax, dword [0x10091e6c]
lea ecx, [esp + 0xfc]
cdq
sub eax, edx
sar eax, 1
push ecx
lea ecx, [esp + 0xac]
push ecx
movd xmm0, eax
mov eax, dword [0x10091e70]
cvtdq2ps xmm0, xmm0
cdq
sub eax, edx
sar eax, 1
mulss xmm2, xmm0
addss xmm2, xmm0
movd xmm0, eax
mov eax, dword [0x10091d38]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xfc], xmm2
mulss xmm1, xmm0
subss xmm0, xmm1
movss dword [esp + 0x100], xmm0
movss xmm0, dword [esp + 0x48]
movss dword [esp + 0xb0], xmm0
movss xmm0, dword [esp + 0x4c]
movss dword [esp + 0xb4], xmm0
movss xmm0, dword [esp + 0x50]
movss dword [esp + 0xb8], xmm0
mov eax, dword [eax + 0x30]
call eax
movss xmm1, dword [esp + 0x104]
add esp, 8
movss xmm0, dword [0x10082b80]
comiss xmm0, xmm1
jbe 0x10043420
movss xmm2, dword [esp + 0x100]
comiss xmm0, xmm2
jbe 0x10043420
movss xmm0, dword [0x10082c9c]
comiss xmm1, xmm0
jbe 0x10043420
comiss xmm2, xmm0
jbe 0x10043420
test eax, eax
jne 0x10043420
mov eax, dword [0x10091e6c]
cdq
sub eax, edx
sar eax, 1
movd xmm0, eax
mov eax, dword [0x10091e70]
cdq
sub eax, edx
sar eax, 1
cvtdq2ps xmm0, xmm0
movd xmm3, eax
cvtdq2ps xmm3, xmm3
mulss xmm1, xmm0
mulss xmm2, xmm3
addss xmm1, xmm0
movss xmm0, dword [esp + 0x10]
comiss xmm0, dword [0x10082b18]
subss xmm3, xmm2
movss dword [esp + 0xfc], xmm1
movss dword [esp + 0x100], xmm3
jbe 0x10043420
movss xmm0, dword [esp + 0xf4]
lea eax, [esp + 0xbc]
push ecx
mov dword [esp], 0x3f800000
push eax
lea eax, [esp + 0x60]
movss dword [esp + 0x60], xmm0
movss xmm0, dword [esp + 0x100]
push eax
lea eax, [esp + 0x6c]
movss dword [esp + 0x68], xmm0
push eax
movss dword [esp + 0x70], xmm1
movss dword [esp + 0x74], xmm3
call fcn.1000bd60
movss xmm0, dword [esp + 0x18]
movss xmm1, dword [esp + 0x10]
addss xmm1, dword [0x10082b48]
movss dword [esp + 0x40], xmm0
movss xmm0, dword [esp + 0x1c]
movss dword [esp + 0x44], xmm0
movss xmm0, dword [esp + 0x20]
movss dword [esp + 0x48], xmm0
movss xmm0, dword [0x10082c10]
comiss xmm0, xmm1
movss dword [esp + 0x10], xmm1
jae 0x10043060
jmp 0x100438d1
test al, 0x1c
je 0x100434f9
lea eax, [esp + 0xdc]
mov ecx, edi
push eax
call fcn.10042c30
movss xmm1, dword [esp + 0xec]
lea eax, [esp + 0xdc]
subss xmm1, dword [0x10082bf8]
movss xmm2, dword [esp + 0xf0]
subss xmm2, dword [0x10082bf8]
push ecx
mov dword [esp], 0
movaps xmm0, xmm1
movss dword [esp + 0x74], xmm1
addss xmm0, dword [0x10082c14]
push eax
lea eax, [esp + 0x70]
movss dword [esp + 0x7c], xmm2
push eax
lea eax, [esp + 0x7c]
movss dword [esp + 0x74], xmm0
movaps xmm0, xmm2
addss xmm0, dword [0x10082c14]
push eax
movss dword [esp + 0x7c], xmm0
call fcn.1000bfa0
jmp 0x100438d1
test al, 1
je 0x100438d1
movss xmm1, dword [esp + 0x30]
subss xmm1, dword [0x100b8690]
movss xmm2, dword [esp + 0x2c]
subss xmm2, dword [0x100b868c]
movss xmm0, dword [esp + 0x14]
subss xmm0, dword [0x100b8694]
mulss xmm1, xmm1
mulss xmm2, xmm2
mulss xmm0, xmm0
addss xmm1, xmm2
addss xmm1, xmm0
cvtps2pd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x10043551
sqrtsd xmm0, xmm0
jmp 0x10043556
call fcn.1006d5d0
movss xmm1, dword [0x10082c88]
lea eax, [esp + 0xcc]
cvtsd2ss xmm0, xmm0
push eax
mov ecx, edi
divss xmm1, xmm0
movss dword [esp + 0x14], xmm1
call fcn.10042c30
movd xmm0, esi
cvtdq2pd xmm0, xmm0
shr esi, 0x1f
addsd xmm0, qword [esi*8 + 0x10083180]
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x14], xmm0
call esi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10083180]
cvtpd2ps xmm2, xmm0
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
shr ebx, 0x1f
addsd xmm0, qword [ebx*8 + 0x10083180]
cvtpd2ps xmm1, xmm0
ucomiss xmm2, xmm1
movss dword [esp + 0x20], xmm1
lahf
test ah, 0x44
jp 0x100435ea
movss xmm0, dword [0x10082b80]
jmp 0x10043629
movss xmm0, dword [esp + 0x14]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x100435fe
xorps xmm0, xmm0
jmp 0x10043629
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10043611
movss xmm0, dword [0x10082b80]
jmp 0x10043629
subss xmm0, xmm1
subss xmm2, xmm1
divss xmm2, xmm0
movss xmm0, dword [0x10082b80]
subss xmm0, xmm2
movss dword [esp + 0xd8], xmm0
call esi
movss xmm1, dword [esp + 0x20]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10083180]
cvtpd2ps xmm2, xmm0
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x10043669
movss xmm0, dword [esp + 0x10]
movss dword [esp + 0x18], xmm0
jmp 0x100436bf
movss xmm0, dword [esp + 0x14]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x10043683
xorps xmm0, xmm0
movss dword [esp + 0x18], xmm0
jmp 0x100436bf
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1004369a
movss xmm0, dword [esp + 0x10]
movss dword [esp + 0x18], xmm0
jmp 0x100436bf
subss xmm2, xmm1
subss xmm0, xmm1
divss xmm2, xmm0
xorps xmm0, xmm0
subss xmm0, dword [esp + 0x10]
mulss xmm2, xmm0
addss xmm2, dword [esp + 0x10]
movss dword [esp + 0x18], xmm2
call esi
movss xmm1, dword [esp + 0x20]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10083180]
cvtpd2ps xmm2, xmm0
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x100436f6
movss xmm0, dword [esp + 0x10]
movss dword [esp + 0x1c], xmm0
jmp 0x1004374c
movss xmm0, dword [esp + 0x14]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x10043710
xorps xmm0, xmm0
movss dword [esp + 0x1c], xmm0
jmp 0x1004374c
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10043727
movss xmm0, dword [esp + 0x10]
movss dword [esp + 0x1c], xmm0
jmp 0x1004374c
subss xmm2, xmm1
subss xmm0, xmm1
divss xmm2, xmm0
xorps xmm0, xmm0
subss xmm0, dword [esp + 0x10]
mulss xmm2, xmm0
addss xmm2, dword [esp + 0x10]
movss dword [esp + 0x1c], xmm2
call esi
movss xmm1, dword [esp + 0x20]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10083180]
cvtpd2ps xmm2, xmm0
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x1004377d
movss xmm2, dword [esp + 0x10]
jmp 0x100437c1
movss xmm0, dword [esp + 0x14]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x10043791
xorps xmm2, xmm2
jmp 0x100437c1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100437a2
movss xmm2, dword [esp + 0x10]
jmp 0x100437c1
subss xmm2, xmm1
subss xmm0, xmm1
divss xmm2, xmm0
xorps xmm0, xmm0
subss xmm0, dword [esp + 0x10]
mulss xmm2, xmm0
addss xmm2, dword [esp + 0x10]
mulss xmm2, dword [0x10082b5c]
movss xmm0, dword [esp + 0xf0]
subss xmm0, xmm2
movss dword [esp + 0x34], xmm0
call esi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x10083180]
cvtpd2ps xmm2, xmm0
movss xmm0, dword [esp + 0x20]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x1004380d
movss xmm1, dword [esp + 0x10]
jmp 0x10043853
movss xmm1, dword [esp + 0x14]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x10043821
xorps xmm1, xmm1
jmp 0x10043853
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x10043832
movss xmm1, dword [esp + 0x10]
jmp 0x10043853
subss xmm1, xmm0
subss xmm2, xmm0
xorps xmm0, xmm0
divss xmm2, xmm1
movss xmm1, dword [esp + 0x10]
subss xmm0, xmm1
mulss xmm2, xmm0
addss xmm1, xmm2
mulss xmm1, dword [0x10082b5c]
lea eax, [esp + 0xcc]
push ecx
movss xmm0, dword [esp + 0xf0]
movss xmm2, dword [esp + 0x38]
subss xmm0, xmm1
mov dword [esp], 0
movss xmm1, dword [esp + 0x20]
push eax
lea eax, [esp + 0x80]
movss dword [esp + 0x8c], xmm2
push eax
addss xmm1, xmm0
movss dword [esp + 0x8c], xmm0
lea eax, [esp + 0x8c]
push eax
movss dword [esp + 0x88], xmm1
movss xmm1, dword [esp + 0x28]
addss xmm1, xmm2
movss dword [esp + 0x8c], xmm1
call fcn.1000bfa0
jmp 0x100438d1
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x4c]
inc edx
mov dword [esp + 0x4c], edx
cmp edx, dword [esp + 0x54]
jne 0x10042d70
mov ecx, dword [esp + 0x104]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10046e53
mov esp, ebp
pop ebp
ret