Function at 0x529b40
Capabilities:
Gather firefox profile information

Disassembly:
lea r12, [rsp - 0x48]
cmp r12, qword [r14 + 0x10]
jbe 0x52a086
sub rsp, 0xc8
mov qword [rsp + 0xc0], rbp
lea rbp, [rsp + 0xc0]
mov qword [rsp + 0xd0], rax
lea rcx, [rsi - 2]
cmp rcx, 0x3c
ja 0x52a072
nop dword [rax]
test rbx, rbx
je 0x529cce
mov byte [rsp + 0xe8], dil
mov qword [rsp + 0xd8], rbx
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xf0], rsi
mov rcx, qword [rax + rbx*8 - 8]
mov qword [rsp + 0xa0], rcx
bsr rdx, rcx
mov qword [rsp + 0x98], rdx
xorps xmm0, xmm0
cvtsi2sd xmm0, rsi
call fcn.004a4a40
mov rax, qword [rsp + 0xa0]
bsr rax, rax
mov rax, qword [rsp + 0x98]
mov rcx, 0xffffffffffffffff
cmove rax, rcx
mov rcx, qword [rsp + 0xd8]
lea rdx, [rcx - 1]
shl rdx, 6
lea rax, [rax + rdx]
lea rax, [rax + 1]
xorps xmm1, xmm1
cvtsi2sd xmm1, rax
divsd xmm1, xmm0
cvttsd2si rax, xmm1
lea rbx, [rax + 1]
add rax, 2
movzx edx, byte [rsp + 0xe8]
movzx esi, dl
test rsi, rsi
cmovne rbx, rax
mov qword [rsp + 0x90], rbx
lea rax, [0x0070f280]
mov rcx, rbx
call fcn.00449300
mov rbx, qword [rsp + 0xf0]
mov rcx, rbx
neg rbx
and rbx, rcx
cmp rcx, rbx
jne 0x529cb2
bsf rdx, rcx
cmp rdx, 0x40
sbb rsi, rsi
mov qword [rsp + 0xa0], rsi
nop
mov rcx, rdx
mov edi, 1
shl rdi, cl
and rdi, rsi
dec rdi
mov r8, qword [rsp + 0xd0]
mov r9, qword [r8]
mov rbx, qword [rsp + 0x90]
mov r10, qword [rsp + 0xd8]
mov r11, rbx
mov r12d, 1
mov r13d, 0x40
jmp 0x529ee0
mov rdx, rax
mov rax, 0xffffffffffffffff
mov rbx, rdx
xor edx, edx
div rcx
mov rdx, rcx
mov esi, 1
jmp 0x529d00
lea rax, [0x00710a20]
call fcn.0040d400
mov byte [rax], 0x30
mov ebx, 1
mov rcx, rbx
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
imul rcx, rdx
inc rsi
nop dword [rax]
cmp rax, rcx
jae 0x529cf5
mov qword [rsp + 0xb8], rbx
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rsi
mov rax, qword [rsp + 0xd8]
mov rbx, rdx
mov rdi, rcx
mov rcx, rsi
call fcn.0052a900
mov qword [rsp + 0xa8], rax
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rcx
nop
mov rdx, qword [rsp + 0xd8]
cmp rdx, 1
jne 0x529d74
lea rax, [0x0070ea80]
mov ebx, 1
mov rcx, rbx
call fcn.00449300
mov ecx, 1
mov edx, 1
jmp 0x529d99
lea rcx, [rdx + 4]
mov qword [rsp + 0x60], rcx
lea rax, [0x0070ea80]
mov rbx, rdx
call fcn.00449300
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0x60]
mov r12, qword [rsp + 0xd8]
cmp r12, rcx
mov rbx, rcx
cmovl rcx, r12
mov r12, qword [rsp + 0xd0]
cmp r12, rax
je 0x529dee
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xb0], rax
shl rcx, 3
mov rbx, r12
call fcn.00463ac0
mov rax, qword [rsp + 0xb0]
mov rdx, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x98]
mov r12, qword [rsp + 0xa8]
mov qword [rsp], r12
mov r12, qword [rsp + 0x68]
mov qword [rsp + 8], r12
mov r12, qword [rsp + 0x70]
mov qword [rsp + 0x10], r12
mov rcx, rdx
mov rdi, qword [rsp + 0xb8]
mov rsi, qword [rsp + 0x90]
mov r8, rsi
mov r9, qword [rsp + 0xf0]
mov r10, qword [rsp + 0x88]
mov r11, qword [rsp + 0x80]
nop dword [rax]
call fcn.0052a0e0
mov r8, qword [rsp + 0x90]
mov rdi, qword [rsp + 0xb8]
xor eax, eax
jmp 0x529e60
inc rax
nop dword [rax]
cmp rax, r8
jae 0x529ed1
movzx edx, byte [rax + rdi]
cmp dl, 0x30
je 0x529e59
movzx edx, byte [rsp + 0xe8]
test dl, dl
je 0x529e8c
lea rdx, [rax - 1]
nop
cmp r8, rdx
jbe 0x529ec6
mov byte [rax + rdi - 1], 0x2d
jmp 0x529e8f
mov rdx, rax
cmp rdx, r8
ja 0x529ebb
sub r8, rdx
mov rcx, r8
neg r8
sar r8, 0x3f
and rdx, r8
lea rax, [rdi + rdx]
mov rbx, rcx
mov rbp, qword [rsp + 0xc0]
add rsp, 0xc8
ret
mov rax, rdx
mov rcx, r8
call fcn.00463200
mov rax, rdx
mov rcx, r8
call fcn.00463140
mov rcx, r8
call fcn.00463140
inc r12
nop dword [rax]
cmp r10, r12
jg 0x52a00c
jmp 0x529f99
test r13, r13
jne 0x529eff
mov r9, qword [r8 + r12*8]
mov r13d, 0x40
jmp 0x529ed9
cmp r13, 0x40
sbb r15, r15
mov rsi, qword [r8 + r12*8]
mov rcx, r13
shl rsi, cl
and r15, rsi
or r9, r15
and r9, rdi
nop dword [rax]
cmp r9, 0x3e
jae 0x52a048
lea rsi, [rbx - 1]
lea r15, [0x00789d7d]
movzx r9d, byte [r9 + r15]
nop word [rax + rax]
cmp r11, rsi
jbe 0x52a03d
mov byte [rbx + rax - 1], r9b
mov r15, rdx
sub rdx, rcx
cmp rdx, 0x40
sbb r9, r9
mov r13, qword [r8 + r12*8]
mov rcx, rdx
shr r13, cl
and r9, r13
lea rdx, [rcx - 0x40]
neg rdx
mov rcx, r15
mov r13, rdx
mov rbx, rsi
mov rdx, rcx
mov rsi, qword [rsp + 0xa0]
jmp 0x529ed9
mov byte [rbx + rax - 1], r9b
shr r8, cl
and r8, rsi
mov r9, r8
mov rbx, r10
test r9, r9
je 0x529fc2
mov r8, r9
and r9, rdi
cmp r9, 0x3e
jae 0x529fdb
lea r10, [rbx - 1]
lea r12, [0x00789d7d]
movzx r9d, byte [r9 + r12]
cmp r11, r10
ja 0x529f88
nop
jmp 0x529fd0
mov rdi, rax
mov r8, r11
mov rax, rbx
jmp 0x529e6e
mov rax, r10
mov rcx, r11
call fcn.00463140
mov rax, r9
mov ecx, 0x3e
call fcn.00463160
mov byte [rbx + rax - 1], r8b
shr r15, cl
and r15, rsi
sub r13, rcx
mov r8, qword [rsp + 0xd0]
mov r9, r15
mov rbx, r10
mov r10, qword [rsp + 0xd8]
cmp rcx, r13
ja 0x529eee
mov r15, r9
and r9, rdi
nop dword [rax + rax]
cmp r9, 0x3e
jae 0x52a065
lea r10, [rbx - 1]
lea r8, [0x00789d7d]
movzx r8d, byte [r9 + r8]
cmp r11, r10
ja 0x529fe8
jmp 0x52a055
mov rax, rsi
mov rcx, r11
call fcn.00463140
mov rax, r9
mov ecx, 0x3e
call fcn.00463160
mov rax, r10
mov rcx, r11
nop dword [rax + rax]
call fcn.00463140
mov rax, r9
mov ecx, 0x3e
call fcn.00463160
lea rax, [0x0070f0c0]
lea rbx, [0x00814680]
call fcn.004356e0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov byte [rsp + 0x20], dil
mov qword [rsp + 0x28], rsi
nop
call fcn.00460a60
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
movzx edi, byte [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
nop
jmp fcn.00529b40