Function at 0x40da00
Capabilities:
Gather firefox profile information
Reference http user-agent string

Disassembly:
lea r12, [rsp - 0x28]
cmp r12, qword [r14 + 0x10]
jbe 0x40e0f0
sub rsp, 0xa8
mov qword [rsp + 0xa0], rbp
lea rbp, [rsp + 0xa0]
mov qword [rsp + 0xb0], rax
test byte [rax], al
nop
lea rdx, [rax + 0x103b8]
add rbx, 0x3fffff
and rbx, 0xffffffffffc00000
mov qword [rsp + 0x30], rbx
mov ecx, 0x400000
lea rdi, [0x00bc2e18]
mov rax, rdx
call fcn.0040f5a0
nop
test rax, rax
jne 0x40da77
mov rdx, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x30]
jmp 0x40ddc9
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x70], rcx
mov rdx, rax
movabs rsi, 0x800000000000
add rsi, rax
shr rsi, 0x16
mov rax, qword [rsp + 0xb0]
jmp 0x40dad1
mov r8, qword [rsp + 0x68]
mov qword [rdx + rcx*8], r8
mov r9, qword [rsp + 0x88]
xchg qword [r9], rax
inc r8
mov rdx, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x70]
mov rax, rsi
mov rsi, r8
mov r8, rdx
add rdx, rcx
movabs r9, 0x7fffffffffff
add rdx, r9
shr rdx, 0x16
cmp rsi, rdx
ja 0x40dd16
mov rdx, rsi
shr rsi, 0x14
nop dword [rax + rax]
cmp rsi, 0x40
jae 0x40dd87
mov qword [rsp + 0x68], rdx
mov r10, qword [rax + rsi*8 + 0x10190]
lea rsi, [rax + rsi*8]
lea rsi, [rsi + 0x10190]
test r10, r10
jne 0x40dbbc
mov qword [rsp + 0x90], rsi
nop
mov rax, qword [0x008333e0]
mov qword [rsp], rax
mov qword [rsp + 8], 0
mov qword [rsp + 0x10], section..data
mov qword [rsp + 0x18], 0x3000
mov qword [rsp + 0x20], 4
call fcn.00436780
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x40dd76
mov rdx, qword [rsp + 0x90]
mov r10, rax
xchg qword [rdx], rax
mov rax, qword [rsp + 0xb0]
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x98]
movabs r9, 0x7fffffffffff
test byte [r10], al
and edx, 0xfffff
mov r11, qword [r10 + rdx*8]
lea rdx, [r10 + rdx*8]
test r11, r11
jne 0x40dd65
mov qword [rsp + 0x88], rdx
lea rdx, [rax + 0x10390]
mov ebx, 0x210d0
mov ecx, 8
lea rdi, [0x00bc74f8]
mov rax, rdx
call fcn.0040f5a0
nop
test rax, rax
jne 0x40dc29
mov eax, 0x210d0
mov ebx, 8
lea rcx, [0x00bc74f8]
call fcn.0040f1c0
nop dword [rax + rax]
test rax, rax
je 0x40dd50
mov rsi, qword [rsp + 0xb0]
mov r8, qword [rsi + 0x103e8]
nop dword [rax + rax]
cmp qword [rsi + 0x103e0], r8
jne 0x40dce6
mov qword [rsp + 0x40], rax
shl r8, 4
test r8, r8
jne 0x40dc62
mov r8, qword [0x00bc1fc0]
mov qword [rsp + 0x38], r8
mov rax, r8
mov ebx, 8
lea rcx, [0x00bc74f8]
call fcn.0040f1c0
nop dword [rax + rax]
test rax, rax
je 0x40dd3f
mov rsi, qword [rsp + 0xb0]
mov rbx, qword [rsi + 0x103d8]
mov r8, qword [rsi + 0x103e0]
mov qword [rsi + 0x103d8], rax
mov r9, qword [rsp + 0x38]
shr r9, 3
mov qword [rsi + 0x103e8], r9
mov rcx, qword [rsi + 0x103e0]
cmp rcx, r8
cmovg rcx, r8
mov rax, qword [rsi + 0x103d8]
cmp rax, rbx
je 0x40dce1
shl rcx, 3
call fcn.00467d00
mov rsi, qword [rsp + 0xb0]
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsi + 0x103e0]
mov rdx, qword [rsi + 0x103e8]
lea r8, [rcx + 1]
cmp rdx, r8
jb 0x40dd37
mov qword [rsi + 0x103e0], r8
mov rdx, qword [rsi + 0x103d8]
cmp rcx, r8
jb 0x40daa7
jmp 0x40dd2c
mov rax, r8
mov rbx, rcx
mov rbp, qword [rsp + 0xa0]
add rsp, 0xa8
ret
mov rax, rcx
mov rcx, r8
call fcn.00467360
mov rcx, r8
call fcn.004673e0
lea rax, [0x008e11fc]
mov ebx, 0x22
call fcn.00439600
lea rax, [0x008e5621]
mov ebx, 0x2c
nop dword [rax]
call fcn.00439600
lea rax, [0x008dc1b5]
mov ebx, 0x19
call fcn.00439600
lea rax, [0x008e3676]
mov ebx, 0x27
call fcn.00439600
mov rax, rsi
mov ecx, 0x40
call fcn.00467380
mov r8, qword [rsi + 0x10]
mov qword [rdx + 0x103b0], r8
nop
mov r8, qword [rdx + 0x16bd8]
sub r8, qword [rdx + 0x16ba8]
mov qword [rdx + 0x16bd8], r8
mov r8, qword [rdx + 0x16bc0]
mov qword [rsi], r8
mov qword [rdx + 0x16bc0], rsi
mov rax, r11
mov rsi, qword [rdx + 0x103b0]
test rsi, rsi
je 0x40dec3
mov qword [rsp + 0x60], rsi
mov rax, qword [rsi]
movzx r8d, byte [rsi + 8]
mov r9, rax
sub rax, rbx
test r8, r8
cmovne r9, rax
lea r8, [rbx + r9]
cmp r9, r8
jbe 0x40de0a
movabs r10, 0x7fffffffffff
xor eax, eax
jmp 0x40de65
movabs r10, 0x7fffffffffff
lea r11, [r10 + r8]
shr r11, 0x16
nop dword [rax]
cmp r11, 0x4000000
jb 0x40de2d
xor eax, eax
jmp 0x40de65
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x70], r8
mov rax, r9
call fcn.00419d40
mov rdx, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x60]
mov r8, qword [rsp + 0x70]
mov r9, qword [rsp + 0x50]
movabs r10, 0x7fffffffffff
mov r11, rax
cmp rax, r9
je 0x40deaf
test r11, r11
je 0x40dd94
mov qword [rsp + 0x98], r11
mov rax, r11
call fcn.00419c00
mov rdx, qword [rsp + 0xb0]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x60]
movabs r10, 0x7fffffffffff
mov r11, qword [rsp + 0x98]
jmp 0x40dd94
movzx r12d, byte [rsi + 8]
test r12, r12
cmovne r8, r9
mov qword [rsi], r8
mov rax, rbx
jmp 0x40ded5
movabs r10, 0x7fffffffffff
mov r11, rax
mov rax, rbx
xor ebx, ebx
test rbx, rbx
jne 0x40df91
mov rbx, rax
mov ecx, 0x400000
xor eax, eax
call fcn.0040e120
test rax, rax
je 0x40e034
mov qword [rsp + 0x98], rax
mov qword [rsp + 0x70], rbx
mov rax, qword [rsp + 0xb0]
lea rcx, [rax + 0x16ba8]
mov qword [rsp + 0x80], rcx
mov rax, rcx
nop dword [rax]
call fcn.0041ae60
mov rcx, qword [rsp + 0x98]
mov qword [rax], rcx
mov byte [rax + 8], 1
mov rcx, qword [0x00b942d0]
mov qword [rax + 0x10], rcx
mov qword [0x00b942d0], rax
mov rax, qword [rsp + 0x80]
call fcn.0041ae60
mov r11, qword [rsp + 0x98]
mov rcx, r11
mov rbx, qword [rsp + 0x70]
lea rdx, [rbx + r11]
mov qword [rax], rdx
mov rdx, qword [0x00b942d0]
mov qword [rax + 0x10], rdx
mov qword [0x00b942d0], rax
mov rdx, qword [rsp + 0xb0]
movabs r10, 0x7fffffffffff
mov r11, rcx
mov rsi, r11
lea r8, [rbx + r11]
cmp r11, r8
jbe 0x40dfb6
movabs r9, 0x800000000000
mov r12d, 0x1c
lea r13, [0x008de0f6]
jmp 0x40e012
movabs r9, 0x800000000000
lea r12, [r9 + r11]
shr r12, 0x16
cmp r12, 0x4000000
jb 0x40dfe2
mov r12d, 0x21
lea r13, [0x008e0515]
nop
jmp 0x40e012
lea r12, [r10 + r8]
shr r12, 0x16
cmp r12, 0x4000000
mov r12d, 0
mov r13d, 0x20
cmovae r12, r13
mov r13d, 0
lea r15, [0x008dfd6b]
cmovae r13, r15
test r12, r12
jne 0x40e059
nop word [rax + rax]
test r11, 0x3fffff
jne 0x40e048
mov rax, rsi
mov rcx, rbx
jmp 0x40da7c
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xa0]
add rsp, 0xa8
ret
lea rax, [0x008e080c]
mov ebx, 0x21
call fcn.00439600
mov qword [rsp + 0x48], r11
mov qword [rsp + 0x70], r8
mov qword [rsp + 0x78], r13
mov qword [rsp + 0x58], r12
call fcn.0043aec0
lea rax, [0x008e09fb]
mov ebx, 0x21
nop
call fcn.0043b7c0
mov rax, qword [rsp + 0x48]
call fcn.0043b620
lea rax, [0x008d357e]
mov ebx, 2
nop dword [rax + rax]
call fcn.0043b7c0
mov rax, qword [rsp + 0x70]
call fcn.0043b620
lea rax, [0x008df30c]
mov ebx, 0x1f
nop dword [rax + rax]
call fcn.0043b7c0
mov rax, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x58]
call fcn.0043b7c0
call fcn.0043b120
call fcn.0043af40
lea rax, [0x008e5f9f]
mov ebx, 0x2e
call fcn.00439600
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00464c60
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.0040da00