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

Disassembly:
mov ecx, dword [0x99504c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x672c94
sub esp, 0x44
mov eax, 0
mov dword [esp + 0x40], eax
mov byte [esp + 0x1f], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0xac]
mov edx, dword [eax]
test ecx, ecx
jne 0x672bda
mov dword [esp + 0x2c], edx
lea ecx, [eax + 0x18]
mov dword [esp], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xc], ecx
call fcn.006666a0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], edx
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0xa4]
mov ebx, dword [eax + 0xa8]
cmp ecx, 0xffffffff
xchg ebp, ebx
setne bl
xchg ebp, ebx
cmp ebx, 0xffffffff
xchg esi, ebx
setne bl
xchg esi, ebx
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
je 0x6729b9
mov dword [esp + 0x34], edx
mov dword [esp + 0x28], ebx
mov ebp, dword [esp + 0x58]
mov esi, ebp
sar ebp, 0x1f
cmp ebx, ebp
xchg edi, ebx
sete bl
xchg edi, ebx
setl dl
cmp esi, ecx
seta bl
and ebx, edi
or edx, ebx
test dl, dl
je 0x67290d
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x5c]
test ecx, ecx
jne 0x6728d1
lea eax, [0x701240]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x4a
lea ecx, [0x751b7b]
mov dword [eax], ecx
lea ecx, [0x7b0bb8]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], eax
mov edx, dword [esp + 0x48]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00667870
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
mov dword [eax + 0xac], ecx
mov ecx, dword [0x995310]
test ecx, ecx
je 0x6728f9
call fcn.00468e70
mov dword [edi], edx
mov ecx, dword [eax + 0xb0]
mov dword [edi + 4], ecx
mov dword [eax + 0xb0], edx
mov eax, dword [eax + 0xa4]
mov dword [esp + 0x58], eax
add esp, 0x44
ret
sub ecx, esi
mov dword [eax + 0xa4], ecx
mov ecx, dword [esp + 0x28]
sbb ecx, ebp
mov dword [eax + 0xa8], ecx
mov ecx, dword [esp + 0x5c]
cmp dword [0x967010], ecx
je 0x672931
xor ecx, ecx
jmp 0x672956
mov eax, dword [0x967014]
mov dword [esp], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00404290
movzx eax, byte [esp + 0xc]
mov ecx, eax
mov eax, dword [esp + 0x48]
test cl, cl
je 0x6729b9
mov ecx, dword [eax + 0xa4]
mov edx, dword [eax + 0xa8]
test edx, edx
sete dl
setg bl
test ecx, ecx
seta cl
and ecx, edx
or ecx, ebx
test cl, cl
je 0x6729b9
mov ecx, dword [0x96701c]
mov edx, dword [0x967018]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], ecx
mov dword [eax + 0xac], edx
mov edx, dword [0x995310]
test edx, edx
je 0x6729af
call fcn.00468e70
mov dword [edi], ecx
mov edx, dword [eax + 0xb0]
mov dword [edi + 4], edx
mov dword [eax + 0xb0], ecx
add esp, 0x44
ret
mov ecx, dword [esp + 0x58]
test ecx, ecx
jne 0x6729c5
add esp, 0x44
ret
mov eax, dword [esp + 0x2c]
test byte [eax], al
lea ecx, [eax + 0x34]
mov dword [esp + 0x30], ecx
mov dword [esp], ecx
call fcn.00472830
mov eax, dword [esp + 0x58]
test eax, eax
jl 0x672c72
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 0x4c]
mov ebx, edx
sar edx, 0x1f
mov ebp, eax
sar eax, 0x1f
mov esi, dword [ecx + 0x48]
mov edi, esi
sar esi, 0x1f
add ebx, ebp
adc eax, edx
add edi, ebx
adc eax, esi
test eax, eax
sete al
setg dl
cmp edi, 0x7fffffff
xchg ebp, ebx
seta bl
xchg ebp, ebx
and ebp, eax
or edx, ebp
test dl, dl
jne 0x672c5a
mov dword [ecx + 0x4c], ebx
cmp ebx, 0x1000
jge 0x672a3c
cmp dword [ecx + 0x48], ebx
jle 0x672a3c
xor ebx, ebx
jmp 0x672a46
add dword [ecx + 0x48], ebx
mov dword [ecx + 0x4c], 0
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x672a59
xor esi, esi
jmp 0x672add
mov eax, dword [esp + 0x58]
test eax, eax
jl 0x672c42
mov edx, dword [esp + 0x48]
mov ebp, dword [edx + 0xa0]
mov esi, ebp
sar ebp, 0x1f
mov edi, eax
sar eax, 0x1f
mov ecx, dword [edx + 0x9c]
mov dword [esp + 0x28], ecx
sar ecx, 0x1f
add esi, edi
adc eax, ebp
mov ebp, dword [esp + 0x28]
add ebp, esi
adc eax, ecx
test eax, eax
sete al
setg cl
cmp ebp, 0x7fffffff
xchg ebp, ebx
seta bl
xchg ebp, ebx
and ebp, eax
or ecx, ebp
test cl, cl
jne 0x672c2a
mov dword [edx + 0xa0], esi
cmp esi, 0x1000
jge 0x672acd
cmp dword [edx + 0x9c], esi
jle 0x672acd
xor esi, esi
jmp 0x672add
add dword [edx + 0x9c], esi
mov dword [edx + 0xa0], 0
mov dword [esp + 0x20], esi
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.00472bb0
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x672b01
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x672bc0
mov eax, dword [esp + 0x2c]
lea ecx, [eax + 0xc0]
mov dword [esp + 0x30], ecx
mov dword [esp], ecx
call fcn.00472830
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
lea eax, [0x672ca0]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x40], eax
mov byte [esp + 0x1f], 1
mov eax, dword [esp + 0x24]
test eax, eax
je 0x672b77
cmp eax, 0x7fffffff
ja 0x672c12
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 0xcc]
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 8], eax
call fcn.00662ea0
mov eax, dword [esp + 0x20]
test eax, eax
je 0x672ba7
cmp eax, 0x7fffffff
ja 0x672bfa
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + 0xcc]
mov ebx, dword [esp + 0x48]
mov ebx, dword [ebx + 0x14]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.00662ea0
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xc8]
mov dword [esp], eax
call fcn.0063b960
mov eax, 1
jmp 0x672bc2
xor eax, eax
test al, 1
je 0x672bd6
and eax, 0xfffffffe
mov byte [esp + 0x1f], al
mov edx, dword [esp + 0x40]
mov eax, dword [edx]
call eax
add esp, 0x44
ret
mov dword [esp + 0x58], 0
mov ecx, dword [eax + 0xac]
mov eax, dword [eax + 0xb0]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], eax
add esp, 0x44
ret
lea eax, [0x6f44e0]
mov dword [esp], eax
lea eax, [0x7b0758]
mov dword [esp + 4], eax
call fcn.00438b10
lea eax, [0x6f44e0]
mov dword [esp], eax
lea eax, [0x7b0758]
mov dword [esp + 4], eax
call fcn.00438b10
lea eax, [0x6f44e0]
mov dword [esp], eax
lea eax, [0x7b0740]
mov dword [esp + 4], eax
call fcn.00438b10
lea eax, [0x6f44e0]
mov dword [esp], eax
lea eax, [0x7b0738]
mov dword [esp + 4], eax
call fcn.00438b10
lea eax, [0x6f44e0]
mov dword [esp], eax
lea eax, [0x7b0740]
mov dword [esp + 4], eax
call fcn.00438b10
lea eax, [0x6f44e0]
mov dword [esp], eax
lea eax, [0x7b0738]
mov dword [esp + 4], eax
call fcn.00438b10
nop
call fcn.00438090
add esp, 0x44
ret
call fcn.00467a60
jmp fcn.00672790