Function at 0x417540
Capabilities:
Reference http user-agent string

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x417b4a
sub esp, 0x78
mov ecx, dword [0xc07014]
test ecx, ecx
jge 0x417976
mov eax, 0xffffffff
mov ecx, 0xffffffff
mov edx, dword [0xc07014]
test edx, edx
jl 0x41795b
cvtsi2sd xmm0, edx
movsd xmm1, qword [0x9dc748]
divsd xmm0, xmm1
movsd xmm1, qword [0x9dc578]
mulsd xmm1, xmm0
movsd xmm2, qword [esp + 0x7c]
ucomisd xmm2, xmm1
jbe 0x417952
movsd xmm2, qword [0x9dc4e0]
mulsd xmm2, xmm0
ucomisd xmm2, xmm1
jbe 0x417949
movsd qword [0xc0aaf0], xmm2
mov edx, dword [0xc07014]
test edx, edx
jge 0x4177d1
mov edx, 0xffffffff
mov ebx, 0xffffffff
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ebx
mov dword [0xc0aaf8], edx
mov dword [0xc0aafc], ebx
mov dword [0xc09568], eax
mov dword [0xc0956c], ecx
movzx eax, byte [0xbfeea8]
test al, al
jne 0x4177bf
mov eax, dword [0xc07018]
test eax, eax
jne 0x4177a4
mov eax, dword [0xbf8650]
test eax, eax
je 0x41763c
xorps xmm0, xmm0
movsd qword [0xbf86b0], xmm0
call fcn.0041e950
add esp, 0x78
ret
lea eax, [0xc0ab00]
mov dword [esp], eax
call fcn.00402970
mov eax, dword [esp + 4]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x18]
mov edx, ecx
sub ecx, eax
mov ebx, ecx
add ecx, 0xfff00000
mov ebp, dword [esp + 8]
mov dword [esp + 0x34], ebp
sub edx, eax
mov edx, dword [esp + 0x1c]
sbb edx, ebp
add ebx, 0xfff00000
adc edx, 0xffffffff
test edx, edx
setl bl
xchg esi, ebx
sete bl
xchg esi, ebx
cmp ecx, 0x2000
xchg edi, ebx
setb bl
xchg edi, ebx
and edi, esi
or ebx, edi
test bl, bl
je 0x417799
xor ecx, ecx
mov edx, 0x2000
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], edx
lea eax, [0xbf8698]
mov dword [esp], eax
call fcn.00402970
mov eax, dword [esp + 4]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x24], ecx
lea edx, [0xbf8690]
mov dword [esp], edx
call fcn.00402970
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x20]
sub eax, ecx
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x24]
sbb edx, ebx
test edx, edx
xchg ebp, ebx
setl bl
xchg ebp, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
test eax, eax
xchg edi, ebx
setbe bl
xchg edi, ebx
and edi, esi
or edi, ebp
xchg edi, eax
test al, al
xchg edi, eax
je 0x417722
xorps xmm0, xmm0
movsd qword [0xbf86b0], xmm0
jmp 0x417633
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00453c30
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0x70], xmm0
mov eax, dword [esp + 0x38]
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
call fcn.00453c30
movsd xmm0, qword [esp + 0x70]
divsd xmm0, qword [esp + 8]
movsd qword [0xbf86b0], xmm0
mov eax, dword [esp + 0x30]
mov dword [0xbf86a8], eax
mov eax, dword [esp + 0x34]
mov dword [0xbf86ac], eax
lea eax, [0xbf86a0]
mov dword [esp], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 8], eax
call fcn.00402990
jmp 0x417633
mov ebx, ecx
mov ecx, edx
mov edx, ebx
jmp 0x4176a7
lea eax, [0xc07880]
mov dword [esp], eax
call fcn.00416980
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
jmp 0x41761e
call fcn.0044e2d0
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
jmp 0x417610
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
movsd qword [esp + 0x7c], xmm2
mov eax, dword [0xc0ab10]
mov ecx, dword [0xc0ab14]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00453d20
movsd xmm0, qword [0x9dc588]
movsd xmm1, qword [esp + 0x7c]
addsd xmm0, xmm1
mulsd xmm0, qword [esp + 8]
movsd qword [esp], xmm0
call fcn.00453be0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [0x7a13e0]
mov ebx, dword [0x7a13e4]
mov ebp, dword [0xbf8650]
test ebp, ebp
je 0x4178dd
cmp ebx, ecx
xchg ebp, ebx
seta bl
xchg ebp, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
cmp edx, eax
xchg edi, ebx
seta bl
xchg edi, ebx
and esi, edi
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x4178d1
mov eax, ebx
mov ecx, edx
test ebx, ebx
xchg ebp, ebx
setl bl
xchg ebp, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
test edx, edx
xchg edi, ebx
setb bl
xchg edi, ebx
and edi, esi
or ebp, edi
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x4179d4
mov eax, dword [esp + 0x44]
cmp eax, ebx
setb cl
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov esi, dword [esp + 0x40]
cmp esi, edx
xchg edi, ebx
setb bl
xchg edi, ebx
and edi, ebp
or edi, ecx
xchg edi, eax
test al, al
xchg edi, eax
je 0x4178c5
mov eax, edx
mov ecx, ebx
mov ebp, edx
mov edx, eax
mov eax, ebp
mov esi, ebx
mov ebx, ecx
mov ecx, esi
jmp 0x4175e1
mov eax, edx
mov ecx, ebx
mov edx, esi
mov ebx, dword [esp + 0x44]
jmp 0x4178b4
mov ebp, eax
mov eax, ebx
mov ebx, ecx
mov ecx, edx
mov edx, ebp
jmp 0x417862
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], edx
lea eax, [0xc0ab00]
mov dword [esp], eax
call fcn.00402970
mov eax, dword [esp + 4]
add eax, 0x100000
mov ecx, dword [esp + 8]
adc ecx, 0
mov edx, dword [esp + 0x2c]
cmp edx, ecx
setb bl
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov esi, dword [esp + 0x28]
cmp esi, eax
xchg edi, ebx
setb bl
xchg edi, ebx
and edi, ebp
or edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
je 0x417943
mov edx, eax
mov ebx, ecx
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
jmp 0x41783b
mov ecx, edx
mov eax, esi
jmp 0x417932
movsd xmm2, xmm1
jmp 0x4175c1
movsd xmm1, xmm2
jmp 0x4175ab
xorps xmm0, xmm0
movsd xmm1, qword [esp + 0x7c]
ucomisd xmm0, xmm1
jbe 0x41796d
xorps xmm1, xmm1
movsd xmm2, xmm1
jmp 0x4175c1
mov eax, dword [0xc0ab10]
mov dword [esp + 0x6c], eax
mov ebx, eax
mul ecx
mov ebp, dword [0xc0ab14]
mov dword [esp + 0x68], ebp
mov dword [esp], eax
mov esi, ecx
sar ecx, 0x1f
imul ecx, ebx
imul esi, ebp
add edx, esi
add ecx, edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x64
mov dword [esp + 0xc], 0
call fcn.00453e90
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x6c]
add edx, ecx
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x68]
adc ecx, ebx
mov eax, edx
jmp 0x417571
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x68], eax
mov eax, dword [0xc09568]
mov dword [esp + 0x64], eax
mov ecx, dword [0xc0956c]
mov dword [esp + 0x60], ecx
mov edx, dword [0xc0ab10]
mov dword [esp + 0x5c], edx
mov ebx, dword [0xc0ab14]
mov dword [esp + 0x58], ebx
mov ebp, dword [0xc0ab00]
mov dword [esp + 0x54], ebp
mov esi, dword [0xc0ab04]
mov dword [esp + 0x50], esi
mov edi, dword [0xc07c40]
mov dword [esp + 0x4c], edi
mov edi, dword [0xc07c44]
mov dword [esp + 0x48], edi
call fcn.004339f0
lea eax, [0x8b2b7c]
mov dword [esp], eax
mov dword [esp + 4], 0x11
call fcn.00434290
mov eax, dword [esp + 0x64]
mov dword [esp], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 4], eax
call fcn.00433f90
lea eax, [0x8b05b1]
mov dword [esp], eax
mov dword [esp + 4], 0xd
call fcn.00434290
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
call fcn.00433f90
lea eax, [0x8af5a0]
mov dword [esp], eax
mov dword [esp + 4], 0xb
call fcn.00434290
mov eax, dword [esp + 0x54]
mov dword [esp], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
call fcn.00433f90
lea eax, [0x8b250b]
mov dword [esp], eax
mov dword [esp + 4], 0x11
call fcn.00434290
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
call fcn.00433f90
lea eax, [0x8b0c24]
mov dword [esp], eax
mov dword [esp + 4], 0xd
call fcn.00434290
movsd xmm0, qword [esp + 0x7c]
movsd qword [esp], xmm0
call fcn.00433cb0
lea eax, [0x8afd22]
mov dword [esp], eax
mov dword [esp + 4], 0xc
call fcn.00434290
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 4], eax
call fcn.00433f90
call fcn.00433c10
call fcn.00433a60
lea eax, [0x8b4612]
mov dword [esp], eax
mov dword [esp + 4], 0x14
call fcn.00432140
nop
call fcn.0045bbc0
jmp fcn.00417540