Function at 0x406150
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 0x4089cb
mov edi, dword [ebp + 0xc]
je 0x4061ef
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 0x4061e1
push str.__force_use_module
push dword [edi + esi*4]
call ebx
add esp, 8
test eax, eax
jne 0x4089cb
cmp esi, dword [esp + 0x2c]
jge 0x4089cb
mov edx, dword [edi + esi*4 + 4]
inc esi
mov ecx, 0x4b3eec
call fcn.00409e50
mov ebx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscmp]
jmp 0x4061e8
mov byte [0x4b3ee8], 1
inc esi
cmp esi, dword [esp + 0xc]
jl 0x40619a
mov eax, dword [ebp + 8]
mov edx, dword [edi + eax*4 - 4]
mov ecx, 0x4b3f04
call fcn.00409e50
mov al, byte [0x4b3ee8]
mov byte [esp + 0x2b], al
xor ebx, ebx
lea ecx, [esp + 0x140]
push ebx
call fcn.0043ebd0
lea ecx, [esp + 0x170]
push ebx
call fcn.0043ebd0
lea esi, [esp + 0x3e8]
mov ecx, esi
call fcn.0040cb00
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.00436850
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.00408a10
lea edi, [esp + 0x50]
mov ecx, edi
mov edx, esi
push ebx
call fcn.00408b00
add esp, 4
mov ecx, dword [esi + 0x14]
cmp ecx, 8
jb 0x4062ba
mov eax, dword [esp + 0x188]
inc ecx
test ecx, 0x7ffff800
je 0x4062b0
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a05
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.0041a7d0
mov ecx, dword [esp + 0x64]
cmp ecx, 0x10
jb 0x406303
mov eax, dword [esp + 0x50]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x4062f9
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a05
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
lea edi, [esp + 0x360]
mov ecx, edi
call fcn.0041a9c0
test al, al
je 0x40898f
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.004204a0
lea ecx, [esp + 0x138]
push esi
push edi
call fcn.0041c230
cmp eax, 7
ja case.default.0x4064e4
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 0x406742
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 0x4065e5
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 0x40667e
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 0x40673e
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 0x40673e
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 0x40673e
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 0x40673e
mov dword [esp + 0x10], ebx
mov dword [esp + 0x24], 0xf
mov dword [esp + 0x20], ebx
mov byte [esp + 0x10], 0
jmp 0x406742
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.004452d0
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 0x4067ae
mov eax, dword [esp + 0x10]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x4067a4
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a05
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
lea ecx, [esp + 0x158]
push 0
call fcn.0043ebd0
mov eax, dword [esp + 0x1d0]
mov dword [esp + 0x12c], eax
cmp byte [esp + 0x190], 0
jne 0x406820
lea esi, [esp + 0x50]
mov ecx, esi
push 0
call fcn.0043ebd0
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 0x40683a
mov edi, dword [esp + 0x1b8]
jmp 0x406841
mov esi, dword [esp + 0x1a4]
cmp dword [esp + 0x1a8], 0x10
jb 0x406867
mov edi, dword [esp + 0x194]
jmp 0x40686e
lea edi, [esp + 0x1b8]
cmp ebx, 0x10
jae 0x406885
movups xmm0, xmmword [edi]
movaps xmmword [esp + 0x50], xmm0
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], 0xf
test ebx, ebx
jne 0x406915
jmp 0x406cbb
lea edi, [esp + 0x194]
cmp esi, 0xf
ja 0x4068b6
movups xmm0, xmmword [edi]
movaps xmmword [esp + 0x10], xmm0
mov ebx, 0xf
jmp 0x4069aa
mov esi, ebx
or esi, 0xf
mov eax, 0x7fffffff
cmp esi, eax
cmovae esi, eax
cmp esi, 0xfff
jb 0x4068ee
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 0x4068fb
mov ebx, esi
or ebx, 0xf
mov eax, 0x7fffffff
cmp ebx, eax
cmovae ebx, eax
cmp ebx, 0xfff
jb 0x40698b
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 0x406998
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.004452d0
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 0x406cbb
mov eax, dword [esp + 0x50]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x40697c
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a05
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
jmp 0x406cbb
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.004452d0
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 0x406a1f
mov eax, dword [esp + 0x10]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x406a15
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a05
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.00409900
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 0x406bb6
mov eax, dword [esp + 0x88]
mov eax, dword [eax]
test eax, eax
je 0x4089e0
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 0x4089f1
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.004452d0
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 0x406c64
mov eax, dword [esp + 0x10]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x406c5a
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a05
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
cmp ebx, 0xffffffff
je 0x406cbb
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.00447460
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 0x406da3
cmp ecx, 0xffffffff
je 0x406da3
cmp eax, ecx
jbe 0x40898a
mov ebx, dword [edx + ecx*4]
mov eax, dword [ebx + 4]
sub eax, dword [ebx]
test eax, eax
jle 0x406e49
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 0x40897b
mov eax, dword [eax + edi*4]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x406d99
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.00409a10
add esp, 4
inc edi
cmp esi, edi
jne 0x406d59
jmp 0x406e49
test esi, esi
jle 0x406e49
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 0x40898a
mov dword [esp + 0xc], edx
mov esi, dword [eax + edx*4]
mov edi, dword [esi + 4]
sub edi, dword [esi]
test edi, edi
jle 0x406e3a
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 0x40897b
mov eax, dword [eax + ebx*4]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x406e35
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.00409a10
add esp, 4
inc ebx
cmp edi, ebx
jne 0x406df5
mov edx, dword [esp + 0xc]
inc edx
cmp edx, dword [esp + 0x2c]
jne 0x406dba
mov edi, dword [esp + 0x10c]
mov ecx, dword [edi]
cmp ecx, edi
je 0x406e87
xor eax, eax
mov dword [ecx + 0x14], eax
mov esi, dword [ecx + 8]
cmp byte [esi + 0xd], 0
mov edx, ecx
je 0x406e78
mov ecx, dword [edx + 4]
cmp byte [ecx + 0xd], 0
jne 0x406e82
cmp edx, dword [ecx + 8]
mov edx, ecx
je 0x406e66
jmp 0x406e82
mov ecx, esi
mov esi, dword [esi]
cmp byte [esi + 0xd], 0
je 0x406e78
inc eax
cmp ecx, edi
jne 0x406e58
lea ecx, [esp + 0x3d0]
push 6
call fcn.0043ebd0
mov esi, dword [esp + 0x330]
test esi, esi
je 0x407952
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 0x406f03
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 0x407952
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 0x406f56
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.0043ebd0
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.00411630
add esp, 8
lea edi, [esp + 0x50]
mov ecx, edi
push esi
call fcn.004452d0
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 0x407001
mov eax, dword [esp + 0x30]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x406ff7
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a05
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 0x407054
mov eax, dword [esp + 0x114]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x40704a
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a05
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.00411630
add esp, 8
lea edi, [esp + 0x50]
mov ecx, edi
push esi
call fcn.004452d0
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 0x4070e5
mov eax, dword [esp + 0x30]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x4070db
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a05
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 0x407138
mov eax, dword [esp + 0x114]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x40712e
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a05
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.004452d0
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 0x4071b8
mov eax, dword [esp + 0x30]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x4071ae
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a05
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.00411630
add esp, 8
lea edi, [esp + 0x50]
mov ecx, edi
push esi
call fcn.004452d0
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 0x407249
mov eax, dword [esp + 0x30]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x40723f
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a05
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 0x40729c
mov eax, dword [esp + 0x114]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x407292
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a05
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.004452d0
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 0x40731c
mov eax, dword [esp + 0x30]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x407312
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a05
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.00409900
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 0x4074eb
mov eax, dword [esp + 0x88]
mov eax, dword [eax]
lea ecx, [esp + 0x98]
test eax, eax
je 0x4078a9
mov ecx, dword [ecx]
add eax, dword [ecx]
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx]
sub eax, ecx
cmp eax, 0x1000
jae 0x4078be
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.004452d0
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 0x4075ab
mov eax, dword [esp + 0x30]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x4075a1
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a05
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.00409900
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 0x407793
mov eax, dword [esp + 0x88]
mov eax, dword [eax]
lea ecx, [esp + 0x98]
test eax, eax
je 0x4078da
mov ecx, dword [ecx]
add eax, dword [ecx]
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx]
sub eax, ecx
cmp eax, 0x1000
jae 0x4078ef
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.004452d0
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 0x40785c
mov eax, dword [esp + 0x30]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x407852
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a05
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.00448230
mov ecx, esi
call fcn.004010f0
mov edx, dword [esp + 0x2c]
mov ecx, dword [edx + 8]
cmp byte [ecx + 0xd], 0
je 0x407893
mov eax, dword [edx + 4]
cmp byte [eax + 0xd], 0
jne 0x40789d
cmp edx, dword [eax + 8]
mov edx, eax
je 0x407881
jmp 0x40789d
mov eax, ecx
mov ecx, dword [ecx]
cmp byte [ecx + 0xd], 0
je 0x407893
mov ecx, eax
cmp eax, edi
jne 0x406f1b
jmp 0x407907
mov eax, dword [esp + 0x84]
mov eax, dword [eax]
lea ecx, [esp + 0x94]
jmp 0x4074ca
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x408a05
mov ecx, eax
lea esi, [esp + 0x10]
jmp 0x4074e1
mov eax, dword [esp + 0x84]
mov eax, dword [eax]
lea ecx, [esp + 0x94]
jmp 0x407772
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x408a05
mov ecx, eax
jmp 0x407789
mov edi, dword [esp + 0x4c]
cmp edi, 0xffffffff
je 0x407952
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.00447460
lea ecx, [esp + 0x3b8]
push 6
call fcn.0043ebd0
mov edi, dword [esp + 0x334]
test edi, edi
je 0x408191
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 0x408191
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.0043ebd0
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.00411630
add esp, 8
lea esi, [esp + 0x50]
mov ecx, esi
push edi
call fcn.004452d0
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 0x407a71
mov eax, dword [esp + 0x30]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x407a67
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a05
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 0x407ac4
mov eax, dword [esp + 0x114]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x407aba
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a05
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.00411630
add esp, 8
lea edi, [esp + 0x50]
mov ecx, edi
push esi
call fcn.004452d0
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 0x407b53
mov eax, dword [esp + 0x30]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x407b49
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a05
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 0x407ba6
mov eax, dword [esp + 0x114]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x407b9c
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a05
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.00409900
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 0x407d75
mov eax, dword [esp + 0x88]
mov eax, dword [eax]
lea ecx, [esp + 0x98]
test eax, eax
je 0x40810a
mov ecx, dword [ecx]
add eax, dword [ecx]
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx]
sub eax, ecx
cmp eax, 0x1000
jae 0x40811f
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.004452d0
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 0x407e35
mov eax, dword [esp + 0x30]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x407e2b
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a05
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.00409900
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 0x40801b
mov eax, dword [esp + 0x88]
mov eax, dword [eax]
lea ecx, [esp + 0x98]
test eax, eax
je 0x40813b
mov ecx, dword [ecx]
add eax, dword [ecx]
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx]
sub eax, ecx
cmp eax, 0x1000
jae 0x408150
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.004452d0
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 0x4080e2
mov eax, dword [esp + 0x30]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x4080d8
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a05
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
lea ecx, [esp + 0x3b8]
push esi
call fcn.00448230
mov ecx, esi
call fcn.004010f0
mov ebx, dword [esp + 0x2c]
inc ebx
cmp dword [esp + 0x108], ebx
jne 0x4079bd
jmp 0x40816c
mov eax, dword [esp + 0x84]
mov eax, dword [eax]
lea ecx, [esp + 0x94]
jmp 0x407d54
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x408a05
mov ecx, eax
lea esi, [esp + 0x10]
jmp 0x407d6b
mov eax, dword [esp + 0x84]
mov eax, dword [eax]
lea ecx, [esp + 0x94]
jmp 0x407ffa
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x408a05
mov ecx, eax
lea esi, [esp + 0x10]
jmp 0x408011
lea ecx, [esp + 0x140]
push 0x454f53
push str.unloaded_modules
call fcn.00403b40
mov ecx, eax
lea eax, [esp + 0x3b8]
push eax
call fcn.00447460
mov ecx, dword [esp + 0x330]
lea esi, [esp + 0x170]
mov edx, esi
call fcn.00408d60
mov ecx, dword [esp + 0x334]
mov edx, esi
call fcn.00408d60
lea ecx, [esp + 0x50]
push 6
call fcn.0043ebd0
mov eax, dword [esp + 0x234]
sub eax, dword [esp + 0x230]
cmp byte [esp + 0x2b], 0
mov ebx, dword [esp + 0x12c]
jne 0x408262
cmp ebx, 0xffffffff
je 0x408262
lea esi, [esp + 0x10]
mov ecx, esi
push 0
call fcn.0043ebd0
lea edi, [esp + 0x30]
mov ecx, edi
push 6
call fcn.0043ebd0
mov eax, dword [esp + 0x230]
mov ecx, dword [esp + 0x234]
sub ecx, eax
sar ecx, 2
cmp ecx, ebx
jbe 0x40898a
mov edx, dword [eax + ebx*4]
lea ecx, [esp + 0x10c]
push edi
call fcn.004090e0
add esp, 4
mov ecx, esi
push 0x454f42
push str.frames
call fcn.00403b40
mov ecx, eax
push edi
call fcn.00447460
lea ecx, [esp + 0x50]
push esi
call fcn.00448230
mov ecx, edi
call fcn.004010f0
mov ecx, esi
call fcn.004010f0
jmp 0x4082fc
test eax, eax
lea ebx, [esp + 0x10]
jle 0x4082fc
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.0043ebd0
mov ecx, esi
push 6
call fcn.0043ebd0
mov eax, dword [esp + 0x230]
mov ecx, dword [esp + 0x234]
sub ecx, eax
sar ecx, 2
cmp ecx, edi
jbe 0x40898a
mov edx, dword [eax + edi*4]
lea ecx, [esp + 0x10c]
push esi
call fcn.004090e0
add esp, 4
mov ecx, ebx
push 0x454f42
push str.frames
call fcn.00403b40
mov ecx, eax
push esi
call fcn.00447460
lea ecx, [esp + 0x50]
push ebx
call fcn.00448230
mov ecx, esi
call fcn.004010f0
mov ecx, ebx
call fcn.004010f0
inc edi
cmp dword [esp + 0xc], edi
jne 0x408284
lea ecx, [esp + 0x140]
push 0x454f67
push str.threads
call fcn.00403b40
mov ecx, eax
lea esi, [esp + 0x50]
push esi
call fcn.00447460
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.00409d30
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.00429880
lea esi, [esp + 0x360]
mov ecx, esi
call fcn.0041a8d0
lea ecx, [esp + 0x138]
call fcn.0041c200
lea ecx, [esp + 0x3e8]
call fcn.004366f0
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 0x4083b7
mov eax, dword [0x4b3f04]
cmp edi, 0x10
jae 0x4083e7
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 0x408451
jmp 0x4089b3
mov esi, eax
mov ebx, edi
or ebx, 0xf
mov eax, 0x7fffffff
cmp ebx, eax
cmovae ebx, eax
cmp ebx, 0xfff
jb 0x40841a
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 0x408427
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 0x40845e
mov edx, eax
jmp 0x408475
lea ecx, [edi - 1]
test ecx, ecx
je 0x408980
lea edx, [eax - 1]
dec ecx
cmp byte [eax - 1], 0x2e
mov eax, edx
jne 0x408461
sub edx, esi
js 0x408980
sub edi, edx
lea esi, [esp + 0x360]
mov ecx, esi
push edi
call fcn.00441b80
add esp, 4
lea ebx, [esp + 0x10]
mov ecx, ebx
push 0
call fcn.0043ebd0
lea edi, [esp + 0x50]
mov ecx, edi
mov edx, esi
call fcn.00408a10
cmp dword [esp + 0x64], 8
jb 0x4084b6
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.00442080
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 0x408534
mov eax, dword [esp + 0x50]
inc ecx
test ecx, 0x7ffff800
je 0x40852a
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a05
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
cmp dword [esp + 0x1e4], 0
jne 0x408542
xor ebx, ebx
jmp 0x40856a
lea edi, [esp + 0x50]
mov ecx, edi
call fcn.0043fff0
push 0
push ebx
lea eax, [esp + 0x190]
push eax
push edi
call fcn.004474f0
add esp, 0x10
mov ebx, eax
mov ecx, edi
call fcn.00441490
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.00442db0
mov ecx, esi
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::ios_base::destructor_void_]
test bl, bl
je 0x4089d3
lea ebx, [esp + 0x50]
lea edx, [esp + 0x360]
mov ecx, ebx
call fcn.00408a10
cmp dword [ebx + 0x14], 8
jb 0x4085c3
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.00442180
mov ecx, esi
mov edx, ebx
push 0x12
call fcn.004421f0
add esp, 4
test eax, eax
jne 0x40869e
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 0x4086fa
mov eax, dword [esp + 0x50]
inc ecx
test ecx, 0x7ffff800
je 0x4086f0
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a05
mov eax, ecx
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
cmp dword [esp + 0x1d8], 0
jne 0x408711
mov dword [esp + 0xc], 0
jmp 0x4088d5
lea ebx, [esp + 0x50]
mov ecx, ebx
call fcn.004407f0
lea edi, [esp + 0x30]
mov ecx, edi
push 0x47e4cd
call fcn.00404a10
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.00406050
mov ecx, edi
push eax
call fcn.00401070
mov ecx, dword [esi + 0x14]
cmp ecx, 0x10
jb 0x4087a3
mov eax, dword [esp + 0x114]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x408799
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a05
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.00447460
cmp byte [esp + 0x178], 0
je 0x408856
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.004452d0
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 0x408856
mov eax, dword [esp + 0x114]
add ecx, 0xfffff001
cmp ecx, 0xffffefff
ja 0x40884c
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a05
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.00441cc0
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.00441ec0
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.00448560
lea edi, [esp + 0x1f0]
lea esi, [esp + 0x18c]
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
mov ecx, esi
call fcn.00442db0
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 0x408954
mov eax, dword [esp + 0x360]
add ebx, 0xfffff001
cmp ebx, 0xffffefff
ja 0x40894a
mov ecx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, ecx
cmp eax, 0x20
jae 0x408a05
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 0x4089cb
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
call fcn.00409a00
mov dword [esp + 0xc], 0
jmp 0x40891d
call fcn.00409a00
lea ecx, [esp + 0x360]
call fcn.0041a8d0
lea ecx, [esp + 0x138]
call fcn.0041c200
lea ecx, [esp + 0x3e8]
call fcn.004366f0
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 0x40890d
lea ecx, [esp + 0x94]
mov eax, dword [ecx - 0x10]
mov eax, dword [eax]
jmp 0x406b95
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x408a05
mov ecx, eax
jmp 0x406bac
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3