Function at 0x18004d180
Capabilities:
Create thread
Query or enumerate registry value
Set registry value

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x328
movdqa xmmword [rsp + 0x310], xmm6
mov rdi, r8
mov ebp, edx
mov rbx, rcx
mov rax, qword [0x1800a6010]
xor rax, rsp
mov qword [rsp + 0x308], rax
call sym.mozglue.dll_gIsEafPlusEnabled_mozilla__YA_NXZ
test al, al
jne 0x18004d1c4
call sym.mozglue.dll_gCacheNtDllThunk_mozilla__YAXXZ
mov ecx, 0x28
call sym.mozglue.dll_goz_xmalloc
mov rsi, rax
mov rcx, rax
xor edx, edx
call fcn.18004eae0
mov qword [0x1800a82a8], rsi
lea rcx, [rsp + 0x130]
mov dl, 1
call sym.mozglue.dll_gNow_TimeStamp_mozilla__CA_AV12__N_Z
mov eax, dword [0x1800a6748]
cmp eax, 0x9ffffff
ja 0x18004d302
mov eax, dword [0x1800a6040]
mov r14d, 1
cmp eax, 0xa000001
jae 0x18004d26c
cmp byte [0x1800a82d4], 0
jne 0x18004d258
mov dword [0x1800a82d0], r14d
mov byte [0x1800a82d4], 1
mov rcx, qword [rsp + 0x308]
xor rcx, rsp
call fcn.18004b970
movaps xmm6, xmmword [rsp + 0x310]
add rsp, 0x328
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rax, str.MOZ_RELEASE_ASSERT__isSome___
mov qword [sym.mozglue.dll_gMozCrashReason], rax
int3
lea rsi, [rsp + 0x1f4]
mov r8d, 0x110
mov rcx, rsi
xor edx, edx
call fcn.180091cf0
movabs rax, 0xa0000011c
mov qword [rsi - 0xc], rax
mov dword [rsi - 4], 0
mov rsi, qword [sym.imp.ntdll.dll_VerSetConditionMask]
xor ecx, ecx
mov edx, 2
mov r8b, 3
call rsi
mov r14d, 1
mov rcx, rax
mov edx, 1
mov r8b, 3
call rsi
mov rcx, rax
mov edx, 0x20
mov r8b, 3
call rsi
mov rcx, rax
mov edx, 0x10
mov r8b, 3
call rsi
lea rcx, [rsp + 0x1e8]
mov edx, 0x33
mov r8, rax
call qword [sym.imp.KERNEL32.dll_VerifyVersionInfoW]
test eax, eax
je 0x18004d9ca
mov eax, 0xa000000
xchg dword [0x1800a6748], eax
lea rsi, [rsp + 0x1e8]
mov rcx, rsi
call fcn.18001b190
cmp byte [rsi + 8], 0
jne 0x18004db63
lea r14, [rsp + 0x1e8]
mov rax, qword [r14]
mov qword [rsp + 0x68], rax
mov rcx, r14
call fcn.18001b0e0
cmp byte [r14 + 8], 0
jne 0x18004db70
mov rdx, qword [rsp + 0x1e8]
lea rsi, [rsp + 0x1c8]
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], 7
mov word [rsi], 0
mov rcx, rsi
mov qword [rsp + 0x70], rdx
call fcn.18001b240
lea rdx, str.Progress
mov r8d, 9
mov rcx, rsi
call fcn.18001b5b0
lea r13, [rsp + 0x148]
mov rcx, r13
mov rdx, qword [rsp + 0x68]
mov r8, rsi
call fcn.1800791b0
cmp byte [r13 + 4], 0
jne 0x18004d3bd
cmp dword [rsp + 0x148], 1
je 0x18004d3bd
xor r13d, r13d
mov r14d, 0x15
jmp 0x18004d992
mov dword [rsp + 0x1e8], 0
cmp qword [rsp + 0x1e0], 8
jb 0x18004d3db
mov rsi, qword [rsp + 0x1c8]
mov qword [rsp + 0x20], r14
mov dword [rsp + 0x28], 4
xor r13d, r13d
mov rcx, qword [rsp + 0x68]
mov rdx, rsi
xor r8d, r8d
mov r9d, 4
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x18004db88
movabs r15, 0xff0000000000
lea rsi, [rsp + 0x1e8]
mov rcx, rsi
call fcn.18001b3b0
mov r14, qword [rsi]
test r14, r15
je 0x18004d82b
xorps xmm0, xmm0
lea rcx, [rsp + 0x1e8]
movups xmmword [rcx + 8], xmm0
mov qword [rcx], 8
mov edx, 0xe
call fcn.18001ab30
mov cl, 1
mov dword [rsp + 0x78], ecx
mov r14d, 4
test al, al
je 0x18004d7ed
mov rax, qword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x1f0]
lea rdx, str.new_instance
mov qword [rax + rcx*8], rdx
mov rax, qword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x1f0]
lea rdx, [rcx + 1]
mov qword [rsp + 0x1f0], rdx
lea rdx, str.no_remote
mov qword [rax + rcx*8 + 8], rdx
mov rax, qword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x1f0]
lea rdx, [rcx + 1]
mov qword [rsp + 0x1f0], rdx
lea rdx, [0x180096136]
mov qword [rax + rcx*8 + 8], rdx
mov rax, qword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x1f0]
lea rdx, [rcx + 1]
mov qword [rsp + 0x1f0], rdx
lea rdx, str.foreground
mov qword [rax + rcx*8 + 8], rdx
mov rax, qword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x1f0]
lea rdx, [rcx + 1]
mov qword [rsp + 0x1f0], rdx
lea rdx, str.setDefaultBrowser
mov qword [rax + rcx*8 + 8], rdx
mov rax, qword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x1f0]
lea rdx, [rcx + 1]
mov qword [rsp + 0x1f0], rdx
lea rdx, str.attach_console
mov qword [rax + rcx*8 + 8], rdx
mov rax, qword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x1f0]
lea rdx, [rcx + 1]
mov qword [rsp + 0x1f0], rdx
lea rdx, str.wait_for_browser
mov qword [rax + rcx*8 + 8], rdx
mov rax, qword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x1f0]
lea rdx, [rcx + 1]
mov qword [rsp + 0x1f0], rdx
lea rdx, str.osint
mov qword [rax + rcx*8 + 8], rdx
mov rax, qword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x1f0]
lea rdx, [rcx + 1]
mov qword [rsp + 0x1f0], rdx
lea rdx, str.new_tab
mov qword [rax + rcx*8 + 8], rdx
mov rax, qword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x1f0]
lea rdx, [rcx + 1]
mov qword [rsp + 0x1f0], rdx
lea rdx, str.new_window
mov qword [rax + rcx*8 + 8], rdx
mov rax, qword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x1f0]
lea rdx, [rcx + 1]
mov qword [rsp + 0x1f0], rdx
lea rdx, str.marionette
mov qword [rax + rcx*8 + 8], rdx
mov rax, qword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x1f0]
lea rdx, [rcx + 1]
mov qword [rsp + 0x1f0], rdx
lea rdx, str.preferences
mov qword [rax + rcx*8 + 8], rdx
mov rax, qword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x1f0]
lea rdx, [rcx + 1]
mov qword [rsp + 0x1f0], rdx
lea rdx, str.search
mov qword [rax + rcx*8 + 8], rdx
mov rax, qword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x1f0]
lea rdx, [rcx + 1]
mov qword [rsp + 0x1f0], rdx
lea rdx, [0x180096493]
mov qword [rax + rcx*8 + 8], rdx
mov rcx, qword [rsp + 0x1f0]
inc rcx
mov rax, rcx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x1f0], rcx
cmp ebp, 2
jl 0x18004d7e5
mov eax, ebp
mov qword [rsp + 0x90], rax
mov esi, 1
lea r12, [0x180097beb]
lea r13, str.marionette
mov rbp, qword [rdi + rsi*8]
mov r15d, 2
mov r8d, 2
mov rcx, rbp
mov rdx, r12
call fcn.180091d30
test eax, eax
je 0x18004d6fc
movzx eax, byte [rbp]
mov r15d, 1
or eax, 2
cmp eax, 0x2f
jne 0x18004d712
add rbp, r15
mov rcx, rbp
mov rdx, r13
call fcn.180091e10
test eax, eax
je 0x18004d9eb
inc rsi
cmp qword [rsp + 0x90], rsi
jne 0x18004d6cb
mov eax, 0xffffffff
mov eax, eax
mov qword [rsp + 0x78], rax
mov r13d, 1
xor r12d, r12d
mov rsi, qword [rdi + r13*8]
mov r14d, 2
mov r8d, 2
mov rcx, rsi
lea rdx, [0x180097beb]
call fcn.180091d30
test eax, eax
je 0x18004d768
movzx eax, byte [rsi]
mov r14d, 1
or eax, 2
cmp eax, 0x2f
jne 0x18004d7c4
mov rbp, qword [rsp + 0x1e8]
mov r15, qword [rsp + 0x1f0]
test r15, r15
je 0x18004da66
add rsi, r14
shl r15, 3
xor r14d, r14d
mov rdx, qword [rbp + r14]
mov rcx, rsi
call qword [0x1800a2fe8]
cmp r13, qword [rsp + 0x78]
movzx ecx, r12b
mov r12d, ecx
mov edx, 1
cmove r12d, edx
test eax, eax
cmovne r12d, ecx
je 0x18004d7c4
add r14, 8
cmp r15, r14
jne 0x18004d78b
jmp 0x18004d9da
inc r13
cmp r13, qword [rsp + 0x90]
jne 0x18004d734
mov r14d, 5
mov dword [rsp + 0x78], 0
jmp 0x18004d7f0
mov dword [rsp + 0x78], 0
xor r12d, r12d
mov rbp, qword [rsp + 0x1e8]
cmp rbp, 8
je 0x18004d807
mov rcx, rbp
call qword [0x1800a3070]
cmp byte [rsp + 0x78], 0
jne 0x18004d82b
lea rcx, str.MOZ_SAFE_MODE_RESTART
call qword [0x1800a3090]
test rax, rax
je 0x18004d855
cmp byte [rax], 0
je 0x18004d855
mov r14d, 6
xor r13d, r13d
mov dword [rsp + 0x1e8], 1
cmp qword [rsp + 0x1e0], 8
jb 0x18004d961
mov rdx, qword [rsp + 0x1c8]
jmp 0x18004d969
lea rcx, str.MOZ_APP_SILENT_START
call qword [0x1800a3090]
test rax, rax
je 0x18004d86c
cmp byte [rax], 0
jne 0x18004d825
lea rcx, str.MOZ_RESET_PROFILE_RESTART
call qword [0x1800a3090]
test rax, rax
je 0x18004d883
cmp byte [rax], 0
jne 0x18004d825
lea rcx, str.MOZ_HEADLESS
call qword [0x1800a3090]
test rax, rax
je 0x18004d89a
cmp byte [rax], 0
jne 0x18004d825
lea rcx, str.XRE_PROFILE_PATH
call qword [0x1800a3090]
test rax, rax
je 0x18004d8d6
cmp byte [rax], 0
je 0x18004d8d6
lea rcx, [0x1800977e1]
call qword [0x1800a3090]
mov r14d, 6
test rax, rax
je 0x18004d82b
cmp byte [rax], 0
je 0x18004d82b
lea rsi, [rsp + 0x1e8]
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], 7
mov word [rsi], 0
mov rcx, rsi
mov rdx, qword [rsp + 0x70]
call fcn.18001b240
lea rdx, str.Enabled
mov r8d, 8
mov rcx, rsi
call fcn.18001b5b0
lea rdi, [rsp + 0x180]
mov rcx, rdi
mov rdx, qword [rsp + 0x68]
mov r8, rsi
call fcn.1800791b0
cmp byte [rdi + 4], 0
jne 0x18004e2c2
mov esi, dword [rsp + 0x180]
lea rcx, [rsp + 0x1e8]
call fcn.18001b070
test esi, esi
jne 0x18004da77
xor r13d, r13d
mov r14d, 2
jmp 0x18004d82e
lea rdx, [rsp + 0x1c8]
lea rax, [rsp + 0x1e8]
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 4
mov rcx, qword [rsp + 0x68]
xor r8d, r8d
mov r9d, 4
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
lea rcx, [rsp + 0x1c8]
call fcn.18001b070
cmp qword [rsp + 0x70], 0
je 0x18004d9b1
mov rcx, qword [rsp + 0x70]
call sym.mozglue.dll_galigned_free
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test r13b, r13b
je 0x18004d215
jmp 0x18004d22c
mov eax, 0xa000000
xchg dword [0x1800a6040], eax
jmp 0x18004d215
mov al, 1
mov dword [rsp + 0x78], eax
mov r14d, 5
jmp 0x18004d7f0
mov rax, qword [rsp + 0x88]
cmp rax, qword [rsp + 0x1f8]
jne 0x18004da27
lea rcx, [rsp + 0x1e8]
mov edx, 1
call fcn.18001ab30
test al, al
je 0x18004d7ed
mov rax, qword [rsp + 0x1f0]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x1e8]
lea rcx, str.profile
mov rdx, qword [rsp + 0x88]
mov qword [rax + rdx*8], rcx
mov rax, qword [rsp + 0x1f0]
lea rcx, [rax + 1]
mov qword [rsp + 0x1f0], rcx
mov ecx, 0xffffffff
add rax, rcx
inc rax
jmp 0x18004d724
mov al, 1
mov dword [rsp + 0x78], eax
mov r14d, 5
jmp 0x18004d7f8
mov byte [0x1800a82b8], 1
mov ecx, 0x18
call sym.mozglue.dll_goz_xmalloc
xorps xmm0, xmm0
movups xmmword [rax + 8], xmm0
mov qword [rax], 0x24
mov qword [0x1800a8288], rax
lea rsi, [rsp + 0x1e8]
mov rcx, rsi
call fcn.1800786b0
mov r14, qword [rsi]
movabs rax, 0xff0000000000
test r14, rax
je 0x18004d82b
test r12b, r12b
je 0x18004db93
lea rsi, [rsp + 0x180]
mov dword [rsi], 8
lea rax, [0x180078540]
mov qword [rsi + 8], rax
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], rbx
mov rdi, qword [0x1800a81e8]
xor r13d, r13d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov edx, 0x7f00
mov rcx, rax
mov rax, rdi
call qword [case.0x18004a5de.0]
mov qword [rsi + 0x20], rax
mov rax, qword [0x1800a81f0]
mov edx, 0x7f02
mov rcx, rbx
call qword [case.0x18004a5de.0]
mov qword [rsi + 0x28], rax
xorps xmm0, xmm0
movups xmmword [rsi + 0x30], xmm0
lea rax, str.MozillaWindowClass
mov qword [rsi + 0x40], rax
mov rax, qword [0x1800a81e0]
mov rcx, rsi
call qword [case.0x18004a5de.0]
test ax, ax
jne 0x18004dbc1
mov r14d, 0xd
jmp 0x18004d82e
mov r14d, dword [rsp + 0x1e8]
jmp 0x18004d215
mov r14d, dword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x18004d215
mov r14d, 8
jmp 0x18004d992
lea rdx, [0x180093010]
lea rsi, [rsp + 0xe0]
mov rcx, rsi
call fcn.18004f380
mov rdx, qword [rsi]
test rdx, rdx
jne 0x18004e0e2
mov r14d, 0xb
jmp 0x18004d82b
lea rsi, [rsp + 0x1e8]
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], 7
mov word [rsi], 0
mov rcx, rsi
mov rdx, qword [rsp + 0x70]
call fcn.18001b240
lea rdx, str.ScreenX
mov r8d, 8
mov rcx, rsi
call fcn.18001b5b0
lea rdi, [rsp + 0x150]
mov rcx, rdi
mov rdx, qword [rsp + 0x68]
mov r8, rsi
call fcn.1800791b0
mov rcx, rsi
call fcn.18001b070
cmp byte [rdi + 4], 0
mov r14d, dword [rdi]
jne 0x18004d82b
lea rsi, [rsp + 0x1e8]
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], 7
mov word [rsi], 0
mov rcx, rsi
mov rdx, qword [rsp + 0x70]
call fcn.18001b240
lea rdx, [0x18009b2dc]
mov r8d, 8
mov rcx, rsi
call fcn.18001b5b0
lea rdi, [rsp + 0x150]
mov rcx, rdi
mov rdx, qword [rsp + 0x68]
mov r8, rsi
call fcn.1800791b0
mov rcx, rsi
call fcn.18001b070
cmp byte [rdi + 4], 0
mov eax, dword [rdi]
mov dword [rsp + 0x9c], eax
jne 0x18004e601
lea rsi, [rsp + 0x1e8]
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], 7
mov word [rsi], 0
mov rcx, rsi
mov rdx, qword [rsp + 0x70]
call fcn.18001b240
lea rdx, str.Width
mov r8d, 6
mov rcx, rsi
call fcn.18001b5b0
lea rdi, [rsp + 0x150]
mov rcx, rdi
mov rdx, qword [rsp + 0x68]
mov r8, rsi
call fcn.1800791b0
mov rcx, rsi
call fcn.18001b070
cmp byte [rdi + 4], 0
mov eax, dword [rdi]
mov dword [rsp + 0x88], eax
jne 0x18004e60d
lea rsi, [rsp + 0x1e8]
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], 7
mov word [rsi], 0
mov rcx, rsi
mov rdx, qword [rsp + 0x70]
call fcn.18001b240
lea rdx, str.Height
mov r8d, 7
mov rcx, rsi
call fcn.18001b5b0
lea rdi, [rsp + 0x150]
mov rcx, rdi
mov rdx, qword [rsp + 0x68]
mov r8, rsi
call fcn.1800791b0
mov rcx, rsi
call fcn.18001b070
cmp byte [rdi + 4], 0
mov eax, dword [rdi]
mov dword [rsp + 0x84], eax
jne 0x18004e619
lea rsi, [rsp + 0x1e8]
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], 7
mov word [rsi], 0
mov rcx, rsi
mov rdx, qword [rsp + 0x70]
call fcn.18001b240
lea rdx, str.Maximized
mov r8d, 0xa
mov rcx, rsi
call fcn.18001b5b0
lea r15, [rsp + 0x150]
mov rcx, r15
mov rdx, qword [rsp + 0x68]
mov r8, rsi
call fcn.1800791b0
cmp byte [r15 + 4], 0
mov ebp, dword [r15]
jne 0x18004e62b
lea rsi, [rsp + 0x1e8]
mov rcx, rsi
call fcn.18001b070
test ebp, ebp
setne byte [0x1800a8278]
xor edi, edi
mov qword [rsi + 0x10], rdi
mov qword [rsi + 0x18], 7
mov word [rsi], 0
mov rcx, rsi
mov rdx, qword [rsp + 0x70]
call fcn.18001b240
lea rdx, str.CssToDevPixelScaling
mov r8d, 0x15
mov rcx, rsi
call fcn.18001b5b0
mov qword [rsp + 0x150], rdi
mov dword [rsp + 0xe0], 8
cmp qword [rsi + 0x18], 8
mov r8, rsi
jb 0x18004de5b
mov r8, qword [rsp + 0x1e8]
lea rbp, [rsp + 0xe0]
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rdi
mov rcx, qword [rsp + 0x68]
xor edx, edx
mov r9d, 8
call qword [sym.imp.ADVAPI32.dll_RegGetValueW]
mov edi, eax
mov ebp, dword [rbp]
xor ebp, 8
movq xmm6, qword [rsp + 0x150]
mov rcx, rsi
call fcn.18001b070
or ebp, edi
je 0x18004deaa
movq xmm6, qword [0x180093f00]
jne 0x18004e5f7
movq qword [0x1800a8270], xmm6
lea rsi, [rsp + 0x150]
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], 7
mov word [rsi], 0
mov rcx, rsi
mov rdx, qword [rsp + 0x70]
call fcn.18001b240
lea rdx, str.UrlbarCSSSpan
mov r8d, 0xe
mov rcx, rsi
call fcn.18001b5b0
lea rdi, [rsp + 0x1e8]
mov rcx, rdi
mov rdx, qword [rsp + 0x68]
mov r8, rsi
call fcn.180079240
mov rcx, rsi
call fcn.18001b070
cmp byte [rdi + 0x18], 0
jne 0x18004e643
lea rsi, [rsp + 0x1f0]
mov rax, qword [rsi - 8]
mov r12, qword [rsi]
mov qword [rsp + 0x78], rax
cmp rax, 0x10
je 0x18004df4d
mov qword [rsp + 0x1e8], 0x10
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
lea rdi, [rsp + 0x150]
mov qword [rdi + 0x10], 0
mov qword [rdi + 0x18], 7
mov word [rdi], 0
mov rcx, rdi
mov rdx, qword [rsp + 0x70]
call fcn.18001b240
lea rdx, str.SearchbarCSSSpan
mov r8d, 0x11
mov rcx, rdi
call fcn.18001b5b0
lea rbp, [rsp + 0x1e8]
mov rcx, rbp
mov rdx, qword [rsp + 0x68]
mov r8, rdi
call fcn.180079240
mov rcx, rdi
call fcn.18001b070
cmp byte [rbp + 0x18], 0
jne 0x18004e650
lea rbp, [rsp + 0x1e8]
mov rax, qword [rbp]
mov qword [rsp + 0x90], rax
mov r15, qword [rbp + 8]
xorps xmm0, xmm0
movups xmmword [rsp + 0x120], xmm0
lea rdi, [rsp + 0x150]
mov qword [rdi + 0x10], 0
mov qword [rdi + 0x18], 7
mov word [rdi], 0
mov rcx, rdi
mov rdx, qword [rsp + 0x70]
call fcn.18001b240
lea rdx, str.SpringsCSSSpan
mov r8d, 0xf
mov rcx, rdi
call fcn.18001b5b0
mov rcx, rbp
mov rdx, qword [rsp + 0x68]
mov r8, rdi
call fcn.180079240
mov rcx, rdi
call fcn.18001b070
cmp byte [rbp + 0x18], 0
jne 0x18004e65f
mov rbp, qword [rsp + 0x1e8]
mov rax, qword [rsp + 0x1f0]
mov rcx, qword [rsp + 0x1f8]
cmp rbp, 0x10
je 0x18004e1bb
mov qword [rsp + 0x1e8], 0x10
xorps xmm0, xmm0
movups xmmword [rsi], xmm0
mov rdx, rbp
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], rcx
mov qword [rsp + 0x118], rdx
xor r13d, r13d
mov edi, 0xe
test r12, r12
je 0x18004e09f
test r15, r15
jne 0x18004e480
cmp rbp, 0x10
je 0x18004e0ae
mov rcx, rbp
call qword [0x1800a3070]
cmp qword [rsp + 0x90], 0x10
je 0x18004e0c7
mov rcx, qword [rsp + 0x90]
call qword [0x1800a3070]
cmp qword [rsp + 0x78], 0x10
je 0x18004e0da
mov rcx, qword [rsp + 0x78]
call qword [0x1800a3070]
mov r14d, edi
jmp 0x18004d82e
lea rsi, [rsp + 0x150]
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], 7
mov word [rsi], 0
mov rcx, rsi
call fcn.18001b240
lea rdx, str.MozillaFirefoxprofiles.ini
mov r8d, 0x1d
mov rcx, rsi
call fcn.18001b5b0
cmp qword [rsi + 0x18], 8
jb 0x18004e12b
mov rsi, qword [rsp + 0x150]
lea rax, [0x180093f78]
lea rdi, [rsp + 0x298]
mov qword [rdi - 0xb0], rax
mov rcx, rdi
call qword [0x1800a29b0]
lea rax, [0x180093c88]
mov qword [rdi], rax
lea rdi, [rsp + 0x1e8]
mov rcx, rdi
mov rdx, rsi
call fcn.180079460
mov rax, qword [rdi]
movsxd rax, dword [rax + 4]
lea rcx, [0x180093f80]
mov qword [rsp + rax + 0x1e8], rcx
mov rax, qword [rdi]
movsxd rax, dword [rax + 4]
lea ecx, [rax - 0xb0]
mov dword [rsp + rax + 0x1e4], ecx
mov rax, qword [rdi]
movsxd rax, dword [rax + 4]
lea rcx, [rsp + rax]
add rcx, 0x1e8
call qword [0x1800a2a60]
test al, al
je 0x18004e1c5
mov sil, 1
mov r14d, 0xb
jmp 0x18004e243
mov edx, 0x10
jmp 0x18004e071
lea r15, [rsp + 0x180]
mov qword [r15 + 0x10], 0
mov qword [r15 + 0x18], 0xf
mov byte [r15], 0
lea rdi, [rsp + 0x1e8]
mov rax, qword [rdi]
movsxd rax, dword [rax + 4]
lea rcx, [rsp + rax]
add rcx, 0x1e8
mov dl, 0xa
call qword [0x1800a2ae8]
mov rcx, rdi
mov rdx, r15
mov r8d, eax
call fcn.1800798e0
mov rax, qword [rdi]
movsxd rax, dword [rax + 4]
lea rcx, [rsp + rax]
add rcx, 0x1e8
call qword [0x1800a2a60]
test al, al
je 0x18004e2da
lea rcx, [rsp + 0x180]
call fcn.180025390
xor r14d, r14d
xor esi, esi
lea rcx, [rsp + 0x1f8]
mov rax, qword [rcx - 0x10]
movsxd rax, dword [rax + 4]
lea rdx, [0x180093f88]
mov qword [rsp + rax + 0x1e8], rdx
mov rax, qword [rcx - 0x10]
movsxd rax, dword [rax + 4]
lea edx, [rax - 0xb0]
mov dword [rsp + rax + 0x1e4], edx
call fcn.18006e2b0
lea rcx, [rsp + 0x298]
call qword [0x1800a29c8]
lea rcx, [rsp + 0x150]
call fcn.18001b070
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0xe0], 0
test rcx, rcx
jne 0x18004e504
test sil, sil
je 0x18004dacc
jmp 0x18004d82b
lea rcx, [rsp + 0x1e8]
call fcn.18001b070
mov r14d, 3
jmp 0x18004d82b
xor edi, edi
lea r12, [rsp + 0x1e8]
mov r8, qword [rsp + 0x190]
mov rax, qword [rsp + 0x198]
test r8, r8
jne 0x18004e3d6
mov rcx, qword [rsp + 0x180]
xor edx, edx
cmp r8, rdx
cmovb rdx, r8
cmp rax, 0x10
cmovb rcx, r15
sub r8, rdx
mov qword [rsp + 0x190], r8
inc r8
add rdx, rcx
call fcn.180091e40
cmp qword [rsp + 0x198], 0x10
mov rbp, r15
jb 0x18004e342
mov rbp, qword [rsp + 0x180]
mov r13, qword [rsp + 0x190]
cmp r13, 9
mov r8d, 9
cmovb r8, r13
mov rcx, rbp
lea rdx, str._General_
call fcn.180091ce0
test eax, eax
jne 0x18004e40d
mov r14b, 1
cmp r13, 9
jne 0x18004e40d
mov rax, qword [rsp + 0x1e8]
movsxd rax, dword [rax + 4]
lea rcx, [rsp + rax]
add rcx, 0x1e8
mov dl, 0xa
call qword [0x1800a2ae8]
mov rcx, r12
mov rdx, r15
mov r8d, eax
call fcn.1800798e0
mov rax, qword [rsp + 0x1e8]
movsxd rax, dword [rax + 4]
lea rcx, [rsp + rax]
add rcx, 0x1e8
call qword [0x1800a2a60]
mov edi, r14d
test al, al
je 0x18004e2e4
jmp 0x18004e231
cmp rax, 0x10
mov rcx, qword [rsp + 0x180]
mov rsi, r15
cmovae rsi, rcx
xor edx, edx
movzx ebp, byte [rsi + rdx]
cmp ebp, 0x20
je 0x18004e3fd
cmp ebp, 9
jne 0x18004e307
inc rdx
cmp r8, rdx
jne 0x18004e3eb
mov rdx, r8
jmp 0x18004e307
test dil, 1
jne 0x18004e41b
mov r14d, edi
jmp 0x18004e37c
cmp byte [rbp], 0x5b
jne 0x18004e429
xor r14d, r14d
jmp 0x18004e37c
mov qword [rsp + 0x20], 0x15
mov rcx, rbp
mov rdx, r13
xor r8d, r8d
lea r9, str.StartWithLastProfile
call fcn.1800499a0
test rax, rax
jne 0x18004e413
cmp qword [rsp + 0x198], 0x10
mov rax, r15
jb 0x18004e462
mov rax, qword [rsp + 0x180]
movzx eax, byte [rax + 0x15]
cmp eax, 0x30
je 0x18004e50e
mov r14d, edi
cmp eax, 0x31
jne 0x18004e37c
jmp 0x18004e231
lea rdi, [rsp + 0x1e8]
mov qword [rdi + 0x10], 0
mov qword [rdi + 0x18], 7
mov word [rdi], 0
mov rcx, rdi
mov rdx, qword [rsp + 0x70]
call fcn.18001b240
lea rdx, str.Flags
mov r8d, 6
mov rcx, rdi
call fcn.18001b5b0
lea r13, [rsp + 0x150]
mov rcx, r13
mov rdx, qword [rsp + 0x68]
mov r8, rdi
call fcn.1800791b0
mov rcx, rdi
call fcn.18001b070
cmp byte [r13 + 4], 0
mov edi, dword [r13]
jne 0x18004e4fc
mov dword [rsp + 0x110], edi
test dil, 0x18
je 0x18004e529
mov edi, 0x16
xor r13d, r13d
jmp 0x18004e09f
call fcn.18004f310
jmp 0x18004e2b4
lea rcx, [rsp + 0x180]
call fcn.180025390
mov sil, 1
mov r14d, 0xc
jmp 0x18004e243
lea rdi, [rsp + 0x1e8]
mov qword [rdi + 0x10], 0
mov qword [rdi + 0x18], 7
mov word [rdi], 0
mov rcx, rdi
mov rdx, qword [rsp + 0x70]
call fcn.18001b240
lea rdx, str.Theme
mov r8d, 6
mov rcx, rdi
call fcn.18001b5b0
lea r13, [rsp + 0x150]
mov rcx, r13
mov rdx, qword [rsp + 0x68]
mov r8, rdi
call fcn.1800791b0
mov rcx, rdi
call fcn.18001b070
cmp byte [r13 + 4], 0
mov edi, dword [r13]
jne 0x18004e4fc
cmp edi, 1
je 0x18004e66e
xorps xmm0, xmm0
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0xe0], xmm0
mov dword [rsp + 0x100], 0
cmp edi, 2
jne 0x18004e67b
mov r8d, 0xc0c0d
mov r10d, 0x1c1b22
mov r9d, 0x6a6a6d
mov ecx, 0x42414d
mov esi, 0x2b2a33
mov eax, 0x1c1b22
mov edx, 0x42414d
mov edi, 0x42414d
jmp 0x18004e6a6
movq r14, xmm6
jmp 0x18004d82b
xor r13d, r13d
mov eax, dword [rsp + 0x9c]
jmp 0x18004e623
xor r13d, r13d
mov eax, dword [rsp + 0x88]
jmp 0x18004e623
xor r13d, r13d
mov eax, dword [rsp + 0x84]
mov r14d, eax
jmp 0x18004d82e
lea rcx, [rsp + 0x1e8]
call fcn.18001b070
xor r13d, r13d
mov r14d, ebp
jmp 0x18004d82e
mov r14d, dword [rsp + 0x1e8]
jmp 0x18004d82b
mov edi, dword [rsp + 0x1e8]
xor r13d, r13d
jmp 0x18004e0c7
mov edi, dword [rsp + 0x1e8]
xor r13d, r13d
jmp 0x18004e0ae
call fcn.180078600
test al, al
jne 0x18004e5c7
mov edx, 0xffffff
mov r8d, 0xe1e1e2
mov eax, 0xf0f0f4
mov r9d, 0xdddde1
mov esi, 0xf9f9fb
mov ecx, 0xf9f9fb
mov r10d, 0xdddde1
mov edi, 0xdddde1
mov dword [rsp + 0xe0], esi
mov dword [rsp + 0xec], ecx
mov dword [rsp + 0xe4], r9d
mov dword [rsp + 0xf0], r10d
mov dword [rsp + 0xe8], eax
mov dword [rsp + 0xf4], r8d
mov dword [rsp + 0xf8], edx
mov dword [rsp + 0xfc], edi
mov dword [rsp + 0x100], ecx
xor r13d, r13d
mov edi, 0xf
cmp dword [rsp + 0x88], 0x10000
ja 0x18004e09f
cmp dword [rsp + 0x84], 0x10000
ja 0x18004e09f
movzx esi, byte [0x1800a8278]
mov r9d, esi
shl r9d, 0x18
or r9d, 0x2cf0000
mov rax, qword [0x1800a81f8]
mov qword [rsp + 0x50], rbx
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
mov ecx, dword [rsp + 0x84]
mov dword [rsp + 0x38], ecx
mov ecx, dword [rsp + 0x88]
mov dword [rsp + 0x30], ecx
mov ecx, dword [rsp + 0x9c]
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], r14d
mov qword [rsp + 0x58], 0
lea rdx, str.MozillaWindowClass
lea r8, [0x18009b3be]
mov ecx, 0x100
call qword [case.0x18004a5de.0]
mov qword [0x1800a8298], rax
test rax, rax
je 0x18004e8e4
xor ecx, ecx
test sil, sil
setne cl
lea edx, [rcx + rcx + 1]
mov rbx, qword [0x1800a8200]
mov rcx, rax
mov rax, rbx
call qword [case.0x18004a5de.0]
mov rax, qword [0x1800a81d8]
mov rcx, qword [0x1800a8298]
call qword [case.0x18004a5de.0]
mov dword [0x1800a82c0], eax
mov rbx, qword [0x1800a81d0]
mov ecx, 0x20
mov edx, eax
mov rax, rbx
call qword [case.0x18004a5de.0]
mov edi, eax
mov rax, qword [0x1800a81d0]
mov edx, dword [0x1800a82c0]
mov ecx, 0x5c
call qword [case.0x18004a5de.0]
add eax, edi
mov dword [0x1800a8280], eax
mov rax, qword [0x1800a81d0]
mov edx, dword [0x1800a82c0]
mov ecx, 0x21
call qword [case.0x18004a5de.0]
mov edi, eax
mov rax, qword [0x1800a81d0]
mov edx, dword [0x1800a82c0]
mov ecx, 0x5c
call qword [case.0x18004a5de.0]
add eax, edi
mov dword [0x1800a827c], eax
cmp byte [0x1800a8278], 0
je 0x18004e8ee
mov rax, qword [0x1800a8230]
mov rcx, qword [0x1800a8298]
xor r13d, r13d
xor edx, edx
call qword [case.0x18004a5de.0]
mov edi, 0x10
test rax, rax
je 0x18004e09f
xorps xmm0, xmm0
lea rdx, [rsp + 0x1e8]
movups xmmword [rdx + 0x14], xmm0
movups xmmword [rdx + 4], xmm0
mov dword [rdx + 0x24], 0
mov dword [rdx], 0x28
mov rbx, qword [0x1800a8238]
mov rcx, rax
mov rax, rbx
call qword [case.0x18004a5de.0]
test eax, eax
je 0x18004e4fc
mov eax, dword [rsp + 0x204]
mov ecx, dword [rsp + 0x208]
sub eax, dword [rsp + 0x1fc]
mov edx, dword [0x1800a8280]
lea eax, [rax + rdx*2]
sub ecx, dword [rsp + 0x200]
mov dword [0x1800a8260], eax
mov eax, dword [0x1800a827c]
lea eax, [rcx + rax*2]
jmp 0x18004e902
mov edi, 0x11
jmp 0x18004e4fc
mov eax, dword [rsp + 0x88]
mov dword [0x1800a8260], eax
mov eax, dword [rsp + 0x84]
mov dword [0x1800a8290], eax
mov rax, qword [0x1800a8208]
mov rcx, qword [0x1800a8298]
xor edx, edx
mov dword [rsp + 0x28], edx
mov dword [rsp + 0x20], edx
mov dword [rsp + 0x30], 0x237
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [case.0x18004a5de.0]
mov rax, qword [rsp + 0x90]
movups xmm0, xmmword [rax]
lea r9, [rsp + 0xd0]
movaps xmmword [r9], xmm0
mov rax, qword [rsp + 0x78]
movups xmm0, xmmword [rax]
lea r8, [rsp + 0xc0]
movaps xmmword [r8], xmm0
mov rdx, qword [0x1800a8298]
lea rax, [rsp + 0x110]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x118]
mov qword [rsp + 0x20], rax
lea rdi, [rsp + 0x1e8]
mov rcx, rdi
call fcn.180076600
mov rdi, qword [rdi]
movabs rax, 0xff0000000000
test rdi, rax
je 0x18004e4fc
cmp qword [0x1800a8288], 0
je 0x18004e9ee
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
lea r8, [0x180077eb0]
mov edx, 0x40000
xor ecx, ecx
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [0x1800a82b0], rax
lea rdi, [rsp + 0x168]
mov rcx, rdi
mov dl, 1
call sym.mozglue.dll_gNow_TimeStamp_mozilla__CA_AV12__N_Z
mov rax, qword [rsp + 0x140]
mov qword [rdi - 8], rax
movups xmm0, xmmword [rsp + 0x130]
movaps xmmword [rdi - 0x18], xmm0
xor eax, eax
lea r8, [rsp + 0x1e8]
mov dword [r8], eax
mov dword [r8 + 0x40], eax
xorps xmm1, xmm1
movups xmmword [r8 + 0x48], xmm1
mov qword [r8 + 0x58], 0
movups xmmword [r8 + 8], xmm0
movaps xmm0, xmmword [rdi + 8]
movups xmmword [r8 + 0x28], xmm0
mov rcx, qword [rdi - 8]
mov qword [r8 + 0x18], rcx
mov rcx, qword [rdi]
mov qword [r8 + 0x20], rcx
mov byte [r8 + 0x38], 1
lea rcx, str.CreatePreXULSkeletonUI
lea rdi, [rsp + 0xa8]
mov qword [rdi], rcx
mov qword [rdi + 8], 0x16
mov dword [rdi + 0x10], eax
lea rcx, [rsp + 0xa0]
mov rdx, rdi
call fcn.180079ca0
cmp dword [rdi + 0x10], 2
je 0x18004eac1
mov rbx, qword [rsp + 0x230]
mov qword [rsp + 0x230], 0
test rbx, rbx
jne 0x18004eaaf
mov r13b, 1
jmp 0x18004e09f
mov rcx, rbx
call fcn.18004ee50
mov rcx, rbx
call sym.mozglue.dll_galigned_free
jmp 0x18004eaa7
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x18004ea8e
call sym.mozglue.dll_galigned_free
jmp 0x18004ea8e