Function at 0x4174f7
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xe4
mov eax, dword [0x506b8c]
mov ecx, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [eax + 0x48], ecx
mov dword [ebp + 8], edi
call edi
mov ecx, eax
xor ebx, ebx
sub ecx, dword [0x506be4]
mov dword [0x506be4], eax
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
shr ecx, 0x1f
addsd xmm0, qword [ecx*8 + 0x4cebc0]
mov ecx, dword [0x506bcc]
mulsd xmm0, qword [0x4ceb48]
cvtpd2ps xmm1, xmm0
movd xmm0, ecx
addss xmm1, dword [0x506bdc]
cvtdq2ps xmm0, xmm0
movss dword [0x506bdc], xmm1
movaps xmm2, xmm1
comiss xmm1, xmm0
jbe 0x4175b3
push 2
pop esi
lea eax, [ecx - 2]
cmp eax, esi
jle 0x417594
push esi
call fcn.00416aad
pop ecx
mov ecx, dword [0x506bcc]
inc esi
lea eax, [ecx - 2]
cmp esi, eax
jl 0x417577
movss xmm1, dword [0x506bdc]
movd xmm0, ecx
mov eax, ebx
cvtdq2ps xmm0, xmm0
mov dword [0x4f7d74], eax
subss xmm1, xmm0
movss dword [0x506bdc], xmm1
movaps xmm2, xmm1
jmp 0x4175b8
mov eax, dword [0x4f7d74]
xor esi, esi
inc esi
test eax, eax
jne 0x4175ff
comiss xmm2, dword [0x4ceb78]
jbe 0x4175ff
push ebx
mov dword [0x4f7d74], esi
call fcn.00416aad
push esi
call fcn.00416aad
mov eax, dword [0x506bcc]
add eax, 0xfffffffe
push eax
call fcn.00416aad
mov eax, dword [0x506bcc]
dec eax
push eax
call fcn.00416aad
movss xmm1, dword [0x506bdc]
add esp, 0x10
lea eax, [ebp - 0x24]
push eax
push ecx
movss dword [esp], xmm1
push 0x506bc4
call fcn.00464fbb
mov edx, dword [0x506bb0]
add esp, 0xc
mov esi, 0x506bb0
add esi, 0xfffffffc
lea ecx, [edx]
mov edx, dword [esi]
mov eax, dword [edx + 0x68]
mov dword [ecx + 0x68], eax
mov eax, dword [edx + 0x6c]
mov dword [ecx + 0x6c], eax
mov eax, dword [edx + 0x70]
mov dword [ecx + 0x70], eax
cmp esi, 0x506b94
jg 0x417621
movss xmm0, dword [ebp - 0x18]
mov eax, dword [0x506b94]
movss xmm2, dword [0x4ceb94]
mulss xmm0, xmm2
addss xmm0, dword [eax + 0x68]
movss dword [eax + 0x68], xmm0
movss xmm0, dword [ebp - 0x14]
mulss xmm0, xmm2
addss xmm0, dword [eax + 0x6c]
movss dword [eax + 0x6c], xmm0
movss xmm1, dword [ebp - 0x14]
mulss xmm1, dword [ebp - 0x18]
movss xmm0, dword [eax + 0x70]
mulss xmm1, xmm2
subss xmm0, xmm1
movss dword [eax + 0x70], xmm0
mov eax, dword [0x506b8c]
movss xmm0, dword [ebp - 0x24]
movss dword [eax + 0x30], xmm0
movss xmm0, dword [ebp - 0x20]
movss dword [eax + 0x34], xmm0
movss xmm0, dword [ebp - 0x1c]
movss dword [eax + 0x38], xmm0
movss xmm0, dword [0x506bdc]
cvtps2pd xmm0, xmm0
subsd xmm0, qword [0x4ceb60]
mulsd xmm0, qword [0x4ceb70]
movsd qword [ebp - 0xc], xmm0
call fcn.004a46a0
mulsd xmm0, qword [0x4cdcb0]
mov esi, dword [0x506bc0]
cvtsd2ss xmm0, xmm0
movss dword [esi + 0x5c], xmm0
movsd xmm0, qword [ebp - 0xc]
call fcn.004a5780
mulsd xmm0, qword [0x4ceb80]
xorps xmm1, xmm1
addsd xmm0, qword [0x4ceb88]
cvtsd2ss xmm1, xmm0
movsd xmm0, qword [ebp - 0xc]
mulsd xmm0, qword [0x4ceb68]
movss dword [esi + 0x60], xmm1
call fcn.004a5780
mulsd xmm0, qword [0x4cdcb0]
cvtsd2ss xmm0, xmm0
movss dword [esi + 0x64], xmm0
movss xmm0, dword [esi + 0x6c]
addss xmm0, dword [0x4ceb54]
movss dword [esi + 0x6c], xmm0
movss xmm0, dword [0x506bdc]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x4ceb70]
movsd qword [ebp - 0xc], xmm0
call fcn.004a46a0
mulsd xmm0, qword [0x4cdcb0]
mov esi, dword [0x506bb4]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x10], xmm0
movss dword [esi + 0x5c], xmm0
movsd xmm0, qword [ebp - 0xc]
call fcn.004a5780
mulsd xmm0, qword [0x4ceb80]
addsd xmm0, qword [0x4ceb88]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 4], xmm0
movss dword [esi + 0x60], xmm0
movsd xmm0, qword [ebp - 0xc]
mulsd xmm0, qword [0x4ceb68]
call fcn.004a5780
mulsd xmm0, qword [0x4cdcb0]
xorps xmm1, xmm1
sub esp, 0x14
cvtsd2ss xmm1, xmm0
mov dword [esp + 0x10], 0x437a0000
movss xmm0, dword [esi + 0x6c]
addss xmm0, dword [0x4ceb54]
movss dword [esi + 0x64], xmm1
movss dword [esi + 0x6c], xmm0
movss xmm0, dword [0x4f7dcc]
mulss xmm0, dword [0x4cc66c]
addss xmm0, dword [0x4ceb44]
movss dword [esp + 0xc], xmm0
movss xmm0, dword [ebp - 4]
movss dword [esp + 8], xmm1
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x10]
movss dword [esp], xmm0
push 6
push dword [0x506be0]
call fcn.0045df7b
mov eax, dword [0x506bb4]
add esp, 0x10
movss xmm1, dword [0x4ceb40]
movss xmm0, dword [eax + 0x64]
mulss xmm0, xmm1
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + 0x60]
mulss xmm0, xmm1
addss xmm0, dword [0x4ceba8]
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + 0x5c]
mulss xmm0, xmm1
movss dword [esp], xmm0
push dword [0x506b8c]
call fcn.0045d2f3
mov eax, dword [0x506b8c]
add esp, 0x10
mov ecx, dword [0x506bec]
mov dword [eax + 0xc], 0x44bb8000
test ecx, ecx
je 0x4178bb
cmp dword [ecx], ebx
je 0x4178bb
push dword [ecx]
call fcn.00416bfe
mov eax, dword [0x506bec]
push dword [eax]
call fcn.00416bfe
mov eax, dword [0x506b8c]
pop ecx
pop ecx
push eax
call fcn.00464d63
push dword [0x506be0]
call fcn.00464e7e
push dword [0x506b90]
call fcn.00464fa7
call fcn.00464e10
push dword [0x506b8c]
call fcn.00464d63
push dword [0x506be0]
call fcn.00464e7e
mov eax, dword [0x506bbc]
push dword [0x506bb4]
mov dword [0x4f7dcc], 0x3f4ccccd
movss xmm0, dword [eax + 0x70]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x4cbff8]
cvtpd2ps xmm0, xmm0
movss dword [eax + 0x70], xmm0
movss xmm0, dword [eax + 0x6c]
cvtps2pd xmm0, xmm0
addsd xmm0, qword [0x4cbff8]
cvtpd2ps xmm0, xmm0
movss dword [eax + 0x6c], xmm0
call fcn.00464fa7
add esp, 0x18
cmp dword [0x52f48c], ebx
je 0x417a4f
cmp dword [0x531f90], ebx
je 0x417a4f
push 0x9e
lea eax, [ebp - 0xe4]
push ebx
push eax
call fcn.0049a3b0
add esp, 0xc
lea eax, [ebp - 0xe4]
push eax
push dword [0x52f48c]
call fcn.00489cb7
push eax
call fcn.00466dd0
add esp, 0xc
test eax, eax
je 0x417a74
cmp dword [0x52f48c], 2
jne 0x41799d
add eax, 0x4b
movss xmm2, dword [0x4ceb58]
lea esi, [eax + 0x17]
movss xmm1, dword [0x4ceb50]
add eax, 0x15
mov dword [ebp - 4], esi
mov dword [ebp - 0x10], eax
mov cl, byte [esi - 1]
mov dl, byte [eax]
movzx edi, byte [esi]
cmp cl, dl
movzx eax, dl
movzx esi, cl
cmovbe esi, eax
cmp edi, esi
cmovbe edi, esi
cmp dword [0x52f48c], 2
jne 0x4179e7
lea eax, [edi - 0x80]
cdq
and edx, 3
lea edi, [edx + eax]
sar edi, 2
mov edx, dword [ebx*4 + 0x506b94]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
mov eax, dword [edx + 0x10]
mulss xmm0, xmm2
comiss xmm0, dword [eax + 0x60]
ja 0x417a0b
movss xmm0, dword [eax + 0x60]
mulss xmm0, xmm1
movss dword [eax + 0x60], xmm0
test ebx, ebx
je 0x417a2c
mov ecx, dword [0x506b94]
mov eax, dword [ecx + 0x68]
mov dword [edx + 0x68], eax
mov eax, dword [ecx + 0x6c]
mov dword [edx + 0x6c], eax
mov eax, dword [ecx + 0x70]
mov dword [edx + 0x70], eax
mov eax, dword [ebp - 0x10]
inc ebx
mov esi, dword [ebp - 4]
sub eax, 3
sub esi, 3
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], esi
cmp ebx, 8
jb 0x4179b9
mov edi, dword [ebp + 8]
xor ebx, ebx
jmp 0x417a74
mov ecx, ebx
mov eax, dword [ecx + 0x506b94]
add ecx, 4
mov eax, dword [eax + 0x10]
movss xmm0, dword [eax + 0x60]
mulss xmm0, dword [0x4ceb50]
movss dword [eax + 0x60], xmm0
cmp ecx, 0x20
jb 0x417a51
mov esi, ebx
push dword [esi + 0x506b94]
call fcn.00464fa7
add esi, 4
pop ecx
cmp esi, 0x20
jb 0x417a76
push dword [0x506bbc]
call fcn.00464fa7
push dword [0x506bc0]
call fcn.00464fa7
pop ecx
pop ecx
call fcn.00464e10
cmp dword [0x4f7d70], 0
je 0x417c1f
call edi
sub eax, dword [0x506bfc]
push ebx
push 0x1e
sbb edx, ebx
push edx
push eax
call fcn.00499410
mov esi, eax
mov ecx, edx
mov eax, dword [0x4f7dc8]
cdq
push edx
push eax
push ecx
push esi
call fcn.00499510
mov ecx, eax
mov dword [ebp - 8], eax
push 0x7f
cdq
pop edi
and edx, edi
and ecx, edi
add eax, edx
sar eax, 7
mov esi, dword [eax*4 + 0x4f7d78]
mov dword [ebp - 4], esi
cmp eax, dword [0x506ca4]
je 0x417bde
cmp dword [ebp - 8], 0x80
mov dword [0x506ca4], eax
jge 0x417b1f
mov dword [0x506ca0], ebx
call dword [ebp + 8]
mov dword [0x506ca8], eax
xor edx, edx
mov ecx, esi
push 0xa
inc edx
pop ebx
mov dword [ebp - 8], ebx
test esi, esi
je 0x417b49
movzx eax, word [ecx]
mov esi, eax
test ax, ax
je 0x417b49
inc ecx
lea eax, [edx + 1]
cmp si, bx
cmovne eax, edx
mov edx, eax
add ecx, 1
jne 0x417b2e
imul eax, edx, 0x11
push eax
call fcn.00419c34
pop ecx
mov ecx, dword [0x506b8c]
mov esi, eax
mov ebx, dword [ecx + 0x24]
call fcn.00465916
mov edi, eax
mov ecx, ebx
mov eax, esi
shr ecx, 1
cdq
sub eax, edx
shr ebx, 2
sar eax, 1
xor edx, edx
sub ecx, eax
mov eax, edi
div ecx
mov ecx, dword [ebp - 4]
add edx, ebx
xor ebx, ebx
mov dword [0x506cac], edx
mov edx, ebx
mov esi, ebx
test ecx, ecx
je 0x417baf
movzx edi, word [ecx]
test di, di
je 0x417baf
lea eax, [esi + 1]
xor esi, esi
cmp di, word [ebp - 8]
cmovne esi, eax
inc ecx
cmp esi, edx
cmovg edx, esi
add ecx, 1
jne 0x417b90
imul eax, edx, 9
push eax
call fcn.00419c19
pop ecx
mov esi, eax
call fcn.00465916
mov ecx, dword [0x506b8c]
cdq
push 0xa
mov ecx, dword [ecx + 0x1c]
sub ecx, esi
sub ecx, 0x14
idiv ecx
pop eax
add edx, eax
mov dword [0x506cb0], edx
jmp 0x417c1f
cmp ecx, 0x70
jb 0x417be7
sub edi, ecx
jmp 0x417bf4
cmp ecx, 0x20
jae 0x417bf8
cmp ecx, 0x10
jb 0x417c1f
lea edi, [ecx - 0x10]
test edi, edi
je 0x417c1f
cmp word [esi], bx
je 0x417c1f
push esi
push 1
push ecx
and dword [esp], 0
push dword [0x506cac]
push dword [0x506cb0]
push dword [0x506b8c]
call fcn.0046545a
add esp, 0x18
call dword [ebp + 8]
sub eax, dword [0x506ca8]
push ebx
push 0x3e8
sbb edx, ebx
push edx
push eax
call fcn.00499410
mov esi, eax
lea edi, [ebp - 0x44]
push 8
xor eax, eax
pop ecx
rep stosd dword es:[edi], eax
test esi, esi
je 0x417c51
mov eax, dword [0x506ca0]
cdq
idiv esi
mov ebx, eax
push ebx
push str._dfps
lea eax, [ebp - 0x44]
push 0x20
push eax
call fcn.00405a8d
xor edx, edx
lea ecx, [ebp - 0x44]
add esp, 0x10
inc edx
mov bl, byte [ecx]
test bl, bl
je 0x417c81
cmp bl, 0xa
lea eax, [edx + 1]
cmovne eax, edx
mov edx, eax
add ecx, 1
jne 0x417c6b
imul eax, edx, 0x11
push eax
call fcn.00419c34
mov edx, dword [0x506b8c]
pop ecx
lea ecx, [ebp - 0x44]
push ecx
push 1
push ecx
mov ecx, dword [edx + 0x24]
and dword [esp], 0
sub ecx, eax
inc ecx
push ecx
push 3
push edx
call fcn.004653e8
mov eax, dword [0x506ca0]
add esp, 0x18
mov ecx, dword [0x506bf4]
inc eax
mov dword [0x506ca0], eax
test ecx, ecx
je 0x417cde
test al, 0x7f
jne 0x417cde
mov edx, dword [0x506bf8]
mov esi, 0x400
add dword [ecx], esi
mov eax, dword [ecx]
sub eax, edx
cmp eax, esi
jl 0x417cde
mov dword [ecx], edx
pop edi
pop esi
pop ebx
leave
ret