Function at 0x18004d5e0
Capabilities:
Create thread
Query environment variable
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_bool___cdecl_mozilla::IsEafPlusEnabled_void_
test al, al
jne 0x18004d624
call sym.mozglue.dll_void___cdecl_mozilla::CacheNtDllThunk_void_
mov ecx, 0x28
call sym.mozglue.dll_moz_xmalloc
mov rsi, rax
mov rcx, rax
xor edx, edx
call fcn.18004ef40
mov qword [0x1800a82a8], rsi
lea rcx, [rsp + 0x130]
mov dl, 1
call sym.mozglue.dll_private:_static_class_mozilla::TimeStamp___cdecl_mozilla::TimeStamp::Now_bool_
mov eax, dword [0x1800a6748]
cmp eax, 0x9ffffff
ja 0x18004d762
mov eax, dword [0x1800a6040]
mov r14d, 1
cmp eax, 0xa000001
jae 0x18004d6cc
cmp byte [0x1800a82d4], 0
jne 0x18004d6b8
mov dword [0x1800a82d0], r14d
mov byte [0x1800a82d4], 1
mov rcx, qword [rsp + 0x308]
xor rcx, rsp
call fcn.18004bde0
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 sub.VCRUNTIME140.dll_memset
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 0x18004de2a
mov eax, 0xa000000
xchg dword [0x1800a6748], eax
lea rsi, [rsp + 0x1e8]
mov rcx, rsi
call fcn.18001b8f0
cmp byte [rsi + 8], 0
jne 0x18004dfc3
lea r14, [rsp + 0x1e8]
mov rax, qword [r14]
mov qword [rsp + 0x68], rax
mov rcx, r14
call fcn.18001b840
cmp byte [r14 + 8], 0
jne 0x18004dfd0
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.18001b9a0
lea rdx, str.Progress
mov r8d, 9
mov rcx, rsi
call fcn.18001bd10
lea r13, [rsp + 0x148]
mov rcx, r13
mov rdx, qword [rsp + 0x68]
mov r8, rsi
call fcn.1800797c0
cmp byte [r13 + 4], 0
jne 0x18004d81d
cmp dword [rsp + 0x148], 1
je 0x18004d81d
xor r13d, r13d
mov r14d, 0x15
jmp 0x18004ddf2
mov dword [rsp + 0x1e8], 0
cmp qword [rsp + 0x1e0], 8
jb 0x18004d83b
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 0x18004dfe8
movabs r15, 0xff0000000000
lea rsi, [rsp + 0x1e8]
mov rcx, rsi
call fcn.18001bb10
mov r14, qword [rsi]
test r14, r15
je 0x18004dc8b
xorps xmm0, xmm0
lea rcx, [rsp + 0x1e8]
movups xmmword [rcx + 8], xmm0
mov qword [rcx], 8
mov edx, 0xe
call fcn.18001ad80
mov cl, 1
mov dword [rsp + 0x78], ecx
mov r14d, 4
test al, al
je 0x18004dc4d
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, [0x180096056]
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, [0x1800963b3]
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 0x18004dc45
mov eax, ebp
mov qword [rsp + 0x90], rax
mov esi, 1
lea r12, [0x180097b17]
lea r13, str.marionette
mov rbp, qword [rdi + rsi*8]
mov r15d, 2
mov r8d, 2
mov rcx, rbp
mov rdx, r12
call sub.api_ms_win_crt_string_l1_1_0.dll_strncmp
test eax, eax
je 0x18004db5c
movzx eax, byte [rbp]
mov r15d, 1
or eax, 2
cmp eax, 0x2f
jne 0x18004db72
add rbp, r15
mov rcx, rbp
mov rdx, r13
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x18004de4b
inc rsi
cmp qword [rsp + 0x90], rsi
jne 0x18004db2b
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, [0x180097b17]
call sub.api_ms_win_crt_string_l1_1_0.dll_strncmp
test eax, eax
je 0x18004dbc8
movzx eax, byte [rsi]
mov r14d, 1
or eax, 2
cmp eax, 0x2f
jne 0x18004dc24
mov rbp, qword [rsp + 0x1e8]
mov r15, qword [rsp + 0x1f0]
test r15, r15
je 0x18004dec6
add rsi, r14
shl r15, 3
xor r14d, r14d
mov rdx, qword [rbp + r14]
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
cmp r13, qword [rsp + 0x78]
movzx ecx, r12b
mov r12d, ecx
mov edx, 1
cmove r12d, edx
test eax, eax
cmovne r12d, ecx
je 0x18004dc24
add r14, 8
cmp r15, r14
jne 0x18004dbeb
jmp 0x18004de3a
inc r13
cmp r13, qword [rsp + 0x90]
jne 0x18004db94
mov r14d, 5
mov dword [rsp + 0x78], 0
jmp 0x18004dc50
mov dword [rsp + 0x78], 0
xor r12d, r12d
mov rbp, qword [rsp + 0x1e8]
cmp rbp, 8
je 0x18004dc67
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
cmp byte [rsp + 0x78], 0
jne 0x18004dc8b
lea rcx, str.MOZ_SAFE_MODE_RESTART
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
test rax, rax
je 0x18004dcb5
cmp byte [rax], 0
je 0x18004dcb5
mov r14d, 6
xor r13d, r13d
mov dword [rsp + 0x1e8], 1
cmp qword [rsp + 0x1e0], 8
jb 0x18004ddc1
mov rdx, qword [rsp + 0x1c8]
jmp 0x18004ddc9
lea rcx, str.MOZ_APP_SILENT_START
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
test rax, rax
je 0x18004dccc
cmp byte [rax], 0
jne 0x18004dc85
lea rcx, str.MOZ_RESET_PROFILE_RESTART
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
test rax, rax
je 0x18004dce3
cmp byte [rax], 0
jne 0x18004dc85
lea rcx, str.MOZ_HEADLESS
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
test rax, rax
je 0x18004dcfa
cmp byte [rax], 0
jne 0x18004dc85
lea rcx, str.XRE_PROFILE_PATH
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
test rax, rax
je 0x18004dd36
cmp byte [rax], 0
je 0x18004dd36
lea rcx, [0x18009770d]
call qword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov r14d, 6
test rax, rax
je 0x18004dc8b
cmp byte [rax], 0
je 0x18004dc8b
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.18001b9a0
lea rdx, str.Enabled
mov r8d, 8
mov rcx, rsi
call fcn.18001bd10
lea rdi, [rsp + 0x180]
mov rcx, rdi
mov rdx, qword [rsp + 0x68]
mov r8, rsi
call fcn.1800797c0
cmp byte [rdi + 4], 0
jne 0x18004e722
mov esi, dword [rsp + 0x180]
lea rcx, [rsp + 0x1e8]
call fcn.18001b7d0
test esi, esi
jne 0x18004ded7
xor r13d, r13d
mov r14d, 2
jmp 0x18004dc8e
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.18001b7d0
cmp qword [rsp + 0x70], 0
je 0x18004de11
mov rcx, qword [rsp + 0x70]
call sym.mozglue.dll__aligned_free
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
test r13b, r13b
je 0x18004d675
jmp 0x18004d68c
mov eax, 0xa000000
xchg dword [0x1800a6040], eax
jmp 0x18004d675
mov al, 1
mov dword [rsp + 0x78], eax
mov r14d, 5
jmp 0x18004dc50
mov rax, qword [rsp + 0x88]
cmp rax, qword [rsp + 0x1f8]
jne 0x18004de87
lea rcx, [rsp + 0x1e8]
mov edx, 1
call fcn.18001ad80
test al, al
je 0x18004dc4d
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 0x18004db84
mov al, 1
mov dword [rsp + 0x78], eax
mov r14d, 5
jmp 0x18004dc58
mov byte [0x1800a82b8], 1
mov ecx, 0x18
call sym.mozglue.dll_moz_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.180078cc0
mov r14, qword [rsi]
movabs rax, 0xff0000000000
test r14, rax
je 0x18004dc8b
test r12b, r12b
je 0x18004dff3
lea rsi, [rsp + 0x180]
mov dword [rsi], 8
lea rax, [0x180078b50]
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.0x18004aa4e.0]
mov qword [rsi + 0x20], rax
mov rax, qword [0x1800a81f0]
mov edx, 0x7f02
mov rcx, rbx
call qword [case.0x18004aa4e.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.0x18004aa4e.0]
test ax, ax
jne 0x18004e021
mov r14d, 0xd
jmp 0x18004dc8e
mov r14d, dword [rsp + 0x1e8]
jmp 0x18004d675
mov r14d, dword [rsp + 0x1e8]
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x18004d675
mov r14d, 8
jmp 0x18004ddf2
lea rdx, [0x180093010]
lea rsi, [rsp + 0xe0]
mov rcx, rsi
call fcn.18004f840
mov rdx, qword [rsi]
test rdx, rdx
jne 0x18004e542
mov r14d, 0xb
jmp 0x18004dc8b
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.18001b9a0
lea rdx, str.ScreenX
mov r8d, 8
mov rcx, rsi
call fcn.18001bd10
lea rdi, [rsp + 0x150]
mov rcx, rdi
mov rdx, qword [rsp + 0x68]
mov r8, rsi
call fcn.1800797c0
mov rcx, rsi
call fcn.18001b7d0
cmp byte [rdi + 4], 0
mov r14d, dword [rdi]
jne 0x18004dc8b
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.18001b9a0
lea rdx, [0x18009b208]
mov r8d, 8
mov rcx, rsi
call fcn.18001bd10
lea rdi, [rsp + 0x150]
mov rcx, rdi
mov rdx, qword [rsp + 0x68]
mov r8, rsi
call fcn.1800797c0
mov rcx, rsi
call fcn.18001b7d0
cmp byte [rdi + 4], 0
mov eax, dword [rdi]
mov dword [rsp + 0x9c], eax
jne 0x18004ea61
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.18001b9a0
lea rdx, str.Width
mov r8d, 6
mov rcx, rsi
call fcn.18001bd10
lea rdi, [rsp + 0x150]
mov rcx, rdi
mov rdx, qword [rsp + 0x68]
mov r8, rsi
call fcn.1800797c0
mov rcx, rsi
call fcn.18001b7d0
cmp byte [rdi + 4], 0
mov eax, dword [rdi]
mov dword [rsp + 0x88], eax
jne 0x18004ea6d
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.18001b9a0
lea rdx, str.Height
mov r8d, 7
mov rcx, rsi
call fcn.18001bd10
lea rdi, [rsp + 0x150]
mov rcx, rdi
mov rdx, qword [rsp + 0x68]
mov r8, rsi
call fcn.1800797c0
mov rcx, rsi
call fcn.18001b7d0
cmp byte [rdi + 4], 0
mov eax, dword [rdi]
mov dword [rsp + 0x84], eax
jne 0x18004ea79
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.18001b9a0
lea rdx, str.Maximized
mov r8d, 0xa
mov rcx, rsi
call fcn.18001bd10
lea r15, [rsp + 0x150]
mov rcx, r15
mov rdx, qword [rsp + 0x68]
mov r8, rsi
call fcn.1800797c0
cmp byte [r15 + 4], 0
mov ebp, dword [r15]
jne 0x18004ea8b
lea rsi, [rsp + 0x1e8]
mov rcx, rsi
call fcn.18001b7d0
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.18001b9a0
lea rdx, str.CssToDevPixelScaling
mov r8d, 0x15
mov rcx, rsi
call fcn.18001bd10
mov qword [rsp + 0x150], rdi
mov dword [rsp + 0xe0], 8
cmp qword [rsi + 0x18], 8
mov r8, rsi
jb 0x18004e2bb
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.18001b7d0
or ebp, edi
je 0x18004e30a
movq xmm6, qword [0x180093e00]
jne 0x18004ea57
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.18001b9a0
lea rdx, str.UrlbarCSSSpan
mov r8d, 0xe
mov rcx, rsi
call fcn.18001bd10
lea rdi, [rsp + 0x1e8]
mov rcx, rdi
mov rdx, qword [rsp + 0x68]
mov r8, rsi
call fcn.180079850
mov rcx, rsi
call fcn.18001b7d0
cmp byte [rdi + 0x18], 0
jne 0x18004eaa3
lea rsi, [rsp + 0x1f0]
mov rax, qword [rsi - 8]
mov r12, qword [rsi]
mov qword [rsp + 0x78], rax
cmp rax, 0x10
je 0x18004e3ad
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.18001b9a0
lea rdx, str.SearchbarCSSSpan
mov r8d, 0x11
mov rcx, rdi
call fcn.18001bd10
lea rbp, [rsp + 0x1e8]
mov rcx, rbp
mov rdx, qword [rsp + 0x68]
mov r8, rdi
call fcn.180079850
mov rcx, rdi
call fcn.18001b7d0
cmp byte [rbp + 0x18], 0
jne 0x18004eab0
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.18001b9a0
lea rdx, str.SpringsCSSSpan
mov r8d, 0xf
mov rcx, rdi
call fcn.18001bd10
mov rcx, rbp
mov rdx, qword [rsp + 0x68]
mov r8, rdi
call fcn.180079850
mov rcx, rdi
call fcn.18001b7d0
cmp byte [rbp + 0x18], 0
jne 0x18004eabf
mov rbp, qword [rsp + 0x1e8]
mov rax, qword [rsp + 0x1f0]
mov rcx, qword [rsp + 0x1f8]
cmp rbp, 0x10
je 0x18004e61b
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 0x18004e4ff
test r15, r15
jne 0x18004e8e0
cmp rbp, 0x10
je 0x18004e50e
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
cmp qword [rsp + 0x90], 0x10
je 0x18004e527
mov rcx, qword [rsp + 0x90]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
cmp qword [rsp + 0x78], 0x10
je 0x18004e53a
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov r14d, edi
jmp 0x18004dc8e
lea rsi, [rsp + 0x150]
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], 7
mov word [rsi], 0
mov rcx, rsi
call fcn.18001b9a0
lea rdx, str.MozillaFirefoxprofiles.ini
mov r8d, 0x1d
mov rcx, rsi
call fcn.18001bd10
cmp qword [rsi + 0x18], 8
jb 0x18004e58b
mov rsi, qword [rsp + 0x150]
lea rax, [0x180093e78]
lea rdi, [rsp + 0x298]
mov qword [rdi - 0xb0], rax
mov rcx, rdi
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::ios_base::constructor_void____ptr64]
lea rax, [0x180093b88]
mov qword [rdi], rax
lea rdi, [rsp + 0x1e8]
mov rcx, rdi
mov rdx, rsi
call fcn.180079a70
mov rax, qword [rdi]
movsxd rax, dword [rax + 4]
lea rcx, [0x180093e80]
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 [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::fail_void_const___ptr64]
test al, al
je 0x18004e625
mov sil, 1
mov r14d, 0xb
jmp 0x18004e6a3
mov edx, 0x10
jmp 0x18004e4d1
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 [sym.imp.MSVCP140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const___ptr64]
mov rcx, rdi
mov rdx, r15
mov r8d, eax
call fcn.180079ef0
mov rax, qword [rdi]
movsxd rax, dword [rax + 4]
lea rcx, [rsp + rax]
add rcx, 0x1e8
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::fail_void_const___ptr64]
test al, al
je 0x18004e73a
lea rcx, [rsp + 0x180]
call fcn.1800258f0
xor r14d, r14d
xor esi, esi
lea rcx, [rsp + 0x1f8]
mov rax, qword [rcx - 0x10]
movsxd rax, dword [rax + 4]
lea rdx, [0x180093e88]
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.18006e8b0
lea rcx, [rsp + 0x298]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::ios_base::destructor_void____ptr64]
lea rcx, [rsp + 0x150]
call fcn.18001b7d0
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0xe0], 0
test rcx, rcx
jne 0x18004e964
test sil, sil
je 0x18004df2c
jmp 0x18004dc8b
lea rcx, [rsp + 0x1e8]
call fcn.18001b7d0
mov r14d, 3
jmp 0x18004dc8b
xor edi, edi
lea r12, [rsp + 0x1e8]
mov r8, qword [rsp + 0x190]
mov rax, qword [rsp + 0x198]
test r8, r8
jne 0x18004e836
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 sub.VCRUNTIME140.dll_memmove
cmp qword [rsp + 0x198], 0x10
mov rbp, r15
jb 0x18004e7a2
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 sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x18004e86d
mov r14b, 1
cmp r13, 9
jne 0x18004e86d
mov rax, qword [rsp + 0x1e8]
movsxd rax, dword [rax + 4]
lea rcx, [rsp + rax]
add rcx, 0x1e8
mov dl, 0xa
call qword [sym.imp.MSVCP140.dll_public:_char___cdecl_std::basic_ios_char__struct_std::char_traits_char__::widen_char_const___ptr64]
mov rcx, r12
mov rdx, r15
mov r8d, eax
call fcn.180079ef0
mov rax, qword [rsp + 0x1e8]
movsxd rax, dword [rax + 4]
lea rcx, [rsp + rax]
add rcx, 0x1e8
call qword [sym.imp.MSVCP140.dll_public:_bool___cdecl_std::ios_base::fail_void_const___ptr64]
mov edi, r14d
test al, al
je 0x18004e744
jmp 0x18004e691
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 0x18004e85d
cmp ebp, 9
jne 0x18004e767
inc rdx
cmp r8, rdx
jne 0x18004e84b
mov rdx, r8
jmp 0x18004e767
test dil, 1
jne 0x18004e87b
mov r14d, edi
jmp 0x18004e7dc
cmp byte [rbp], 0x5b
jne 0x18004e889
xor r14d, r14d
jmp 0x18004e7dc
mov qword [rsp + 0x20], 0x15
mov rcx, rbp
mov rdx, r13
xor r8d, r8d
lea r9, str.StartWithLastProfile
call fcn.180049e00
test rax, rax
jne 0x18004e873
cmp qword [rsp + 0x198], 0x10
mov rax, r15
jb 0x18004e8c2
mov rax, qword [rsp + 0x180]
movzx eax, byte [rax + 0x15]
cmp eax, 0x30
je 0x18004e96e
mov r14d, edi
cmp eax, 0x31
jne 0x18004e7dc
jmp 0x18004e691
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.18001b9a0
lea rdx, str.Flags
mov r8d, 6
mov rcx, rdi
call fcn.18001bd10
lea r13, [rsp + 0x150]
mov rcx, r13
mov rdx, qword [rsp + 0x68]
mov r8, rdi
call fcn.1800797c0
mov rcx, rdi
call fcn.18001b7d0
cmp byte [r13 + 4], 0
mov edi, dword [r13]
jne 0x18004e95c
mov dword [rsp + 0x110], edi
test dil, 0x18
je 0x18004e989
mov edi, 0x16
xor r13d, r13d
jmp 0x18004e4ff
call fcn.18004f7d0
jmp 0x18004e714
lea rcx, [rsp + 0x180]
call fcn.1800258f0
mov sil, 1
mov r14d, 0xc
jmp 0x18004e6a3
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.18001b9a0
lea rdx, str.Theme
mov r8d, 6
mov rcx, rdi
call fcn.18001bd10
lea r13, [rsp + 0x150]
mov rcx, r13
mov rdx, qword [rsp + 0x68]
mov r8, rdi
call fcn.1800797c0
mov rcx, rdi
call fcn.18001b7d0
cmp byte [r13 + 4], 0
mov edi, dword [r13]
jne 0x18004e95c
cmp edi, 1
je 0x18004eace
xorps xmm0, xmm0
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0xe0], xmm0
mov dword [rsp + 0x100], 0
cmp edi, 2
jne 0x18004eadb
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 0x18004eb06
movq r14, xmm6
jmp 0x18004dc8b
xor r13d, r13d
mov eax, dword [rsp + 0x9c]
jmp 0x18004ea83
xor r13d, r13d
mov eax, dword [rsp + 0x88]
jmp 0x18004ea83
xor r13d, r13d
mov eax, dword [rsp + 0x84]
mov r14d, eax
jmp 0x18004dc8e
lea rcx, [rsp + 0x1e8]
call fcn.18001b7d0
xor r13d, r13d
mov r14d, ebp
jmp 0x18004dc8e
mov r14d, dword [rsp + 0x1e8]
jmp 0x18004dc8b
mov edi, dword [rsp + 0x1e8]
xor r13d, r13d
jmp 0x18004e527
mov edi, dword [rsp + 0x1e8]
xor r13d, r13d
jmp 0x18004e50e
call fcn.180078c10
test al, al
jne 0x18004ea27
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 0x18004e4ff
cmp dword [rsp + 0x84], 0x10000
ja 0x18004e4ff
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, [0x18009b2ea]
mov ecx, 0x100
call qword [case.0x18004aa4e.0]
mov qword [0x1800a8298], rax
test rax, rax
je 0x18004ed44
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.0x18004aa4e.0]
mov rax, qword [0x1800a81d8]
mov rcx, qword [0x1800a8298]
call qword [case.0x18004aa4e.0]
mov dword [0x1800a82c0], eax
mov rbx, qword [0x1800a81d0]
mov ecx, 0x20
mov edx, eax
mov rax, rbx
call qword [case.0x18004aa4e.0]
mov edi, eax
mov rax, qword [0x1800a81d0]
mov edx, dword [0x1800a82c0]
mov ecx, 0x5c
call qword [case.0x18004aa4e.0]
add eax, edi
mov dword [0x1800a8280], eax
mov rax, qword [0x1800a81d0]
mov edx, dword [0x1800a82c0]
mov ecx, 0x21
call qword [case.0x18004aa4e.0]
mov edi, eax
mov rax, qword [0x1800a81d0]
mov edx, dword [0x1800a82c0]
mov ecx, 0x5c
call qword [case.0x18004aa4e.0]
add eax, edi
mov dword [0x1800a827c], eax
cmp byte [0x1800a8278], 0
je 0x18004ed4e
mov rax, qword [0x1800a8230]
mov rcx, qword [0x1800a8298]
xor r13d, r13d
xor edx, edx
call qword [case.0x18004aa4e.0]
mov edi, 0x10
test rax, rax
je 0x18004e4ff
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.0x18004aa4e.0]
test eax, eax
je 0x18004e95c
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 0x18004ed62
mov edi, 0x11
jmp 0x18004e95c
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.0x18004aa4e.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.180076c10
mov rdi, qword [rdi]
movabs rax, 0xff0000000000
test rdi, rax
je 0x18004e95c
cmp qword [0x1800a8288], 0
je 0x18004ee4e
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
lea r8, [0x1800784c0]
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_private:_static_class_mozilla::TimeStamp___cdecl_mozilla::TimeStamp::Now_bool_
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.18007a2b0
cmp dword [rdi + 0x10], 2
je 0x18004ef21
mov rbx, qword [rsp + 0x230]
mov qword [rsp + 0x230], 0
test rbx, rbx
jne 0x18004ef0f
mov r13b, 1
jmp 0x18004e4ff
mov rcx, rbx
call fcn.18004f310
mov rcx, rbx
call sym.mozglue.dll__aligned_free
jmp 0x18004ef07
mov rcx, qword [rsp + 0xa8]
test rcx, rcx
je 0x18004eeee
call sym.mozglue.dll__aligned_free
jmp 0x18004eeee