Function at 0x406160
Capabilities:
Resolve function by parsing pe exports
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x400
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push 0x100000
push eax
call dword [sym.imp.KERNEL32.dll_SetPriorityClass]
cmp dword [ebp + 8], 2
jl 0x4089d9
mov edi, dword [ebp + 0xc]
je 0x4061ff
mov eax, dword [ebp + 8]
lea ecx, [eax - 1]
mov dword [esp + 0xc], ecx
add eax, 0xfffffffe
mov dword [esp + 0x2c], eax
xor esi, esi
inc esi
mov ebx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscmp]
push 0x47e4ce
push dword [edi + esi*4]
call ebx
add esp, 8
test eax, eax
je 0x4061f1
push str.__force_use_module
push dword [edi + esi*4]
call ebx
add esp, 8
test eax, eax
jne 0x4089d9
cmp esi, dword [esp + 0x2c]
jge 0x4089d9
mov edx, dword [edi + esi*4 + 4]
inc esi
mov ecx, 0x4b3eec
call fcn.00409e60
mov ebx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscmp]
jmp 0x4061f8
mov byte [0x4b3ee8], 1
inc esi
cmp esi, dword [esp + 0xc]
jl 0x4061aa
mov eax, dword [ebp + 8]
mov edx, dword [edi + eax*4 - 4]
mov ecx, 0x4b3f04
call fcn.00409e60
mov al, byte [0x4b3ee8]
mov byte [esp + 0x2b], al
xor ebx, ebx
lea ecx, [esp + 0x140]
push ebx
call fcn.0043ebe0
lea ecx, [esp + 0x170]
push ebx
call fcn.0043ebe0
lea esi, [esp + 0x3e8]
mov ecx, esi
call fcn.0040cb10
push 0x14
call sub.mozglue.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov edi, eax
mov ecx, eax
push esi
push ebx
call fcn.00436860
mov dword [esp + 0x138], edi
mov word [esp + 0x13c], 1
mov byte [esp + 0x13e], 0
lea esi, [esp + 0x188]
mov ecx, esi
mov edx, 0x4b3f04
call fcn.00408a20
lea edi, [esp + 0x50]
mov ecx, edi
mov edx, esi
push ebx
call fcn.00408b10
add esp, 4
mov ecx, dword [esi + 0x14]
cmp ecx, 8
jb 0x4062ca
mov eax, dword [esp + 0x188]
inc ecx
test ecx, 0x7ffff800
je 0x4062c0
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a13
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
lea ecx, [esp + 0x360]
push 0x10
push 0
push edi
call fcn.0041a7e0
mov ecx, dword [esp + 0x64]
cmp ecx, 0x10
jb 0x406313
mov eax, dword [esp + 0x50]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x406309
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a13
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
lea edi, [esp + 0x360]
mov ecx, edi
call fcn.0041a9d0
test al, al
je 0x40899d
xor ebx, ebx
mov dword [esp + 0x194], ebx
mov dword [esp + 0x1a4], ebx
mov eax, 0xf
mov dword [esp + 0x1a8], eax
mov byte [esp + 0x194], bl
mov dword [esp + 0x1b8], ebx
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1c8], ebx
mov byte [esp + 0x1b8], bl
mov dword [esp + 0x1dc], ebx
mov dword [esp + 0x1ec], ebx
mov dword [esp + 0x1f0], eax
mov byte [esp + 0x1dc], bl
mov dword [esp + 0x1f8], ebx
mov dword [esp + 0x20c], eax
mov dword [esp + 0x208], ebx
mov byte [esp + 0x1f8], bl
mov dword [esp + 0x220], ebx
mov dword [esp + 0x224], ebx
mov dword [esp + 0x228], ebx
mov dword [esp + 0x258], ebx
xorps xmm0, xmm0
movups xmmword [esp + 0x230], xmm0
movups xmmword [esp + 0x23c], xmm0
mov dword [esp + 0x25c], eax
mov dword [esp + 0x260], ebx
mov dword [esp + 0x270], ebx
mov dword [esp + 0x274], eax
mov byte [esp + 0x260], bl
mov dword [esp + 0x278], ebx
mov dword [esp + 0x288], ebx
mov dword [esp + 0x28c], eax
mov byte [esp + 0x278], bl
mov dword [esp + 0x290], ebx
mov dword [esp + 0x2a0], ebx
mov dword [esp + 0x2a4], eax
mov byte [esp + 0x290], bl
mov dword [esp + 0x2a8], ebx
movaps xmm1, xmmword [0x44a0d0]
movups xmmword [esp + 0x2b8], xmm1
mov byte [esp + 0x2a8], bl
mov dword [esp + 0x2d4], ebx
mov dword [esp + 0x2d8], eax
mov byte [esp + 0x2c4], bl
mov dword [esp + 0x2dc], ebx
mov dword [esp + 0x2ec], ebx
mov dword [esp + 0x2f0], eax
mov byte [esp + 0x2dc], bl
mov dword [esp + 0x2f4], ebx
mov dword [esp + 0x304], ebx
mov dword [esp + 0x308], eax
mov byte [esp + 0x2f4], bl
mov dword [esp + 0x30c], ebx
mov dword [esp + 0x31c], ebx
mov dword [esp + 0x320], eax
mov byte [esp + 0x30c], bl
mov dword [esp + 0x358], ebx
mov dword [esp + 0x354], ebx
movups xmmword [esp + 0x344], xmm0
movups xmmword [esp + 0x334], xmm0
movups xmmword [esp + 0x324], xmm0
mov ecx, esi
call fcn.004204b0
lea ecx, [esp + 0x138]
push esi
push edi
call fcn.0041c240
cmp eax, 7
ja case.default.0x4064f4
jmp dword [eax*4 + 0x44a1cc]
mov dword [esp + 0x10], 0
mov dword [esp + 0x24], 0xf
mov dword [esp + 0x20], 2
mov word [esp + 0x10], 0x4b4f
mov byte [esp + 0x12], 0
jmp 0x406752
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], 0xf
mov byte [esp + 0x10], bl
push 0x20
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [esp + 0x20], 0x14
mov dword [esp + 0x24], 0x1f
movups xmm0, xmmword [str.ERROR_GETTING_THREAD]
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0x44414552
jmp 0x4065f5
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], 0xf
mov byte [esp + 0x10], bl
push 0x20
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [esp + 0x20], 0x18
mov dword [esp + 0x24], 0x1f
movups xmm0, xmmword [str.ERROR_NO_MINIDUMP_HEADER]
movups xmmword [eax], xmm0
movsd xmm0, qword [0x461451]
jmp 0x406640
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], 0xf
mov byte [esp + 0x10], bl
push 0x20
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [esp + 0x20], 0x14
mov dword [esp + 0x24], 0x1f
movups xmm0, xmmword [str.ERROR_NO_THREAD_LIST]
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0x5453494c
mov byte [eax + 0x14], bl
jmp 0x40674e
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], 0xf
mov byte [esp + 0x10], bl
push 0x20
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [esp + 0x20], 0x18
mov dword [esp + 0x24], 0x1f
movups xmm0, xmmword [str.ERROR_MINIDUMP_NOT_FOUND]
movups xmmword [eax], xmm0
movsd xmm0, qword [0x471929]
movsd qword [eax + 0x10], xmm0
mov byte [eax + 0x18], bl
jmp 0x40674e
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], 0xf
mov byte [esp + 0x10], bl
push 0x20
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [esp + 0x20], 0x1b
mov dword [esp + 0x24], 0x1f
movups xmm0, xmmword [str.SYMBOL_SUPPLIER_INTERRUPTED]
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x47602e]
movups xmmword [eax + 0xb], xmm0
mov byte [eax + 0x1b], bl
jmp 0x40674e
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], 0xf
mov byte [esp + 0x10], bl
push 0x20
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [esp + 0x20], 0x17
mov dword [esp + 0x24], 0x1f
movups xmm0, xmmword [str.ERROR_GETTING_THREAD_ID]
movups xmmword [eax], xmm0
movsd xmm0, qword [0x472e48]
movsd qword [eax + 0xf], xmm0
mov byte [eax + 0x17], bl
jmp 0x40674e
mov dword [esp + 0x10], ebx
mov dword [esp + 0x24], 0xf
mov dword [esp + 0x20], ebx
mov byte [esp + 0x10], 0
jmp 0x406752
xor ebx, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], 0xf
mov byte [esp + 0x10], bl
push 0x30
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [esp + 0x20], 0x22
mov dword [esp + 0x24], 0x2f
movups xmm0, xmmword [str.ERROR_DUPLICATE_REQUESTING_THREADS]
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x45eddb]
movups xmmword [eax + 0x10], xmm0
mov word [eax + 0x20], 0x5344
mov byte [eax + 0x22], bl
mov dword [esp + 0x10], eax
lea esi, [esp + 0x10]
lea edi, [esp + 0x50]
mov ecx, edi
push esi
call fcn.004452e0
lea ecx, [esp + 0x140]
push 0x454ea1
push str.status
call fcn.00403b40
mov ecx, edi
push eax
call fcn.00401070
mov ecx, edi
call fcn.004010f0
mov ecx, dword [esi + 0x14]
cmp ecx, 0x10
jb 0x4067be
mov eax, dword [esp + 0x10]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x4067b4
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a13
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
lea ecx, [esp + 0x158]
push 0
call fcn.0043ebe0
mov eax, dword [esp + 0x1d0]
mov dword [esp + 0x12c], eax
cmp byte [esp + 0x190], 0
jne 0x406830
lea esi, [esp + 0x50]
mov ecx, esi
push 0
call fcn.0043ebe0
lea ecx, [esp + 0x158]
push 0x455543
push str.type
call fcn.00403b40
mov ecx, esi
push eax
call fcn.00401070
mov ecx, esi
call fcn.004010f0
mov ebx, dword [esp + 0x1c8]
cmp dword [esp + 0x1cc], 0x10
jb 0x40684a
mov edi, dword [esp + 0x1b8]
jmp 0x406851
mov esi, dword [esp + 0x1a4]
cmp dword [esp + 0x1a8], 0x10
jb 0x406877
mov edi, dword [esp + 0x194]
jmp 0x40687e
lea edi, [esp + 0x1b8]
cmp ebx, 0x10
jae 0x406895
movups xmm0, xmmword [edi]
movaps xmmword [esp + 0x50], xmm0
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], 0xf
test ebx, ebx
jne 0x406925
jmp 0x406ccb
lea edi, [esp + 0x194]
cmp esi, 0xf
ja 0x4068c6
movups xmm0, xmmword [edi]
movaps xmmword [esp + 0x10], xmm0
mov ebx, 0xf
jmp 0x4069ba
mov esi, ebx
or esi, 0xf
mov eax, 0x7fffffff
cmp esi, eax
cmovae esi, eax
cmp esi, 0xfff
jb 0x4068fe
lea eax, [esi + 0x24]
push eax
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov ecx, eax
add eax, 0x23
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x40690b
mov ebx, esi
or ebx, 0xf
mov eax, 0x7fffffff
cmp ebx, eax
cmovae ebx, eax
cmp ebx, 0xfff
jb 0x40699b
lea eax, [ebx + 0x24]
push eax
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov ecx, eax
add eax, 0x23
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x4069a8
lea eax, [esi + 1]
push eax
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [esp + 0x50], eax
lea ecx, [ebx + 1]
push ecx
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], esi
lea esi, [esp + 0x10]
mov ecx, esi
lea eax, [esp + 0x50]
push eax
call fcn.004452e0
lea ecx, [esp + 0x158]
push 0x45512f
push str.assertion
call fcn.00403b40
mov ecx, esi
push eax
call fcn.00401070
mov ecx, esi
call fcn.004010f0
mov ecx, dword [esp + 0x64]
cmp ecx, 0x10
jb 0x406ccb
mov eax, dword [esp + 0x50]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x40698c
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a13
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
jmp 0x406ccb
lea eax, [ebx + 1]
push eax
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [esp + 0x10], eax
lea ecx, [esi + 1]
push ecx
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ebx
lea esi, [esp + 0x50]
mov ecx, esi
lea eax, [esp + 0x10]
push eax
call fcn.004452e0
lea ecx, [esp + 0x158]
push 0x455543
push str.type
call fcn.00403b40
mov ecx, esi
push eax
call fcn.00401070
mov ecx, esi
call fcn.004010f0
mov ecx, dword [esp + 0x24]
cmp ecx, 0x10
jb 0x406a2f
mov eax, dword [esp + 0x10]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x406a25
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a13
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x1b4]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x60]
mov dword [eax - 0x10], 0x44a0f4
mov dword [eax], 0x44a0fc
lea esi, [esp + 0xb8]
mov ecx, esi
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::ios_base::constructor_void_]
mov dword [esi], 0x44a17c
mov eax, dword [esi - 0x68]
mov eax, dword [eax + 4]
mov ecx, 0x44a104
mov dword [esp + eax + 0x50], ecx
mov eax, dword [esi - 0x68]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x68]
mov dword [esp + eax + 0x4c], ecx
lea ebx, [esp + 0x68]
mov eax, dword [ebx - 0x18]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x50], 0x44a188
mov eax, dword [ebx - 0x18]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x18]
mov dword [esp + eax + 0x4c], ecx
xor edi, edi
mov dword [ebx - 0xc], edi
mov dword [ebx - 0x10], edi
mov eax, dword [ebx - 0x18]
lea ecx, [esp + 0x50]
add ecx, dword [eax + 4]
push edi
push ebx
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::init_class_std::basic_streambuf_char__struct_std::char_traits_char_____bool_]
mov eax, dword [ebx - 8]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x60], 0x44a180
mov eax, dword [ebx - 8]
mov eax, dword [eax + 4]
lea ecx, [eax - 8]
mov dword [esp + eax + 0x5c], ecx
mov eax, dword [ebx - 0x18]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x50], 0x44a108
mov eax, dword [ebx - 0x18]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x20]
mov dword [esp + eax + 0x4c], ecx
mov eax, dword [ebx - 0x18]
mov eax, dword [eax + 4]
mov ecx, 0x44a104
mov dword [esp + eax + 0x50], ecx
mov eax, dword [ebx - 0x18]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x68]
mov dword [esp + eax + 0x4c], ecx
mov ecx, ebx
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void_]
mov esi, 0x44a140
mov dword [ebx], esi
mov dword [ebx + 0x38], edi
mov dword [ebx + 0x3c], edi
mov eax, dword [ebx - 8]
mov eax, dword [eax + 4]
mov ecx, 0xfffff1ff
and ecx, dword [esp + eax + 0x74]
or ecx, 0x800
mov dword [esp + eax + 0x74], ecx
mov eax, dword [ebx - 8]
mov eax, dword [eax + 4]
or dword [esp + eax + 0x74], 8
lea ecx, [esp + 0x60]
push dword [esp + 0x2c]
push dword [esp + 0x10]
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_long_unsigned___int64__]
mov ecx, ebx
lea eax, [esp + 0x10]
push eax
call fcn.00409910
mov eax, dword [ebx - 0x18]
mov eax, dword [eax + 4]
mov ecx, 0x44a104
mov dword [esp + eax + 0x50], ecx
mov eax, dword [ebx - 0x18]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x68]
mov dword [esp + eax + 0x4c], ecx
mov dword [ebx], esi
test byte [ebx + 0x3c], 1
je 0x406bc6
mov eax, dword [esp + 0x88]
mov eax, dword [eax]
test eax, eax
je 0x4089ee
lea ecx, [esp + 0x98]
mov ecx, dword [ecx]
add eax, dword [ecx]
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx]
sub eax, ecx
cmp eax, 0x1000
jae 0x4089ff
push ecx
call dword [sym.imp.mozglue.dll_free]
add esp, 4
lea esi, [esp + 0x50]
mov eax, dword [esi + 0x24]
mov dword [eax], edi
mov eax, dword [esi + 0x34]
mov dword [eax], edi
mov eax, dword [esi + 0x44]
mov dword [eax], edi
mov eax, dword [esi + 0x28]
mov dword [eax], edi
mov eax, dword [esi + 0x38]
mov dword [eax], edi
mov eax, dword [esi + 0x48]
mov dword [eax], edi
mov dword [esi + 0x50], edi
and byte [esi + 0x54], 0xfe
mov ecx, ebx
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [esp + 0xb8]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::ios_base::destructor_void_]
mov ecx, esi
lea eax, [esp + 0x10]
push eax
call fcn.004452e0
lea ecx, [esp + 0x158]
push 0x454eeb
push str.address
call fcn.00403b40
mov ecx, esi
push eax
call fcn.00401070
mov ecx, esi
call fcn.004010f0
mov ecx, dword [esp + 0x24]
cmp ecx, 0x10
mov ebx, dword [esp + 0x12c]
jb 0x406c74
mov eax, dword [esp + 0x10]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x406c6a
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a13
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
cmp ebx, 0xffffffff
je 0x406ccb
xor edi, edi
lea esi, [esp + 0x50]
mov dword [esi + 0xc], edi
mov ecx, esi
push edi
push 1
call fcn.00403aa0
mov eax, ebx
sar eax, 0x1f
cmp byte [esp + 0x2b], 0
cmove eax, edi
mov dword [esi + 4], eax
mov eax, 0
cmovne eax, ebx
mov dword [esi], eax
lea ecx, [esp + 0x158]
push 0x4556d2
push str.crashing_thread
call fcn.00403b40
mov ecx, esi
push eax
call fcn.00401070
mov ecx, esi
call fcn.004010f0
lea ecx, [esp + 0x140]
push 0x455111
push str.crash_info
call fcn.00403b40
mov ecx, eax
lea eax, [esp + 0x158]
push eax
call fcn.00447470
mov dword [esp + 0x110], 0
push 0x18
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov esi, dword [esp + 0x234]
mov ecx, dword [esp + 0x1d0]
mov edx, dword [esp + 0x230]
sub esi, edx
mov dword [esp + 0x10c], eax
mov eax, esi
sar eax, 2
cmp byte [esp + 0x2b], 0
jne 0x406db3
cmp ecx, 0xffffffff
je 0x406db3
cmp eax, ecx
jbe 0x408998
mov ebx, dword [edx + ecx*4]
mov eax, dword [ebx + 4]
sub eax, dword [ebx]
test eax, eax
jle 0x406e59
shr eax, 2
xor esi, esi
inc esi
cmp eax, 2
cmovge esi, eax
xor edi, edi
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
sub ecx, eax
sar ecx, 2
cmp ecx, edi
jbe 0x408989
mov eax, dword [eax + edi*4]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x406da9
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
lea ecx, [esp + 0x10c]
lea edx, [esp + 0x50]
lea eax, [esp + 0x10]
push eax
call fcn.00409a20
add esp, 4
inc edi
cmp esi, edi
jne 0x406d69
jmp 0x406e59
test esi, esi
jle 0x406e59
xor ecx, ecx
inc ecx
cmp eax, 2
cmovl eax, ecx
mov dword [esp + 0x2c], eax
xor edx, edx
mov eax, dword [esp + 0x230]
mov ecx, dword [esp + 0x234]
sub ecx, eax
sar ecx, 2
cmp ecx, edx
jbe 0x408998
mov dword [esp + 0xc], edx
mov esi, dword [eax + edx*4]
mov edi, dword [esi + 4]
sub edi, dword [esi]
test edi, edi
jle 0x406e4a
shr edi, 2
cmp edi, 2
mov eax, 1
cmovl edi, eax
xor ebx, ebx
mov eax, dword [esi]
mov ecx, dword [esi + 4]
sub ecx, eax
sar ecx, 2
cmp ecx, ebx
jbe 0x408989
mov eax, dword [eax + ebx*4]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x406e45
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
lea ecx, [esp + 0x10c]
lea edx, [esp + 0x50]
lea eax, [esp + 0x10]
push eax
call fcn.00409a20
add esp, 4
inc ebx
cmp edi, ebx
jne 0x406e05
mov edx, dword [esp + 0xc]
inc edx
cmp edx, dword [esp + 0x2c]
jne 0x406dca
mov edi, dword [esp + 0x10c]
mov ecx, dword [edi]
cmp ecx, edi
je 0x406e97
xor eax, eax
mov dword [ecx + 0x14], eax
mov esi, dword [ecx + 8]
cmp byte [esi + 0xd], 0
mov edx, ecx
je 0x406e88
mov ecx, dword [edx + 4]
cmp byte [ecx + 0xd], 0
jne 0x406e92
cmp edx, dword [ecx + 8]
mov edx, ecx
je 0x406e76
jmp 0x406e92
mov ecx, esi
mov esi, dword [esi]
cmp byte [esi + 0xd], 0
je 0x406e88
inc eax
cmp ecx, edi
jne 0x406e68
lea ecx, [esp + 0x3d0]
push 6
call fcn.0043ebe0
mov esi, dword [esp + 0x330]
test esi, esi
je 0x407962
mov dword [esp + 0x108], edi
mov eax, dword [esi]
mov edi, dword [eax + 0xc]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
call edi
mov dword [esp + 0x134], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x104], eax
test eax, eax
je 0x406f13
mov edi, dword [esp + 0x104]
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [section..00cfg]
mov ecx, edi
call esi
mov dword [esp + 0x134], eax
mov dword [esp + 0x130], edx
mov eax, dword [esp + 0x108]
mov ecx, dword [eax]
cmp ecx, eax
je 0x407962
xor eax, eax
dec eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x2c], ecx
mov esi, dword [ecx + 0x10]
mov eax, dword [esi]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [section..00cfg]
mov dword [esp + 0xc], esi
mov ecx, esi
call edi
xor edx, dword [esp + 0x130]
xor eax, dword [esp + 0x134]
or eax, edx
mov ecx, dword [esp + 0x4c]
mov eax, ecx
jne 0x406f66
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x14]
cmp dword [esp + 0x104], 0
cmovne ecx, eax
mov dword [esp + 0x4c], ecx
lea ebx, [esp + 0x10]
mov ecx, ebx
push 0
call fcn.0043ebe0
mov esi, dword [esp + 0xc]
mov eax, dword [esi]
mov edi, dword [eax + 0xc]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
lea esi, [esp + 0x114]
push esi
call edi
push esi
lea esi, [esp + 0x34]
push esi
call fcn.00411640
add esp, 8
lea edi, [esp + 0x50]
mov ecx, edi
push esi
call fcn.004452e0
mov ecx, ebx
push 0x45555a
push str.filename
call fcn.00403b40
mov ecx, edi
push eax
call fcn.00401070
mov ecx, edi
call fcn.004010f0
mov ecx, dword [esp + 0x44]
cmp ecx, 0x10
jb 0x407011
mov eax, dword [esp + 0x30]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x407007
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a13
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0xf
mov byte [esp + 0x30], 0
mov ecx, dword [esp + 0x128]
cmp ecx, 0x10
jb 0x407064
mov eax, dword [esp + 0x114]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x40705a
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a13
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov esi, dword [esp + 0xc]
mov eax, dword [esi]
mov edi, dword [eax + 0x10]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
lea esi, [esp + 0x114]
push esi
call edi
push esi
lea esi, [esp + 0x34]
push esi
call fcn.00411640
add esp, 8
lea edi, [esp + 0x50]
mov ecx, edi
push esi
call fcn.004452e0
lea ecx, [esp + 0x10]
push 0x4556a5
push str.code_id
call fcn.00403b40
mov ecx, edi
push eax
call fcn.00401070
mov ecx, edi
call fcn.004010f0
mov ecx, dword [esp + 0x44]
cmp ecx, 0x10
jb 0x4070f5
mov eax, dword [esp + 0x30]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x4070eb
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a13
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0xf
mov byte [esp + 0x30], 0
mov ecx, dword [esp + 0x128]
cmp ecx, 0x10
jb 0x407148
mov eax, dword [esp + 0x114]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x40713e
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a13
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov esi, dword [esp + 0xc]
mov eax, dword [esi]
mov edi, dword [eax + 0x1c]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
lea esi, [esp + 0x30]
push esi
call edi
lea edi, [esp + 0x50]
mov ecx, edi
push esi
call fcn.004452e0
lea ecx, [esp + 0x10]
push 0x455217
push str.version
call fcn.00403b40
mov ecx, edi
push eax
call fcn.00401070
mov ecx, edi
call fcn.004010f0
mov ecx, dword [esp + 0x44]
cmp ecx, 0x10
jb 0x4071c8
mov eax, dword [esp + 0x30]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x4071be
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a13
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov esi, dword [esp + 0xc]
mov eax, dword [esi]
mov edi, dword [eax + 0x14]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
lea esi, [esp + 0x114]
push esi
call edi
push esi
lea esi, [esp + 0x34]
push esi
call fcn.00411640
add esp, 8
lea edi, [esp + 0x50]
mov ecx, edi
push esi
call fcn.004452e0
lea ecx, [esp + 0x10]
push 0x4555c5
push str.debug_file
call fcn.00403b40
mov ecx, edi
push eax
call fcn.00401070
mov ecx, edi
call fcn.004010f0
mov ecx, dword [esp + 0x44]
cmp ecx, 0x10
jb 0x407259
mov eax, dword [esp + 0x30]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x40724f
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a13
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0xf
mov byte [esp + 0x30], 0
mov ecx, dword [esp + 0x128]
cmp ecx, 0x10
jb 0x4072ac
mov eax, dword [esp + 0x114]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x4072a2
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a13
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov esi, dword [esp + 0xc]
mov eax, dword [esi]
mov edi, dword [eax + 0x18]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
lea esi, [esp + 0x30]
push esi
call edi
lea edi, [esp + 0x50]
mov ecx, edi
push esi
call fcn.004452e0
lea ecx, [esp + 0x10]
push 0x45569d
push str.debug_id
call fcn.00403b40
mov ecx, edi
push eax
call fcn.00401070
mov ecx, edi
call fcn.004010f0
mov ecx, dword [esp + 0x44]
cmp ecx, 0x10
jb 0x40732c
mov eax, dword [esp + 0x30]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x407322
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a13
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov esi, dword [esp + 0xc]
mov eax, dword [esi]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
call edi
mov ebx, eax
mov dword [esp + 0x100], edx
mov dword [esp + 0x50], 0x44a0f4
mov dword [esp + 0x60], 0x44a0fc
lea ecx, [esp + 0xb8]
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::ios_base::constructor_void_]
mov dword [esp + 0xb8], 0x44a17c
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
mov ecx, 0x44a104
mov dword [esp + eax + 0x50], ecx
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x68]
mov dword [esp + eax + 0x4c], ecx
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x50], 0x44a188
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x18]
mov dword [esp + eax + 0x4c], ecx
xor esi, esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], esi
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 4]
lea eax, [esp + 0x50]
add ecx, eax
push esi
lea edi, [esp + 0x6c]
push edi
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::init_class_std::basic_streambuf_char__struct_std::char_traits_char_____bool_]
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x60], 0x44a180
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 4]
lea ecx, [eax - 8]
mov dword [esp + eax + 0x5c], ecx
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x50], 0x44a108
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x20]
mov dword [esp + eax + 0x4c], ecx
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
mov ecx, 0x44a104
mov dword [esp + eax + 0x50], ecx
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x68]
mov dword [esp + eax + 0x4c], ecx
mov ecx, edi
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void_]
mov eax, 0x44a140
mov dword [esp + 0x68], eax
mov dword [esp + 0xa0], esi
mov dword [esp + 0xa4], esi
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 4]
mov ecx, dword [esp + eax + 0x74]
mov edx, 0xfffff1ff
and ecx, edx
or ecx, 0x800
mov dword [esp + eax + 0x74], ecx
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 4]
or dword [esp + eax + 0x74], 8
lea ecx, [esp + 0x60]
push dword [esp + 0x100]
push ebx
lea esi, [esp + 0x18]
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_long_unsigned___int64__]
mov ecx, edi
lea eax, [esp + 0x30]
push eax
call fcn.00409910
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
mov ecx, 0x44a104
mov dword [esp + eax + 0x50], ecx
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x68]
mov dword [esp + eax + 0x4c], ecx
mov eax, 0x44a140
mov dword [esp + 0x68], eax
test byte [esp + 0xa4], 1
je 0x4074fb
mov eax, dword [esp + 0x88]
mov eax, dword [eax]
lea ecx, [esp + 0x98]
test eax, eax
je 0x4078b9
mov ecx, dword [ecx]
add eax, dword [ecx]
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx]
sub eax, ecx
cmp eax, 0x1000
jae 0x4078ce
push ecx
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [esp + 0x74]
xor ecx, ecx
mov dword [eax], ecx
mov eax, dword [esp + 0x84]
mov dword [eax], ecx
mov eax, dword [esp + 0x94]
mov dword [eax], ecx
mov eax, dword [esp + 0x78]
mov dword [eax], ecx
mov eax, dword [esp + 0x88]
mov dword [eax], ecx
mov eax, dword [esp + 0x98]
mov dword [eax], ecx
mov dword [esp + 0xa0], ecx
and byte [esp + 0xa4], 0xfe
lea ecx, [esp + 0x68]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [esp + 0xb8]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::ios_base::destructor_void_]
lea edi, [esp + 0x50]
mov ecx, edi
lea eax, [esp + 0x30]
push eax
call fcn.004452e0
mov ecx, esi
push 0x4550bd
push str.base_addr
call fcn.00403b40
mov ecx, edi
push eax
call fcn.00401070
mov ecx, edi
call fcn.004010f0
mov ecx, dword [esp + 0x44]
cmp ecx, 0x10
jb 0x4075bb
mov eax, dword [esp + 0x30]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x4075b1
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a13
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov ebx, dword [esp + 0xc]
mov eax, dword [ebx]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [section..00cfg]
mov ecx, ebx
call edi
mov edi, eax
mov dword [esp + 0x100], edx
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
call esi
mov ebx, eax
add ebx, edi
adc edx, dword [esp + 0x100]
mov dword [esp + 0xc], edx
mov dword [esp + 0x50], 0x44a0f4
mov dword [esp + 0x60], 0x44a0fc
lea ecx, [esp + 0xb8]
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::ios_base::constructor_void_]
mov dword [esp + 0xb8], 0x44a17c
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
mov ecx, 0x44a104
mov dword [esp + eax + 0x50], ecx
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x68]
mov dword [esp + eax + 0x4c], ecx
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x50], 0x44a188
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x18]
mov dword [esp + eax + 0x4c], ecx
xor esi, esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], esi
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 4]
lea eax, [esp + 0x50]
add ecx, eax
push esi
lea edi, [esp + 0x6c]
push edi
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::init_class_std::basic_streambuf_char__struct_std::char_traits_char_____bool_]
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x60], 0x44a180
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 4]
lea ecx, [eax - 8]
mov dword [esp + eax + 0x5c], ecx
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x50], 0x44a108
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x20]
mov dword [esp + eax + 0x4c], ecx
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
mov ecx, 0x44a104
mov dword [esp + eax + 0x50], ecx
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x68]
mov dword [esp + eax + 0x4c], ecx
mov ecx, edi
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void_]
mov eax, 0x44a140
mov dword [esp + 0x68], eax
mov dword [esp + 0xa0], esi
mov dword [esp + 0xa4], esi
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 4]
mov ecx, dword [esp + eax + 0x74]
mov edx, 0xfffff1ff
and ecx, edx
or ecx, 0x800
mov dword [esp + eax + 0x74], ecx
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 4]
or dword [esp + eax + 0x74], 8
lea ecx, [esp + 0x60]
push dword [esp + 0xc]
push ebx
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_long_unsigned___int64__]
mov ecx, edi
lea eax, [esp + 0x30]
push eax
call fcn.00409910
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
mov ecx, 0x44a104
mov dword [esp + eax + 0x50], ecx
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x68]
mov dword [esp + eax + 0x4c], ecx
mov eax, 0x44a140
mov dword [esp + 0x68], eax
test byte [esp + 0xa4], 1
je 0x4077a3
mov eax, dword [esp + 0x88]
mov eax, dword [eax]
lea ecx, [esp + 0x98]
test eax, eax
je 0x4078ea
mov ecx, dword [ecx]
add eax, dword [ecx]
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx]
sub eax, ecx
cmp eax, 0x1000
jae 0x4078ff
push ecx
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [esp + 0x74]
xor ecx, ecx
mov dword [eax], ecx
mov eax, dword [esp + 0x84]
mov dword [eax], ecx
mov eax, dword [esp + 0x94]
mov dword [eax], ecx
mov eax, dword [esp + 0x78]
mov dword [eax], ecx
mov eax, dword [esp + 0x88]
mov dword [eax], ecx
mov eax, dword [esp + 0x98]
mov dword [eax], ecx
mov dword [esp + 0xa0], ecx
and byte [esp + 0xa4], 0xfe
lea ecx, [esp + 0x68]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [esp + 0xb8]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::ios_base::destructor_void_]
lea edi, [esp + 0x50]
mov ecx, edi
lea eax, [esp + 0x30]
push eax
call fcn.004452e0
lea ecx, [esp + 0x10]
push 0x4550c6
push str.end_addr
call fcn.00403b40
mov ecx, edi
push eax
call fcn.00401070
mov ecx, edi
call fcn.004010f0
mov ecx, dword [esp + 0x44]
cmp ecx, 0x10
mov edi, dword [esp + 0x108]
jb 0x40786c
mov eax, dword [esp + 0x30]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x407862
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a13
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
lea ecx, [esp + 0x3d0]
lea esi, [esp + 0x10]
push esi
call fcn.00448240
mov ecx, esi
call fcn.004010f0
mov edx, dword [esp + 0x2c]
mov ecx, dword [edx + 8]
cmp byte [ecx + 0xd], 0
je 0x4078a3
mov eax, dword [edx + 4]
cmp byte [eax + 0xd], 0
jne 0x4078ad
cmp edx, dword [eax + 8]
mov edx, eax
je 0x407891
jmp 0x4078ad
mov eax, ecx
mov ecx, dword [ecx]
cmp byte [ecx + 0xd], 0
je 0x4078a3
mov ecx, eax
cmp eax, edi
jne 0x406f2b
jmp 0x407917
mov eax, dword [esp + 0x84]
mov eax, dword [eax]
lea ecx, [esp + 0x94]
jmp 0x4074da
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x408a13
mov ecx, eax
lea esi, [esp + 0x10]
jmp 0x4074f1
mov eax, dword [esp + 0x84]
mov eax, dword [eax]
lea ecx, [esp + 0x94]
jmp 0x407782
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x408a13
mov ecx, eax
jmp 0x407799
mov edi, dword [esp + 0x4c]
cmp edi, 0xffffffff
je 0x407962
xor eax, eax
lea esi, [esp + 0x50]
mov dword [esi + 0xc], eax
mov ecx, esi
push eax
push 1
call fcn.00403aa0
mov eax, edi
sar eax, 0x1f
mov dword [esi + 4], eax
mov dword [esi], edi
lea ecx, [esp + 0x140]
push 0x4555ba
push str.main_module
call fcn.00403b40
mov ecx, esi
push eax
call fcn.00401070
mov ecx, esi
call fcn.004010f0
lea ecx, [esp + 0x140]
push 0x454f53
push 0x454f4c
call fcn.00403b40
mov ecx, eax
lea eax, [esp + 0x3d0]
push eax
call fcn.00447470
lea ecx, [esp + 0x3b8]
push 6
call fcn.0043ebe0
mov edi, dword [esp + 0x334]
test edi, edi
je 0x4081a1
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [section..00cfg]
mov ecx, edi
call esi
mov dword [esp + 0x108], eax
test eax, eax
je 0x4081a1
xor ebx, ebx
mov dword [esp + 0x104], edi
mov eax, dword [edi]
mov esi, dword [eax + 0x14]
mov ecx, esi
call dword [section..00cfg]
mov ecx, edi
mov dword [esp + 0x2c], ebx
push ebx
call esi
mov esi, eax
lea ebx, [esp + 0x10]
mov ecx, ebx
push 0
call fcn.0043ebe0
mov eax, dword [esi]
mov edi, dword [eax + 0xc]
mov ecx, edi
call dword [section..00cfg]
mov dword [esp + 0xc], esi
mov ecx, esi
lea esi, [esp + 0x114]
push esi
call edi
push esi
lea edi, [esp + 0x34]
push edi
call fcn.00411640
add esp, 8
lea esi, [esp + 0x50]
mov ecx, esi
push edi
call fcn.004452e0
mov ecx, ebx
push 0x45555a
push str.filename
call fcn.00403b40
mov ecx, esi
push eax
call fcn.00401070
mov ecx, esi
call fcn.004010f0
mov ecx, dword [esp + 0x44]
cmp ecx, 0x10
jb 0x407a81
mov eax, dword [esp + 0x30]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x407a77
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a13
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0xf
mov byte [esp + 0x30], 0
mov ecx, dword [esp + 0x128]
cmp ecx, 0x10
jb 0x407ad4
mov eax, dword [esp + 0x114]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x407aca
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a13
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov esi, dword [esp + 0xc]
mov eax, dword [esi]
mov edi, dword [eax + 0x10]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
lea esi, [esp + 0x114]
push esi
call edi
push esi
lea esi, [esp + 0x34]
push esi
call fcn.00411640
add esp, 8
lea edi, [esp + 0x50]
mov ecx, edi
push esi
call fcn.004452e0
mov ecx, ebx
push 0x4556a5
push str.code_id
call fcn.00403b40
mov ecx, edi
push eax
call fcn.00401070
mov ecx, edi
call fcn.004010f0
mov ecx, dword [esp + 0x44]
cmp ecx, 0x10
jb 0x407b63
mov eax, dword [esp + 0x30]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x407b59
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a13
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0xf
mov byte [esp + 0x30], 0
mov ecx, dword [esp + 0x128]
cmp ecx, 0x10
jb 0x407bb6
mov eax, dword [esp + 0x114]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x407bac
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a13
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov esi, dword [esp + 0xc]
mov eax, dword [esi]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [section..00cfg]
mov ecx, esi
call edi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x100], edx
mov dword [esp + 0x50], 0x44a0f4
mov dword [esp + 0x60], 0x44a0fc
lea ecx, [esp + 0xb8]
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::ios_base::constructor_void_]
mov dword [esp + 0xb8], 0x44a17c
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
mov ecx, 0x44a104
mov dword [esp + eax + 0x50], ecx
mov edi, 0x44a104
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x68]
mov dword [esp + eax + 0x4c], ecx
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x50], 0x44a188
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x18]
mov dword [esp + eax + 0x4c], ecx
xor ebx, ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x58], ebx
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 4]
lea eax, [esp + 0x50]
add ecx, eax
push ebx
lea esi, [esp + 0x6c]
push esi
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::init_class_std::basic_streambuf_char__struct_std::char_traits_char_____bool_]
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x60], 0x44a180
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 4]
lea ecx, [eax - 8]
mov dword [esp + eax + 0x5c], ecx
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x50], 0x44a108
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x20]
mov dword [esp + eax + 0x4c], ecx
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x50], edi
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x68]
mov dword [esp + eax + 0x4c], ecx
mov ecx, esi
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void_]
mov edi, 0x44a140
mov dword [esp + 0x68], edi
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebx
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 4]
mov ecx, dword [esp + eax + 0x74]
mov edx, 0xfffff1ff
and ecx, edx
or ecx, 0x800
mov dword [esp + eax + 0x74], ecx
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 4]
or dword [esp + eax + 0x74], 8
lea ecx, [esp + 0x60]
push dword [esp + 0x100]
push dword [esp + 0x50]
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_long_unsigned___int64__]
mov ecx, esi
lea eax, [esp + 0x30]
push eax
call fcn.00409910
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
mov ecx, 0x44a104
mov dword [esp + eax + 0x50], ecx
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x68]
mov dword [esp + eax + 0x4c], ecx
mov dword [esp + 0x68], edi
test byte [esp + 0xa4], 1
lea esi, [esp + 0x10]
je 0x407d85
mov eax, dword [esp + 0x88]
mov eax, dword [eax]
lea ecx, [esp + 0x98]
test eax, eax
je 0x40811a
mov ecx, dword [ecx]
add eax, dword [ecx]
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx]
sub eax, ecx
cmp eax, 0x1000
jae 0x40812f
push ecx
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [esp + 0x74]
xor ecx, ecx
mov dword [eax], ecx
mov eax, dword [esp + 0x84]
mov dword [eax], ecx
mov eax, dword [esp + 0x94]
mov dword [eax], ecx
mov eax, dword [esp + 0x78]
mov dword [eax], ecx
mov eax, dword [esp + 0x88]
mov dword [eax], ecx
mov eax, dword [esp + 0x98]
mov dword [eax], ecx
mov dword [esp + 0xa0], ecx
and byte [esp + 0xa4], 0xfe
lea ecx, [esp + 0x68]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [esp + 0xb8]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::ios_base::destructor_void_]
lea edi, [esp + 0x50]
mov ecx, edi
lea eax, [esp + 0x30]
push eax
call fcn.004452e0
mov ecx, esi
push 0x4550bd
push str.base_addr
call fcn.00403b40
mov ecx, edi
push eax
call fcn.00401070
mov ecx, edi
call fcn.004010f0
mov ecx, dword [esp + 0x44]
cmp ecx, 0x10
jb 0x407e45
mov eax, dword [esp + 0x30]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x407e3b
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a13
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov ebx, dword [esp + 0xc]
mov eax, dword [ebx]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [section..00cfg]
mov ecx, ebx
call edi
mov edi, eax
mov dword [esp + 0x4c], edx
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [section..00cfg]
mov ecx, ebx
call esi
mov esi, edx
add eax, edi
mov dword [esp + 0xc], eax
adc esi, dword [esp + 0x4c]
mov dword [esp + 0x50], 0x44a0f4
mov dword [esp + 0x60], 0x44a0fc
lea ecx, [esp + 0xb8]
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::ios_base::constructor_void_]
mov dword [esp + 0xb8], 0x44a17c
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
mov ecx, 0x44a104
mov dword [esp + eax + 0x50], ecx
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x68]
mov dword [esp + eax + 0x4c], ecx
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x50], 0x44a188
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x18]
mov dword [esp + eax + 0x4c], ecx
xor ebx, ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x58], ebx
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 4]
lea eax, [esp + 0x50]
add ecx, eax
push ebx
lea edi, [esp + 0x6c]
push edi
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::init_class_std::basic_streambuf_char__struct_std::char_traits_char_____bool_]
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x60], 0x44a180
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 4]
lea ecx, [eax - 8]
mov dword [esp + eax + 0x5c], ecx
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x50], 0x44a108
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x20]
mov dword [esp + eax + 0x4c], ecx
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
mov ecx, 0x44a104
mov dword [esp + eax + 0x50], ecx
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x68]
mov dword [esp + eax + 0x4c], ecx
mov ecx, edi
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void_]
mov eax, 0x44a140
mov dword [esp + 0x68], eax
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebx
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 4]
mov ecx, dword [esp + eax + 0x74]
mov edx, 0xfffff1ff
and ecx, edx
or ecx, 0x800
mov dword [esp + eax + 0x74], ecx
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 4]
or dword [esp + eax + 0x74], 8
lea ecx, [esp + 0x60]
push esi
lea esi, [esp + 0x14]
push dword [esp + 0x10]
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_long_unsigned___int64__]
mov ecx, edi
lea eax, [esp + 0x30]
push eax
call fcn.00409910
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
mov ecx, 0x44a104
mov dword [esp + eax + 0x50], ecx
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x68]
mov dword [esp + eax + 0x4c], ecx
mov eax, 0x44a140
mov dword [esp + 0x68], eax
test byte [esp + 0xa4], 1
je 0x40802b
mov eax, dword [esp + 0x88]
mov eax, dword [eax]
lea ecx, [esp + 0x98]
test eax, eax
je 0x40814b
mov ecx, dword [ecx]
add eax, dword [ecx]
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx]
sub eax, ecx
cmp eax, 0x1000
jae 0x408160
push ecx
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, dword [esp + 0x74]
xor ecx, ecx
mov dword [eax], ecx
mov eax, dword [esp + 0x84]
mov dword [eax], ecx
mov eax, dword [esp + 0x94]
mov dword [eax], ecx
mov eax, dword [esp + 0x78]
mov dword [eax], ecx
mov eax, dword [esp + 0x88]
mov dword [eax], ecx
mov eax, dword [esp + 0x98]
mov dword [eax], ecx
mov dword [esp + 0xa0], ecx
and byte [esp + 0xa4], 0xfe
lea ecx, [esp + 0x68]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [esp + 0xb8]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::ios_base::destructor_void_]
lea edi, [esp + 0x50]
mov ecx, edi
lea eax, [esp + 0x30]
push eax
call fcn.004452e0
mov ecx, esi
push 0x4550c6
push str.end_addr
call fcn.00403b40
mov ecx, edi
push eax
call fcn.00401070
mov ecx, edi
call fcn.004010f0
mov ecx, dword [esp + 0x44]
cmp ecx, 0x10
mov edi, dword [esp + 0x104]
jb 0x4080f2
mov eax, dword [esp + 0x30]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x4080e8
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a13
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
lea ecx, [esp + 0x3b8]
push esi
call fcn.00448240
mov ecx, esi
call fcn.004010f0
mov ebx, dword [esp + 0x2c]
inc ebx
cmp dword [esp + 0x108], ebx
jne 0x4079cd
jmp 0x40817c
mov eax, dword [esp + 0x84]
mov eax, dword [eax]
lea ecx, [esp + 0x94]
jmp 0x407d64
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x408a13
mov ecx, eax
lea esi, [esp + 0x10]
jmp 0x407d7b
mov eax, dword [esp + 0x84]
mov eax, dword [eax]
lea ecx, [esp + 0x94]
jmp 0x40800a
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x408a13
mov ecx, eax
lea esi, [esp + 0x10]
jmp 0x408021
lea ecx, [esp + 0x140]
push 0x454f53
push str.unloaded_modules
call fcn.00403b40
mov ecx, eax
lea eax, [esp + 0x3b8]
push eax
call fcn.00447470
mov ecx, dword [esp + 0x330]
lea esi, [esp + 0x170]
mov edx, esi
call fcn.00408d70
mov ecx, dword [esp + 0x334]
mov edx, esi
call fcn.00408d70
lea ecx, [esp + 0x50]
push 6
call fcn.0043ebe0
mov eax, dword [esp + 0x234]
sub eax, dword [esp + 0x230]
cmp byte [esp + 0x2b], 0
mov ebx, dword [esp + 0x12c]
jne 0x408272
cmp ebx, 0xffffffff
je 0x408272
lea esi, [esp + 0x10]
mov ecx, esi
push 0
call fcn.0043ebe0
lea edi, [esp + 0x30]
mov ecx, edi
push 6
call fcn.0043ebe0
mov eax, dword [esp + 0x230]
mov ecx, dword [esp + 0x234]
sub ecx, eax
sar ecx, 2
cmp ecx, ebx
jbe 0x408998
mov edx, dword [eax + ebx*4]
lea ecx, [esp + 0x10c]
push edi
call fcn.004090f0
add esp, 4
mov ecx, esi
push 0x454f42
push str.frames
call fcn.00403b40
mov ecx, eax
push edi
call fcn.00447470
lea ecx, [esp + 0x50]
push esi
call fcn.00448240
mov ecx, edi
call fcn.004010f0
mov ecx, esi
call fcn.004010f0
jmp 0x40830c
test eax, eax
lea ebx, [esp + 0x10]
jle 0x40830c
sar eax, 2
xor ecx, ecx
inc ecx
cmp eax, 2
cmovge ecx, eax
mov dword [esp + 0xc], ecx
xor edi, edi
lea esi, [esp + 0x30]
mov ecx, ebx
push 0
call fcn.0043ebe0
mov ecx, esi
push 6
call fcn.0043ebe0
mov eax, dword [esp + 0x230]
mov ecx, dword [esp + 0x234]
sub ecx, eax
sar ecx, 2
cmp ecx, edi
jbe 0x408998
mov edx, dword [eax + edi*4]
lea ecx, [esp + 0x10c]
push esi
call fcn.004090f0
add esp, 4
mov ecx, ebx
push 0x454f42
push str.frames
call fcn.00403b40
mov ecx, eax
push esi
call fcn.00447470
lea ecx, [esp + 0x50]
push ebx
call fcn.00448240
mov ecx, esi
call fcn.004010f0
mov ecx, ebx
call fcn.004010f0
inc edi
cmp dword [esp + 0xc], edi
jne 0x408294
lea ecx, [esp + 0x140]
push 0x454f67
push str.threads
call fcn.00403b40
mov ecx, eax
lea esi, [esp + 0x50]
push esi
call fcn.00447470
mov ecx, esi
call fcn.004010f0
lea ecx, [esp + 0x3b8]
call fcn.004010f0
lea ecx, [esp + 0x3d0]
call fcn.004010f0
mov esi, dword [esp + 0x10c]
mov ecx, dword [esi + 4]
call fcn.00409d40
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
lea ecx, [esp + 0x158]
call fcn.004010f0
lea ecx, [esp + 0x188]
call fcn.00429890
lea esi, [esp + 0x360]
mov ecx, esi
call fcn.0041a8e0
lea ecx, [esp + 0x138]
call fcn.0041c210
lea ecx, [esp + 0x3e8]
call fcn.00436700
xor eax, eax
mov dword [esi], eax
mov dword [esi + 0x10], eax
mov dword [esi + 0x14], eax
mov edi, dword [0x4b3f14]
mov eax, 0x4b3f04
cmp dword [0x4b3f18], 0x10
jb 0x4083c7
mov eax, dword [0x4b3f04]
cmp edi, 0x10
jae 0x4083f7
movups xmm0, xmmword [eax]
movaps xmmword [esp + 0x360], xmm0
mov dword [esp + 0x370], edi
mov dword [esp + 0x374], 0xf
mov ebx, 0xf
test edi, edi
jne 0x408461
jmp 0x4089c1
mov esi, eax
mov ebx, edi
or ebx, 0xf
mov eax, 0x7fffffff
cmp ebx, eax
cmovae ebx, eax
cmp ebx, 0xfff
jb 0x40842a
lea eax, [ebx + 0x24]
push eax
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov ecx, eax
add eax, 0x23
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x408437
lea eax, [ebx + 1]
push eax
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [esp + 0x360], eax
lea ecx, [edi + 1]
push ecx
push esi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esp + 0x370], edi
mov dword [esp + 0x374], ebx
mov esi, dword [esp + 0x360]
lea eax, [esi + edi]
dec eax
cmp byte [eax], 0x2e
jne 0x40846e
mov edx, eax
jmp 0x408485
lea ecx, [edi - 1]
test ecx, ecx
je 0x40898e
lea edx, [eax - 1]
dec ecx
cmp byte [eax - 1], 0x2e
mov eax, edx
jne 0x408471
sub edx, esi
js 0x40898e
sub edi, edx
lea esi, [esp + 0x360]
mov ecx, esi
push edi
call fcn.00441b90
add esp, 4
lea ebx, [esp + 0x10]
mov ecx, ebx
push 0
call fcn.0043ebe0
lea edi, [esp + 0x50]
mov ecx, edi
mov edx, esi
call fcn.00408a20
cmp dword [esp + 0x64], 8
jb 0x4084c6
mov edi, dword [esp + 0x50]
lea esi, [esp + 0x1f8]
mov dword [esi - 0x70], 0x44a114
mov ecx, esi
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::ios_base::constructor_void_]
mov dword [esi], 0x44a17c
mov edx, edi
lea edi, [esp + 0x188]
mov ecx, edi
call fcn.00442090
mov eax, dword [edi]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x188], 0x44a11c
mov eax, dword [edi]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x70]
mov dword [esp + eax + 0x184], ecx
mov ecx, dword [esp + 0x64]
cmp ecx, 8
jb 0x408544
mov eax, dword [esp + 0x50]
inc ecx
test ecx, 0x7ffff800
je 0x40853a
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a13
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
cmp dword [esp + 0x1e4], 0
jne 0x408552
xor ebx, ebx
jmp 0x40857a
lea edi, [esp + 0x50]
mov ecx, edi
call fcn.00440000
push 0
push ebx
lea eax, [esp + 0x190]
push eax
push edi
call fcn.00447500
add esp, 0x10
mov ebx, eax
mov ecx, edi
call fcn.004414a0
lea ecx, [esp + 0x198]
mov eax, dword [ecx - 0x10]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x188], 0x44a184
mov eax, dword [ecx - 0x10]
mov eax, dword [eax + 4]
lea edx, [eax - 0x70]
mov dword [esp + eax + 0x184], edx
call fcn.00442dc0
mov ecx, esi
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::ios_base::destructor_void_]
test bl, bl
je 0x4089e1
lea ebx, [esp + 0x50]
lea edx, [esp + 0x360]
mov ecx, ebx
call fcn.00408a20
cmp dword [ebx + 0x14], 8
jb 0x4085d3
mov ebx, dword [esp + 0x50]
lea edi, [esp + 0x1f0]
mov dword [edi - 0x68], 0x44a0f4
mov ecx, edi
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::ios_base::constructor_void_]
mov dword [edi], 0x44a17c
mov eax, dword [edi - 0x68]
mov eax, dword [eax + 4]
mov ecx, 0x44a124
mov dword [esp + eax + 0x188], ecx
mov eax, dword [edi - 0x68]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x68]
mov dword [esp + eax + 0x184], ecx
lea esi, [esp + 0x18c]
mov eax, dword [esi - 4]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x188], 0x44a180
mov eax, dword [esi - 4]
mov eax, dword [eax + 4]
lea ecx, [eax - 8]
mov dword [esp + eax + 0x184], ecx
mov eax, dword [esi - 4]
mov ecx, dword [eax + 4]
lea eax, [esp + 0x188]
add ecx, eax
push 0
push esi
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::init_class_std::basic_streambuf_char__struct_std::char_traits_char_____bool_]
mov eax, dword [esi - 4]
mov eax, dword [eax + 4]
mov ecx, 0x44a124
mov dword [esp + eax + 0x188], ecx
mov eax, dword [esi - 4]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x68]
mov dword [esp + eax + 0x184], ecx
mov ecx, esi
call fcn.00442190
mov ecx, esi
mov edx, ebx
push 0x12
call fcn.00442200
add esp, 4
test eax, eax
jne 0x4086ae
mov eax, dword [esp + 0x188]
mov eax, dword [eax + 4]
lea ecx, [esp + eax]
add ecx, 0x188
mov eax, dword [ecx + 0xc]
or eax, 2
push 0
push eax
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool_]
mov eax, dword [esp + 0x188]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x188], 0x44a120
mov eax, dword [esp + 0x188]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x68]
mov dword [esp + eax + 0x184], ecx
mov ecx, dword [esp + 0x64]
cmp ecx, 8
jb 0x40870a
mov eax, dword [esp + 0x50]
inc ecx
test ecx, 0x7ffff800
je 0x408700
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a13
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
cmp dword [esp + 0x1d8], 0
jne 0x408721
mov dword [esp + 0xc], 0
jmp 0x4088de
lea ebx, [esp + 0x50]
mov ecx, ebx
call fcn.00440800
lea edi, [esp + 0x30]
mov ecx, edi
push 0x47e4cd
call fcn.00404a20
lea esi, [esp + 0x114]
mov dword [esi + 0x14], 0xf
mov dword [esi + 0x10], 0xb
mov dword [esi], 0x65646e69
mov dword [esi + 4], 0x7461746e
mov dword [esi + 7], 0x6e6f6974
mov byte [esi + 0xb], 0
mov ecx, ebx
push esi
call fcn.00406060
mov ecx, edi
push eax
call fcn.00401070
mov ecx, dword [esi + 0x14]
cmp ecx, 0x10
jb 0x4087b3
mov eax, dword [esp + 0x114]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x4087a9
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a13
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
lea ecx, [esp + 0x30]
call fcn.004010f0
lea ecx, [esp + 0x10]
push 0x454f5f
push str.StackTraces
call fcn.00403b40
mov ecx, eax
lea eax, [esp + 0x140]
push eax
call fcn.00447470
cmp byte [esp + 0x178], 0
je 0x408866
lea eax, [esp + 0x170]
push eax
push ebx
push esi
call fcn.00401220
add esp, 0xc
lea edi, [esp + 0x30]
mov ecx, edi
push esi
call fcn.004452e0
lea ecx, [esp + 0x10]
push 0x455125
push str.ModuleSignatureInfo
call fcn.00403b40
mov ecx, edi
push eax
call fcn.00401070
mov ecx, edi
call fcn.004010f0
mov ecx, dword [esp + 0x128]
cmp ecx, 0x10
jb 0x408866
mov eax, dword [esp + 0x114]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x40885c
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a13
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
lea ecx, [esp + 0x50]
call fcn.004015a0
mov edi, eax
mov eax, dword [eax]
mov ebx, dword [eax + 4]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, edi
lea esi, [esp + 0x188]
push esi
lea eax, [esp + 0x14]
push eax
call ebx
push str._n_t__full
push esi
call fcn.00441cd0
add esp, 8
mov eax, dword [esp + 0x188]
mov ecx, dword [eax + 4]
add ecx, esi
call dword [sym.imp.MSVCP140.dll_public:_bool___thiscall_std::ios_base::fail_void_const]
xor al, 1
mov dword [esp + 0xc], eax
mov ecx, esi
call fcn.00441ed0
mov eax, dword [edi]
mov esi, dword [eax]
mov ecx, esi
call dword [section..00cfg]
mov ecx, edi
push 1
call esi
lea ecx, [esp + 0x50]
call fcn.00448570
lea edi, [esp + 0x1f0]
mov eax, dword [esp + 0x188]
mov eax, dword [eax + 4]
mov dword [esp + eax + 0x188], 0x44a124
mov eax, dword [esp + 0x188]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x68]
mov dword [esp + eax + 0x184], ecx
lea ecx, [esp + 0x18c]
call fcn.00442dc0
mov ecx, edi
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::ios_base::destructor_void_]
lea ecx, [esp + 0x10]
call fcn.004010f0
mov ebx, dword [esp + 0x374]
cmp ebx, 0x10
jb 0x408962
mov eax, dword [esp + 0x360]
add ebx, 0xfffff001
cmp ebx, 0xffffefff
ja 0x408958
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a13
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
lea ecx, [esp + 0x170]
call fcn.004010f0
lea ecx, [esp + 0x140]
call fcn.004010f0
cmp byte [esp + 0xc], 0
je 0x4089d9
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
call fcn.00409a10
mov dword [esp + 0xc], 0
jmp 0x40892b
call fcn.00409a10
lea ecx, [esp + 0x360]
call fcn.0041a8e0
lea ecx, [esp + 0x138]
call fcn.0041c210
lea ecx, [esp + 0x3e8]
call fcn.00436700
lea ecx, [esp + 0x170]
call fcn.004010f0
lea ecx, [esp + 0x140]
call fcn.004010f0
push 1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
mov dword [esp + 0xc], 0
jmp 0x40891b
lea ecx, [esp + 0x94]
mov eax, dword [ecx - 0x10]
mov eax, dword [eax]
jmp 0x406ba5
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x408a13
mov ecx, eax
jmp 0x406bbc
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3