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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x470
mov eax, dword [ebp + 8]
xorps xmm0, xmm0
movups xmmword [esp + 0x34], xmm0
movups xmmword [esp + 0x44], xmm0
movups xmmword [esp + 0x54], xmm0
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x30], 0x3c
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x44], 0xffffffff
mov dword [esp + 0x60], 0xffffffff
mov edx, 0xfffffffe
mov ecx, dword [0x458078]
nop
cmp word [eax + edx + 2], 0
lea edx, [edx + 2]
jne 0x41e470
sar edx, 1
lea esi, [esp + 0x30]
push esi
push 0
push edx
push eax
call ecx
xor ebx, ebx
test eax, eax
je 0x41e7d9
sub esp, 0x14
xorps xmm0, xmm0
movups xmmword [esp + 4], xmm0
mov dword [esp], 0x447424
call dword [0x45806c]
test eax, eax
je 0x41e4fa
mov dword [esp + 0xc], eax
lea esi, [esp + 0x6c]
push 0x400
push 0
push esi
call fcn.00417350
add esp, 0xc
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
lea edi, [eax + eax]
mov ecx, edi
not ecx
or ecx, 3
lea ecx, [ecx + eax*2]
inc ecx
je 0x41e501
cmp ecx, 2
jne 0x41e515
and eax, 0x7fffffff
lea edi, [esp + 0x6c]
mov ecx, eax
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
jmp 0x41e62d
xor esi, esi
jmp 0x41e7ca
shr edi, 2
mov ecx, edi
lea edi, [esp + 0x6c]
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
jmp 0x41e62d
test edi, edi
je 0x41e62d
cmp edi, 8
jb 0x41e5a7
mov ecx, esi
sub ecx, edx
cmp ecx, 0x10
jb 0x41e5a7
xor ebx, ebx
cmp edi, 0x10
jae 0x41e56d
mov ecx, edi
and ecx, 0xfffffff8
lea eax, [edx + ecx]
lea esi, [esp + ecx]
add esi, 0x6c
mov dword [esp + 4], edi
and edi, 6
nop dword [eax + eax]
movsd xmm0, qword [edx + ebx]
movsd qword [esp + ebx + 0x6c], xmm0
add ebx, 8
cmp ecx, ebx
jne 0x41e550
cmp dword [esp + 4], ecx
jne 0x41e5a9
jmp 0x41e62d
mov ebx, edi
and ebx, 0xfffffff0
xor ecx, ecx
nop word cs:[eax + eax]
movups xmm0, xmmword [edx + ecx]
movups xmmword [esp + ecx + 0x6c], xmm0
add ecx, 0x10
cmp ebx, ecx
jne 0x41e580
cmp edi, ebx
je 0x41e62d
test al, 4
jne 0x41e536
and edi, 0xe
lea esi, [esp + ebx]
add esi, 0x6c
add edx, ebx
mov eax, edx
lea ecx, [edi - 1]
mov ebx, edi
and ebx, 6
je 0x41e5d6
mov dword [esp + 4], ecx
xor edx, edx
nop dword [eax]
movzx ecx, byte [eax + edx]
mov byte [esi + edx], cl
inc edx
cmp ebx, edx
jne 0x41e5c0
add eax, edx
add esi, edx
sub edi, edx
mov ecx, dword [esp + 4]
cmp ecx, 7
jb 0x41e62d
xor ecx, ecx
nop dword [eax]
movzx edx, byte [eax + ecx]
mov byte [esi + ecx], dl
movzx edx, byte [eax + ecx + 1]
mov byte [esi + ecx + 1], dl
movzx edx, byte [eax + ecx + 2]
mov byte [esi + ecx + 2], dl
movzx edx, byte [eax + ecx + 3]
mov byte [esi + ecx + 3], dl
movzx edx, byte [eax + ecx + 4]
mov byte [esi + ecx + 4], dl
movzx edx, byte [eax + ecx + 5]
mov byte [esi + ecx + 5], dl
movzx edx, byte [eax + ecx + 6]
mov byte [esi + ecx + 6], dl
movzx edx, byte [eax + ecx + 7]
mov byte [esi + ecx + 7], dl
add ecx, 8
cmp edi, ecx
jne 0x41e5e0
movzx eax, word [esp + 0x48]
lea ecx, [esp + 0x6c]
push 0
push eax
push ecx
mov edi, dword [esp + 0x18]
push edi
call dword [0x458070]
test eax, eax
je 0x41e79c
xor ecx, ecx
cmp dword [esp + 0x3c], 2
sete cl
mov ebx, ecx
mov ecx, 0xe6697a70
mov edx, 0xe8da838
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
mov edx, 0xf032032c
mov esi, 0x8b2f8805
mov dword [esp + 4], eax
mov edi, 0xe62c7a37
mov ecx, 0xe8da86c
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], edi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], edx
lea esi, [esp + 0x20]
xor edx, edx
mov edx, dword [0x458074]
mov edi, ebx
shl edi, 0x17
movaps xmm0, xmmword [esp + 0x10]
xorps xmm0, xmmword [esi]
xor ebx, ebx
movaps xmmword [esp + 0x10], xmm0
lea eax, [esp + 0x10]
push edi
push 0
push 0
push 0
push ecx
push eax
push dword [esp + 0x1c]
call edx
test eax, eax
je 0x41e7a2
mov edi, eax
sub esp, 0x1c
xorps xmm0, xmm0
movups xmmword [esp + 4], xmm0
mov dword [esp], eax
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
call dword [0x458084]
test eax, eax
je 0x41e7ac
push 0
push edi
call dword [0x458088]
test eax, eax
je 0x41e7a6
mov dword [esp + 0x20], 0
lea eax, [esp + 0x20]
push eax
push edi
call dword [0x45808c]
test eax, eax
je 0x41e7a6
xor ebx, ebx
xor ecx, ecx
mov dword [esp + 8], edi
nop dword [eax]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x41e7e3
add eax, ebx
inc eax
push eax
push ecx
mov edi, ecx
call fcn.004411d0
add esp, 8
test eax, eax
je 0x41e7e7
mov esi, eax
mov dword [esp + 0x10], 0
add eax, ebx
lea ecx, [esp + 0x10]
push ecx
push dword [esp + 0x24]
push eax
mov edi, dword [esp + 0x14]
push edi
call dword [0x458090]
add ebx, dword [esp + 0x10]
lea eax, [esp + 0x20]
push eax
push edi
call dword [0x45808c]
mov ecx, esi
test eax, eax
jne 0x41e740
jmp 0x41e7ae
xor esi, esi
xor ebx, ebx
jmp 0x41e7c3
xor esi, esi
jmp 0x41e7b5
xor esi, esi
xor ebx, ebx
jmp 0x41e7ae
xor esi, esi
push edi
call dword [0x458098]
push dword [esp + 4]
call dword [0x458098]
mov edi, dword [esp + 0xc]
push edi
call dword [0x458098]
mov eax, dword [ebp + 0xc]
mov dword [eax], esi
mov eax, dword [ebp + 0x10]
mov dword [eax], ebx
test esi, esi
setne bl
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, ecx
jmp 0x41e7ae
mov esi, edi
mov edi, dword [esp + 8]
jmp 0x41e7ae