Function at 0x643d80
Capabilities:
Gather firefox profile information

Disassembly:
lea r12, [rsp - 0x100]
cmp r12, qword [r14 + 0x10]
jbe 0x644715
sub rsp, 0x180
mov qword [rsp + 0x178], rbp
lea rbp, [rsp + 0x178]
mov qword [rsp + 0x198], rcx
cmp qword [rax + 0x320], 0
jne 0x644301
mov qword [rsp + 0x190], rbx
mov qword [rsp + 0x1b0], r8
mov qword [rsp + 0x188], rax
mov qword [rsp + 0x198], rcx
mov qword [rsp + 0x1a0], rdi
test rdi, rdi
je 0x643ea8
mov rdx, qword [rcx + rdi*8 - 8]
mov rsi, qword [rdx + 0x68]
mov rdx, qword [rdx + 0x60]
mov r9, qword [rax + 0x48]
cmp qword [rax + 0x50], rsi
jne 0x643e4b
mov rax, rdx
mov rbx, r9
mov rcx, rsi
call fcn.004029c0
test al, al
je 0x643e43
mov rax, qword [rsp + 0x188]
mov rcx, qword [rsp + 0x198]
mov rbx, qword [rsp + 0x190]
mov rdi, qword [rsp + 0x1a0]
mov r8, qword [rsp + 0x1b0]
jmp 0x643ea8
mov rax, qword [rsp + 0x188]
movups xmmword [rsp + 0xb0], xmm15
movups xmmword [rsp + 0xc0], xmm15
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xb8], 5
movups xmmword [rsp + 0xc0], xmm15
lea rax, [0x0074a500]
lea rbx, [rsp + 0xb0]
call fcn.0040a8c0
mov rbx, rax
lea rax, [0x00815ac0]
mov rbp, qword [rsp + 0x178]
add rsp, 0x180
ret
mov rdx, qword [r8 + 0x20]
mov r9, qword [r8 + 0x28]
mov r10, qword [r8 + 0x30]
bt rdx, 0x3f
jae 0x643ed4
mov r11, rdx
shl rdx, 1
shr rdx, 0x1f
movabs r12, 0xdd7b17f80
add rdx, r12
jmp 0x643eda
mov r11, rdx
mov rdx, r9
test rdx, rdx
jne 0x643f06
mov rdx, r11
and r11d, 0x3fffffff
test r11d, r11d
jne 0x643f09
call fcn.0049aae0
mov r9, rbx
mov rdx, rax
mov r10, rcx
mov rax, qword [rsp + 0x188]
jmp 0x643f09
mov rdx, r11
mov qword [rsp + 0x58], r10
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], rdx
mov rsi, qword [rax + 0x2b8]
mov r8, qword [rax + 0x2c0]
mov rdi, qword [rax + 0x2b0]
mov rbx, r9
mov rcx, r10
mov rax, rdx
call fcn.00499700
nop dword [rax + rax]
test al, al
jne 0x6441bf
mov rdx, qword [rsp + 0x188]
mov rsi, qword [rdx + 0x2d0]
mov r8, qword [rdx + 0x2d8]
mov rdi, qword [rdx + 0x2c8]
mov rax, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x58]
call fcn.00499640
nop dword [rax]
test al, al
jne 0x644078
mov rdx, qword [rsp + 0x1b0]
mov rdx, qword [rdx + 0x50]
mov qword [rsp + 0x40], 0
test rdx, rdx
mov esi, 0x3d090
cmove rdx, rsi
mov rsi, qword [rsp + 0x190]
cmp rsi, 1
jne 0x643fc4
mov r8, qword [rsp + 0x1a0]
test r8, r8
jmp 0x643fd5
cmp rsi, 2
jne 0x644021
mov r8, qword [rsp + 0x1a0]
test r8, r8
je 0x643fe8
mov r9, qword [rsp + 0x198]
mov r9, qword [r9]
cmp rsi, 1
jmp 0x644033
lea rax, [0x0072c820]
call fcn.0040d400
mov qword [rax + 8], 0x38
lea rcx, [0x00789396]
mov qword [rax], rcx
mov rbx, rax
lea rax, [0x00815340]
mov rbp, qword [rsp + 0x178]
add rsp, 0x180
nop
ret
cmp rsi, 1
mov r8, qword [rsp + 0x1a0]
mov r9d, 0
je 0x64403b
cmp rsi, 2
jne 0x644071
mov r10, qword [0x009f57b0]
mov r11, qword [0x009f57b8]
mov r12, qword [rsp + 0x188]
mov r13, qword [r12 + 0x2f0]
mov r15, qword [r12 + 0x2e8]
test r13, r13
je 0x644652
xor eax, eax
jmp 0x644666
xor eax, eax
jmp 0x64431f
mov rax, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x58]
lea rdi, [0x0077c6cf]
mov esi, 0x19
call fcn.00493200
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x50], rbx
mov rdx, qword [rsp + 0x188]
mov r8, qword [rdx + 0x2c8]
mov r9, qword [rdx + 0x2d0]
mov rcx, qword [rdx + 0x2d8]
lea rdi, [0x0077c6cf]
mov esi, 0x19
mov rax, r8
mov rbx, r9
call fcn.00493200
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x48], rbx
movups xmmword [rsp + 0x90], xmm15
movups xmmword [rsp + 0xa0], xmm15
mov rax, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x50]
nop dword [rax]
call fcn.0040ab40
lea rdx, [0x0070f0c0]
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x48]
call fcn.0040ab40
lea rdx, [0x0070f0c0]
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0xa8], rax
lea rax, [0x0077df81]
mov ebx, 0x1b
lea rcx, [rsp + 0x90]
mov edi, 2
mov rsi, rdi
nop
call fcn.004d1ba0
mov rdx, qword [rsp + 0x188]
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0xb8], 1
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rbx
lea rax, [0x0074a500]
lea rbx, [rsp + 0xb0]
call fcn.0040a8c0
mov rbx, rax
lea rax, [0x00815ac0]
mov rbp, qword [rsp + 0x178]
add rsp, 0x180
ret
mov rax, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x58]
lea rdi, [0x0077c6cf]
mov esi, 0x19
call fcn.00493200
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x50], rbx
mov rdx, qword [rsp + 0x188]
mov r8, qword [rdx + 0x2b0]
mov r9, qword [rdx + 0x2b8]
mov rcx, qword [rdx + 0x2c0]
lea rdi, [0x0077c6cf]
mov esi, 0x19
mov rax, r8
mov rbx, r9
call fcn.00493200
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x48], rbx
movups xmmword [rsp + 0x90], xmm15
movups xmmword [rsp + 0xa0], xmm15
mov rax, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x50]
call fcn.0040ab40
lea rdx, [0x0070f0c0]
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x48]
call fcn.0040ab40
lea rdx, [0x0070f0c0]
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0xa8], rax
lea rax, [0x0077e847]
mov ebx, 0x1c
lea rcx, [rsp + 0x90]
mov edi, 2
mov rsi, rdi
call fcn.004d1ba0
mov rdx, qword [rsp + 0x188]
mov qword [rsp + 0xb0], rdx
mov qword [rsp + 0xb8], 1
mov qword [rsp + 0xc0], rax
mov qword [rsp + 0xc8], rbx
lea rax, [0x0074a500]
lea rbx, [rsp + 0xb0]
call fcn.0040a8c0
mov rbx, rax
lea rax, [0x00815ac0]
mov rbp, qword [rsp + 0x178]
add rsp, 0x180
nop
ret
lea rax, [0x00815b60]
lea rbx, [0x00a59f90]
mov rbp, qword [rsp + 0x178]
add rsp, 0x180
ret
nop
test al, al
je 0x644350
mov r10, qword [0x009f57d0]
mov r11, qword [0x009f57d8]
mov r12, qword [r9 + 0x2f0]
mov r13, qword [r9 + 0x2e8]
test r12, r12
je 0x644599
xor eax, eax
jmp 0x6445af
xor eax, eax
test al, al
je 0x644374
mov r10, qword [r9 + 0x2f0]
mov r9, qword [r9 + 0x2e8]
test r10, r10
je 0x644464
xor eax, eax
jmp 0x6444f5
cmp rsi, 1
jne 0x6443df
mov rcx, qword [rsp + 0x188]
cmp byte [rcx + 0x360], 0
je 0x644394
cmp byte [rcx + 0x361], 0
jne 0x6443e7
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xb8], 0
movups xmmword [rsp + 0xc0], xmm15
lea rax, [0x0074a500]
lea rbx, [rsp + 0xb0]
call fcn.0040a8c0
mov rbx, rax
lea rax, [0x00815ac0]
mov rbp, qword [rsp + 0x178]
add rsp, 0x180
ret
mov rcx, qword [rsp + 0x188]
cmp byte [rcx + 0x360], 0
je 0x644450
mov rdx, qword [rcx + 0x368]
test rdx, rdx
jl 0x644450
lea rsi, [r8 - 1]
cmp rdx, rsi
jge 0x644450
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0xb8], 3
movups xmmword [rsp + 0xc0], xmm15
lea rax, [0x0074a500]
lea rbx, [rsp + 0xb0]
call fcn.0040a8c0
mov rbx, rax
lea rax, [0x00815ac0]
mov rbp, qword [rsp + 0x178]
add rsp, 0x180
ret
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0x178]
add rsp, 0x180
ret
xor eax, eax
xor ecx, ecx
xor ebx, ebx
movups xmmword [rsp + 0x70], xmm15
movups xmmword [rsp + 0x80], xmm15
lea rsi, [0x00644760]
mov qword [rsp + 0x70], rsi
mov rsi, qword [rsp + 0x188]
mov qword [rsp + 0x78], rsi
lea r8, [rsp + 0x40]
mov qword [rsp + 0x80], r8
mov qword [rsp + 0x88], rdx
lea rdi, [rsp + 0x70]
mov rdx, rax
mov rax, rbx
mov rbx, rcx
mov rcx, rdx
call fcn.0063b3e0
nop dword [rax]
test rax, rax
jne 0x6444de
mov rcx, qword [rsp + 0x190]
cmp rcx, 1
mov r8, qword [rsp + 0x1a0]
jmp 0x644378
mov rbp, qword [rsp + 0x178]
add rsp, 0x180
ret
add r9, 0x38
mov rax, r11
mov r11, qword [r9]
mov qword [rsp + 0xd0], r11
movups xmm0, xmmword [r9 + 8]
movups xmmword [rsp + 0xd8], xmm0
movups xmm0, xmmword [r9 + 0x18]
movups xmmword [rsp + 0xe8], xmm0
movups xmm0, xmmword [r9 + 0x28]
movups xmmword [rsp + 0xf8], xmm0
mov r11, qword [rsp + 0xd8]
mov r12, qword [rsp + 0xd0]
mov r13, qword [0x009f57d0]
nop
cmp qword [0x009f57d8], r11
jne 0x644550
xor ecx, ecx
jmp 0x644564
mov r8, rbx
lea r11, [rax + 1]
cmp r10, r11
jg 0x6444ee
jmp 0x644464
inc rcx
mov r8, rbx
cmp rcx, r11
jge 0x64457c
mov r15, qword [r12 + rcx*8]
mov rbx, r8
mov r8, qword [r13 + rcx*8]
cmp r8, r15
je 0x64455e
jmp 0x64454d
mov rbx, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xf8]
mov rax, qword [rsp + 0x100]
jmp 0x64446a
xor eax, eax
nop dword [rax + rax]
jmp 0x644352
add r13, 0x38
mov rax, r8
mov r8, rcx
mov r15, qword [r13]
mov qword [rsp + 0x108], r15
movups xmm0, xmmword [r13 + 8]
movups xmmword [rsp + 0x110], xmm0
movups xmm0, xmmword [r13 + 0x18]
movups xmmword [rsp + 0x120], xmm0
movups xmm0, xmmword [r13 + 0x28]
movups xmmword [rsp + 0x130], xmm0
mov r15, qword [rsp + 0x110]
mov rcx, r8
mov r8, qword [rsp + 0x108]
cmp r15, r11
jne 0x644609
xor ebx, ebx
jmp 0x644622
mov rdx, rdi
mov rsi, qword [rsp + 0x190]
lea r8, [rax + 1]
cmp r12, r8
jg 0x6445a5
jmp 0x644639
inc rbx
mov rdx, rdi
mov rsi, qword [rsp + 0x190]
cmp rbx, r15
jge 0x644645
mov rdi, rdx
mov rdx, qword [r8 + rbx*8]
mov rsi, qword [r10 + rbx*8]
cmp rsi, rdx
je 0x644614
jmp 0x6445fe
mov r8, rcx
nop dword [rax]
jmp 0x644599
mov r8, rcx
mov eax, 1
jmp 0x644352
xor eax, eax
jmp 0x64431f
add r15, 0x38
mov r8, rcx
mov rax, rdx
mov rdx, rbx
mov rcx, r8
mov r8, qword [r15]
mov qword [rsp + 0x140], r8
movups xmm0, xmmword [r15 + 8]
movups xmmword [rsp + 0x148], xmm0
movups xmm0, xmmword [r15 + 0x18]
movups xmmword [rsp + 0x158], xmm0
movups xmm0, xmmword [r15 + 0x28]
movups xmmword [rsp + 0x168], xmm0
mov r8, qword [rsp + 0x148]
mov rbx, rdx
mov rdx, qword [rsp + 0x140]
cmp r8, r11
jne 0x6446c7
xor edi, edi
jmp 0x6446e5
mov rsi, qword [rsp + 0x190]
mov r12, qword [rsp + 0x188]
lea rdx, [rax + 1]
cmp r13, rdx
jg 0x644659
jmp 0x6446f9
inc rdi
mov rsi, qword [rsp + 0x190]
mov r12, qword [rsp + 0x188]
cmp rdi, r8
jge 0x644705
mov r12, qword [rdx + rdi*8]
mov rsi, qword [r10 + rdi*8]
cmp rsi, r12
je 0x6446d2
jmp 0x6446b7
mov rdx, rbx
mov r8, rcx
nop
jmp 0x644652
mov rdx, rbx
mov r8, rcx
mov eax, 1
jmp 0x64431f
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
call fcn.00460a60
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
jmp fcn.00643d80