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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x38
mov eax, dword [0x1008f080]
xor eax, esp
mov dword [esp + 0x34], eax
mov ecx, dword [0x1009213c]
push esi
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
test al, al
je 0x10044609
cmp dword [0x100b8548], 0
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
je 0x100441f6
mov edx, dword [0x100b8544]
mov ecx, dword [0x100b8540]
mov eax, dword [0x100b853c]
dec ecx
and ecx, edx
mov esi, dword [eax + ecx*4]
call edi
sub eax, dword [esi + 0x10]
cmp eax, dword [0x10091220]
jb 0x100441f6
mov eax, dword [0x100b8548]
sub eax, 1
mov dword [0x100b8548], eax
je 0x100441ec
mov edx, dword [0x100b8544]
inc edx
mov dword [0x100b8544], edx
jmp 0x100441b0
mov dword [0x100b8544], 0
mov ecx, 0x1008ff2c
call fcn.10042a10
cmp byte [0x1009118a], 0
je 0x1004429e
cmp byte [0x1009118b], 0
je 0x1004429e
mov esi, 1
mov dword [esp + 0x34], esi
call dword [0x10091c80]
cmp eax, esi
jl 0x1004429e
mov edi, 0x100a1238
mov ecx, edi
mov dword [0x1008ff08], ecx
test edi, edi
je 0x10044289
cmp byte [0x1009118c], 0
jne 0x10044252
mov eax, dword [edi + 4]
cmp eax, dword [0x100b863c]
je 0x10044289
cmp byte [edi + 0x10], 0
jne 0x10044574
mov esi, dword [0x10091200]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, dword [0x1008ff08]
sub eax, dword [ecx + 0xb64]
cmp eax, esi
jae 0x10044285
movzx eax, byte [0x10091204]
push eax
call fcn.10041d80
mov esi, dword [esp + 0x34]
inc esi
add edi, 0xb98
mov dword [esp + 0x34], esi
call dword [0x10091c80]
cmp esi, eax
jle 0x10044232
cmp byte [0x1009121c], 0
je 0x100442b1
mov ecx, 0x1008ff34
call fcn.10042d30
lea eax, [esp + 0x10]
push eax
call fcn.10043900
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [0x1008ff40], ecx
mov dword [0x1008ff44], eax
call fcn.10043bb0
cmp byte [0x100b8654], 0
jne 0x1004447a
mov ecx, dword [0x10092198]
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
test al, al
jne 0x1004447a
xorps xmm0, xmm0
cmp byte [0x10091360], al
je 0x100443c2
cmp byte [0x10091300], al
je 0x100443c2
mov ecx, dword [0x100b85c4]
shl ecx, 4
add ecx, dword [0x100b85c4]
cmp byte [ecx*4 + 0x1009137c], al
je 0x100443c2
mov esi, dword [0x100b8648]
test esi, esi
jle 0x100443c2
movss xmm1, dword [0x100b8564]
comiss xmm1, xmm0
jbe 0x100443c2
mulss xmm1, dword [0x10082b34]
lea eax, [esp + 0x10]
push ecx
movups xmm0, xmmword [0x10091304]
push eax
mulss xmm1, dword [0x10082b5c]
movups xmmword [esp + 0x18], xmm0
cvtps2pd xmm0, xmm1
call fcn.1006d6d0
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x3c], xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, esi
mulss xmm0, dword [0x10082b34]
mulss xmm0, dword [0x10082b5c]
cvtps2pd xmm0, xmm0
call fcn.1006d6d0
movss xmm2, dword [esp + 0x3c]
cvtsd2ss xmm0, xmm0
push 0x1008ff40
divss xmm2, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, dword [0x10091e6c]
mulss xmm2, xmm0
call fcn.1000be60
cmp byte [0x10091314], 0
je 0x100443f7
movss xmm2, dword [0x100b8610]
lea eax, [esp + 0x10]
movups xmm0, xmmword [0x10091318]
push ecx
mulss xmm2, dword [0x10082c84]
push eax
push 0x1008ff40
movups xmmword [esp + 0x1c], xmm0
call fcn.1000be60
cmp byte [0x10091328], 0
je 0x1004447a
movss xmm3, dword [0x1008ff40]
lea eax, [esp + 0x20]
subss xmm3, dword [0x10082b80]
movups xmm0, xmmword [0x1009132c]
push ecx
movss xmm2, dword [0x1008ff44]
subss xmm2, dword [0x10082b80]
movups xmmword [esp + 0x24], xmm0
mov dword [esp], 0
movaps xmm0, xmm3
movss dword [esp + 0x14], xmm3
addss xmm0, dword [0x10082be0]
push eax
lea eax, [esp + 0x3c]
movss dword [esp + 0x1c], xmm2
push eax
lea eax, [esp + 0x1c]
movss dword [esp + 0x40], xmm0
movaps xmm0, xmm2
addss xmm0, dword [0x10082be0]
push eax
movss dword [esp + 0x48], xmm0
call fcn.1000c120
cmp byte [0x10091208], 0
je 0x10044604
cmp dword [0x100b8630], 1
jne 0x10044604
mov eax, dword [0x10091d38]
lea ecx, [esp + 0x34]
xorps xmm0, xmm0
movlpd qword [esp + 0x34], xmm0
movss xmm0, dword [0x100b8624]
movss dword [esp + 0x10], xmm0
movss xmm0, dword [0x100b8628]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [0x100b862c]
push ecx
lea ecx, [esp + 0x14]
movss dword [esp + 0x1c], xmm0
mov eax, dword [eax + 0x30]
push ecx
call eax
movss xmm1, dword [esp + 0x3c]
add esp, 8
movss xmm0, dword [0x10082b80]
comiss xmm0, xmm1
jbe 0x10044604
movss xmm2, dword [esp + 0x38]
comiss xmm0, xmm2
jbe 0x10044604
movss xmm0, dword [0x10082c9c]
comiss xmm1, xmm0
jbe 0x10044604
comiss xmm2, xmm0
jbe 0x10044604
test eax, eax
jne 0x10044604
mov eax, dword [0x10091e6c]
cdq
sub eax, edx
mov ecx, dword [0x1009124c]
sar eax, 1
movd xmm0, eax
mov eax, dword [0x10091e70]
cdq
sub eax, edx
sar eax, 1
cvtdq2ps xmm0, xmm0
movd xmm3, eax
mulss xmm1, xmm0
cvtdq2ps xmm3, xmm3
addss xmm1, xmm0
mulss xmm2, xmm3
movss dword [esp + 0x34], xmm1
subss xmm3, xmm2
movss dword [esp + 0x38], xmm3
cmp ecx, 1
jne 0x100445b4
lea eax, [ecx + 0x19]
jmp 0x100445c4
cmp byte [0x100b8654], 0
je 0x1004459e
call dword [0x10091cbc]
cmp dword [eax + 0x3b4], 4
jne 0x10044598
cmp dword [eax + 0x3b8], esi
je 0x10044289
mov ecx, dword [0x1008ff08]
cmp byte [ecx + 0x11], 0
jne 0x10044289
push 0
call fcn.10041d80
jmp 0x10044289
cmp ecx, 2
mov eax, 0x19
mov edx, 0x1c
cmove eax, edx
movups xmm0, xmmword [0x1009120c]
push str.Bomb
push eax
push ecx
movups xmmword [esp + 0x2c], xmm0
lea eax, [esp + 0x2c]
movss xmm0, dword [0x10091248]
movss dword [esp], xmm0
push eax
sub esp, 8
movss dword [esp + 4], xmm3
movss dword [esp], xmm1
push 0x10092145
call fcn.1000af50
add esp, 0x1c
call fcn.10043ef0
mov ecx, dword [esp + 0x3c]
pop edi
pop esi
xor ecx, esp
call fcn.10046e53
mov esp, ebp
pop ebp
ret