Function at 0x419510
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x218
mov eax, dword [0x481014]
xor eax, ebp
mov dword [esp + 0x210], eax
lea eax, [ecx + 0xc]
cmp dword [ecx + 0x20], 0x10
mov dword [esp + 0x1c], eax
jb 0x41953d
mov eax, dword [ecx + 0xc]
mov esi, dword [ebp + 8]
mov dword [ecx + 0x1c], 0
mov byte [eax], 0
mov edi, dword [ecx + 0x24]
mov dword [esp + 0x24], ecx
mov ebx, dword [ecx + 0x28]
cmp edi, ebx
je 0x419572
mov ecx, edi
call fcn.00419390
add edi, 0x98
cmp edi, ebx
jne 0x419558
mov edi, dword [esp + 0x24]
mov ebx, dword [edi + 0x24]
jmp 0x419576
mov edi, dword [esp + 0x24]
mov dword [edi + 0x28], ebx
mov byte [edi + 4], 0
cmp esi, 0xac
jne 0x41a79c
mov ecx, dword [edi + 8]
mov dword [esp], 0xac
lea edx, [esp + 0x4c]
call fcn.00412ee0
test al, al
je 0x41a79c
mov eax, dword [edi + 8]
cmp byte [eax + 0x4e], 0
je 0x4195f4
cmp byte [eax + 0x4c], 0
je 0x4195f4
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
bswap eax
mov dword [esp + 0x4c], eax
mov eax, ecx
bswap eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x54]
bswap eax
mov dword [esp + 0x54], eax
test ecx, ecx
je 0x4195f4
xor eax, eax
mov ecx, dword [esp + eax*8 + 0x58]
mov edx, dword [esp + eax*8 + 0x5c]
bswap ecx
mov dword [esp + eax*8 + 0x58], ecx
bswap edx
mov dword [esp + eax*8 + 0x5c], edx
inc eax
cmp eax, dword [esp + 0x50]
jb 0x4195d9
cmp dword [esp + 0x4c], 0x4d7a0001
jne 0x41a79c
cmp dword [esp + 0x50], 0
je 0x41a7b8
xor eax, eax
mov ebx, dword [esp + 0x54]
mov esi, dword [esp + eax*8 + 0x58]
mov dword [esp + 0x44], eax
mov edx, dword [esp + eax*8 + 0x5c]
mov ecx, dword [edi + 8]
call fcn.004131a0
test al, al
je 0x41a79c
cmp ebx, 0x29
mov edi, 0x28
cmovae edi, ebx
mov dword [esp], 0xc
call sub.mozglue.dll_void____cdecl_operator_new_unsigned_int_
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [esp + 0x34], eax
mov dword [eax + 8], ecx
test edi, edi
js 0x41a7c0
cmp edi, 0x1000
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], esi
jb 0x419684
lea eax, [edi + 0x23]
mov dword [esp], eax
call sub.mozglue.dll_void____cdecl_operator_new_unsigned_int_
mov ecx, eax
add eax, 0x23
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x41968c
mov dword [esp], edi
call sub.mozglue.dll_void____cdecl_operator_new_unsigned_int_
mov ebx, dword [esp + 0x34]
mov dword [ebx], eax
lea esi, [eax + edi]
mov dword [ebx + 8], esi
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [esp + 4], 0
call sub.VCRUNTIME140.dll_memset
mov dword [ebx + 4], esi
mov esi, dword [esp + 0x24]
mov ecx, dword [esi + 8]
mov edi, dword [ebx]
mov eax, dword [esp + 0x18]
mov dword [esp], eax
mov edx, edi
call fcn.00412ee0
test al, al
je 0x41978d
mov eax, dword [esi + 8]
cmp byte [eax + 0x4e], 0
je 0x41972b
cmp byte [eax + 0x4c], 0
je 0x41972b
mov eax, dword [edi]
mov ecx, dword [edi + 4]
bswap eax
bswap ecx
mov dword [edi], ecx
mov dword [edi + 4], eax
mov eax, dword [edi + 8]
bswap eax
mov ecx, dword [edi + 0xc]
bswap ecx
mov dword [edi + 8], ecx
mov dword [edi + 0xc], eax
mov eax, dword [edi + 0x10]
bswap eax
mov ecx, dword [edi + 0x14]
bswap ecx
mov dword [edi + 0x10], ecx
mov dword [edi + 0x14], eax
mov eax, dword [edi + 0x18]
bswap eax
mov ecx, dword [edi + 0x1c]
bswap ecx
mov dword [edi + 0x18], ecx
mov dword [edi + 0x1c], eax
mov eax, dword [edi + 0x20]
bswap eax
mov ecx, dword [edi + 0x24]
bswap ecx
mov dword [edi + 0x20], ecx
mov dword [edi + 0x24], eax
mov eax, dword [edi]
mov ecx, 0x4d7a0001
xor eax, ecx
xor ebx, ebx
or eax, dword [edi + 4]
mov esi, dword [esp + 0x20]
jne 0x41a73e
mov dword [esp], 0xc
call sub.mozglue.dll_void____cdecl_operator_new_unsigned_int_
xor edx, edx
mov ebx, eax
mov dword [eax], edx
mov dword [eax + 4], edx
mov dword [eax + 8], edx
sub esi, dword [esp + 0x18]
mov eax, esi
mov dword [esp + 0x20], esi
je 0x4197c9
js 0x41a7c0
cmp esi, 0x1000
jb 0x419794
lea eax, [esi + 0x23]
mov dword [esp], eax
call sub.mozglue.dll_void____cdecl_operator_new_unsigned_int_
mov ecx, eax
add eax, 0x23
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x41979c
xor ebx, ebx
jmp 0x41a73e
mov dword [esp], esi
call sub.mozglue.dll_void____cdecl_operator_new_unsigned_int_
mov dword [ebx], eax
mov ecx, dword [esp + 0x20]
lea esi, [eax + ecx]
mov dword [ebx + 8], esi
mov ecx, dword [esp + 0x20]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 4], 0
call sub.VCRUNTIME140.dll_memset
mov dword [ebx + 4], esi
mov esi, dword [esp + 0x20]
mov edx, dword [ebx]
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 8]
mov dword [esp], esi
mov dword [esp + 0x18], edx
call fcn.00412ee0
mov byte [esp + 0x33], al
test al, al
je 0x419bb9
mov dword [esp + 0x40], ebx
xor ebx, ebx
mov dword [esp + 0x178], ebx
movaps xmm0, xmmword [0x44a0d0]
movups xmmword [esp + 0x188], xmm0
mov byte [esp + 0x178], bl
mov dword [esp + 0x1a4], ebx
mov eax, 0xf
mov dword [esp + 0x1a8], eax
mov byte [esp + 0x194], bl
mov dword [esp + 0x1ac], ebx
mov dword [esp + 0x1bc], ebx
mov dword [esp + 0x1c0], eax
mov byte [esp + 0x1ac], bl
mov dword [esp + 0x1c4], ebx
mov dword [esp + 0x1d4], ebx
mov dword [esp + 0x1d8], eax
mov byte [esp + 0x1c4], 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 + 0x1fc], ebx
mov dword [esp + 0x200], ebx
mov dword [esp + 0x208], ebx
mov dword [esp + 0x20c], ebx
mov eax, dword [edi + 8]
mov dword [esp + 0x190], eax
movsd xmm0, qword [edi + 0x10]
movsd qword [esp + 0x1f8], xmm0
mov eax, dword [edi + 0x18]
mov dword [esp + 0x200], eax
movsd xmm0, qword [edi + 0x20]
movsd qword [esp + 0x208], xmm0
xor edi, edi
inc edi
mov ecx, dword [esp + 0x18]
lea eax, [edi - 1]
cmp eax, 4
mov dword [esp + 0x18], ecx
ja case.default.0x4198e3
jmp dword [eax*4 + 0x44ac70]
mov dword [esp], ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov edx, eax
mov ecx, dword [esp + 0x188]
mov eax, dword [esp + 0x18c]
mov esi, eax
sub esi, ecx
cmp esi, edx
jae 0x419a69
mov cl, byte [esp + 0xf8]
mov byte [esp + 4], cl
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x18]
mov dword [esp + 8], eax
mov dword [esp], edx
lea ecx, [esp + 0x178]
jmp 0x419a54
mov dword [esp], ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov edx, eax
mov ecx, dword [esp + 0x1a4]
mov eax, dword [esp + 0x1a8]
mov esi, eax
sub esi, ecx
cmp esi, edx
jae 0x419a9c
mov cl, byte [esp + 0xf8]
mov byte [esp + 4], cl
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x18]
mov dword [esp + 8], eax
mov dword [esp], edx
lea ecx, [esp + 0x194]
jmp 0x419a54
mov dword [esp], ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov edx, eax
mov ecx, dword [esp + 0x1bc]
mov eax, dword [esp + 0x1c0]
mov esi, eax
sub esi, ecx
cmp esi, edx
jae 0x419ac8
mov cl, byte [esp + 0xf8]
mov byte [esp + 4], cl
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x18]
mov dword [esp + 8], eax
mov dword [esp], edx
lea ecx, [esp + 0x1ac]
jmp 0x419a54
mov dword [esp], ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov edx, eax
mov ecx, dword [esp + 0x1d4]
mov eax, dword [esp + 0x1d8]
mov esi, eax
sub esi, ecx
cmp esi, edx
jae 0x419af4
mov cl, byte [esp + 0xf8]
mov byte [esp + 4], cl
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x18]
mov dword [esp + 8], eax
mov dword [esp], edx
lea ecx, [esp + 0x1c4]
jmp 0x419a54
mov dword [esp], ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov edx, eax
mov ecx, dword [esp + 0x1ec]
mov eax, dword [esp + 0x1f0]
mov esi, eax
sub esi, ecx
cmp esi, edx
jae 0x419b6c
mov cl, byte [esp + 0xf8]
mov byte [esp + 4], cl
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x18]
mov dword [esp + 8], eax
mov dword [esp], edx
lea ecx, [esp + 0x1dc]
call fcn.00403940
sub esp, 0x10
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
jmp case.default.0x4198e3
mov dword [esp + 0x28], eax
mov eax, edx
add eax, ecx
mov esi, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x188], eax
lea esi, [esp + 0x178]
cmp dword [esp + 0x28], 0x10
jb 0x419b1e
mov esi, dword [esp + 0x178]
jmp 0x419b1e
mov dword [esp + 0x28], eax
mov eax, edx
add eax, ecx
mov esi, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1a4], eax
lea esi, [esp + 0x194]
cmp dword [esp + 0x28], 0x10
jb 0x419b1e
mov esi, dword [esp + 0x194]
jmp 0x419b1e
mov dword [esp + 0x28], eax
mov eax, edx
add eax, ecx
mov esi, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1bc], eax
lea esi, [esp + 0x1ac]
cmp dword [esp + 0x28], 0x10
jb 0x419b1e
mov esi, dword [esp + 0x1ac]
jmp 0x419b1e
mov dword [esp + 0x28], eax
mov eax, edx
add eax, ecx
mov esi, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1d4], eax
lea esi, [esp + 0x1c4]
cmp dword [esp + 0x28], 0x10
jb 0x419b1e
mov esi, dword [esp + 0x1c4]
mov dword [esp + 0x28], esi
add ecx, esi
mov dword [esp + 8], edx
mov esi, dword [esp + 0x18]
mov dword [esp + 4], esi
mov dword [esp], ecx
call sub.VCRUNTIME140.dll_memmove
mov ecx, esi
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov byte [edx + eax], 0
mov esi, dword [esp + 0x20]
mov dword [esp], ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov ecx, dword [esp + 0x18]
cmp edi, 4
ja 0x419bc2
add ebx, eax
inc ebx
add ecx, eax
inc ecx
inc edi
cmp ebx, esi
jb 0x4198d3
jmp 0x419bc2
mov dword [esp + 0x28], eax
mov eax, edx
add eax, ecx
mov esi, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1ec], eax
lea esi, [esp + 0x1dc]
cmp dword [esp + 0x28], 0x10
jb 0x419b96
mov esi, dword [esp + 0x1dc]
add ecx, esi
mov dword [esp + 8], edx
mov eax, dword [esp + 0x18]
mov dword [esp + 4], eax
mov dword [esp], ecx
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [esp + 0x2c]
mov byte [esi + eax], 0
jmp 0x419a5c
mov edx, dword [esp + 0x18]
jmp 0x41a6fe
mov edi, dword [esp + 0x24]
mov ecx, dword [edi + 0x28]
cmp ecx, dword [edi + 0x2c]
je 0x419be6
lea edx, [esp + 0x178]
call fcn.0042f260
add dword [edi + 0x28], 0x98
jmp 0x41a0f0
mov dword [esp + 0x20], ecx
mov eax, ecx
sub eax, dword [edi + 0x24]
sar eax, 3
imul esi, eax, 0x286bca1b
lea edx, [esi + 1]
mov eax, esi
shr eax, 1
mov ecx, 0x1af286b
sub ecx, eax
add eax, esi
cmp eax, edx
cmovbe eax, edx
cmp esi, ecx
mov ecx, 0x1af286b
cmova eax, ecx
cmp eax, 0x1af286c
jae 0x41a7cb
imul ecx, eax, 0x98
cmp eax, 0x1b
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], ecx
jb 0x419c4b
lea eax, [ecx + 0x23]
mov dword [esp], eax
call sub.mozglue.dll_void____cdecl_operator_new_unsigned_int_
lea edi, [eax + 0x23]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x419c5d
test eax, eax
je 0x419c5b
mov dword [esp], ecx
call sub.mozglue.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
jmp 0x419c5d
xor edi, edi
imul esi, esi, 0x98
lea ecx, [edi + esi]
lea edx, [esp + 0x178]
call fcn.0042f260
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x24]
mov edx, dword [ecx + 0x28]
mov ecx, dword [esp + 0x20]
cmp edx, ecx
je 0x419f3c
cmp eax, ecx
je 0x419ddc
xor ecx, ecx
xor ebx, ebx
mov dword [esp + 0x28], edi
mov dword [edi + ecx], ebx
mov dword [edi + ecx + 0x10], ebx
mov dword [edi + ecx + 0x14], ebx
movsd xmm0, qword [eax + ecx + 0x10]
movsd qword [edi + ecx + 0x10], xmm0
movups xmm0, xmmword [eax + ecx]
movups xmmword [edi + ecx], xmm0
mov dword [eax + ecx + 0x10], ebx
mov edx, 0xf
mov dword [eax + ecx + 0x14], edx
mov byte [eax + ecx], bl
mov edx, dword [eax + ecx + 0x18]
mov dword [edi + ecx + 0x18], edx
lea edx, [eax + ecx]
mov dword [esp + 0x18], edx
mov dword [edi + ecx + 0x1c], ebx
mov dword [edi + ecx + 0x2c], ebx
mov dword [edi + ecx + 0x30], ebx
movsd xmm0, qword [eax + ecx + 0x2c]
movsd qword [edi + ecx + 0x2c], xmm0
movups xmm0, xmmword [eax + ecx + 0x1c]
movups xmmword [edi + ecx + 0x1c], xmm0
mov dword [eax + ecx + 0x2c], ebx
mov edx, 0xf
mov dword [eax + ecx + 0x30], edx
mov byte [eax + ecx + 0x1c], bl
mov dword [edi + ecx + 0x34], ebx
mov dword [edi + ecx + 0x44], ebx
mov dword [edi + ecx + 0x48], ebx
movsd xmm0, qword [eax + ecx + 0x44]
movsd qword [edi + ecx + 0x44], xmm0
movups xmm0, xmmword [eax + ecx + 0x34]
movups xmmword [edi + ecx + 0x34], xmm0
mov dword [eax + ecx + 0x44], ebx
mov dword [eax + ecx + 0x48], edx
mov byte [eax + ecx + 0x34], bl
mov dword [edi + ecx + 0x4c], ebx
mov dword [edi + ecx + 0x5c], ebx
mov dword [edi + ecx + 0x60], ebx
movsd xmm0, qword [eax + ecx + 0x5c]
movsd qword [edi + ecx + 0x5c], xmm0
movups xmm0, xmmword [eax + ecx + 0x4c]
movups xmmword [edi + ecx + 0x4c], xmm0
mov dword [eax + ecx + 0x5c], ebx
mov dword [eax + ecx + 0x60], edx
mov byte [eax + ecx + 0x4c], bl
mov dword [edi + ecx + 0x64], ebx
mov dword [edi + ecx + 0x74], ebx
mov dword [edi + ecx + 0x78], ebx
movsd xmm0, qword [eax + ecx + 0x74]
movsd qword [edi + ecx + 0x74], xmm0
movups xmm0, xmmword [eax + ecx + 0x64]
movups xmmword [edi + ecx + 0x64], xmm0
mov dword [eax + ecx + 0x74], ebx
mov dword [eax + ecx + 0x78], edx
mov byte [eax + ecx + 0x64], bl
movsd xmm0, qword [eax + ecx + 0x90]
movsd qword [edi + ecx + 0x90], xmm0
movups xmm0, xmmword [eax + ecx + 0x80]
movups xmmword [edi + ecx + 0x80], xmm0
mov edx, 0x98
add ecx, edx
mov edx, dword [esp + 0x18]
mov edi, 0x98
add edx, edi
mov edi, dword [esp + 0x28]
cmp edx, dword [esp + 0x20]
jne 0x419c98
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0x28]
mov ebx, dword [esp + 0x20]
cmp edx, ebx
mov ecx, 0
mov eax, 0x98
je 0x41a06f
add eax, edi
add esi, eax
xor eax, eax
mov dword [esp + 0x2c], edx
mov dword [esi + eax], ecx
mov dword [esi + eax + 0x10], ecx
mov dword [esi + eax + 0x14], ecx
movsd xmm0, qword [ebx + eax + 0x10]
movsd qword [esi + eax + 0x10], xmm0
movups xmm0, xmmword [ebx + eax]
movups xmmword [esi + eax], xmm0
mov dword [ebx + eax + 0x10], ecx
mov edx, 0xf
mov dword [ebx + eax + 0x14], edx
mov byte [ebx + eax], cl
mov edx, dword [ebx + eax + 0x18]
mov dword [esi + eax + 0x18], edx
lea edx, [ebx + eax]
mov dword [esp + 0x18], edx
mov dword [esi + eax + 0x1c], ecx
mov dword [esi + eax + 0x2c], ecx
mov dword [esi + eax + 0x30], ecx
movsd xmm0, qword [ebx + eax + 0x2c]
movsd qword [esi + eax + 0x2c], xmm0
movups xmm0, xmmword [ebx + eax + 0x1c]
movups xmmword [esi + eax + 0x1c], xmm0
mov dword [ebx + eax + 0x2c], ecx
mov edx, 0xf
mov dword [ebx + eax + 0x30], edx
mov byte [ebx + eax + 0x1c], cl
mov dword [esi + eax + 0x34], ecx
mov dword [esi + eax + 0x44], ecx
mov dword [esi + eax + 0x48], ecx
movsd xmm0, qword [ebx + eax + 0x44]
movsd qword [esi + eax + 0x44], xmm0
movups xmm0, xmmword [ebx + eax + 0x34]
movups xmmword [esi + eax + 0x34], xmm0
mov dword [ebx + eax + 0x44], ecx
mov dword [ebx + eax + 0x48], edx
mov byte [ebx + eax + 0x34], cl
mov dword [esi + eax + 0x4c], ecx
mov dword [esi + eax + 0x5c], ecx
mov dword [esi + eax + 0x60], ecx
movsd xmm0, qword [ebx + eax + 0x5c]
movsd qword [esi + eax + 0x5c], xmm0
movups xmm0, xmmword [ebx + eax + 0x4c]
movups xmmword [esi + eax + 0x4c], xmm0
mov dword [ebx + eax + 0x5c], ecx
mov dword [ebx + eax + 0x60], edx
mov byte [ebx + eax + 0x4c], cl
mov dword [esi + eax + 0x64], ecx
mov dword [esi + eax + 0x74], ecx
mov dword [esi + eax + 0x78], ecx
movsd xmm0, qword [ebx + eax + 0x74]
movsd qword [esi + eax + 0x74], xmm0
movups xmm0, xmmword [ebx + eax + 0x64]
movups xmmword [esi + eax + 0x64], xmm0
mov dword [ebx + eax + 0x74], ecx
mov dword [ebx + eax + 0x78], edx
mov byte [ebx + eax + 0x64], cl
movsd xmm0, qword [ebx + eax + 0x90]
movsd qword [esi + eax + 0x90], xmm0
movups xmm0, xmmword [ebx + eax + 0x80]
movups xmmword [esi + eax + 0x80], xmm0
mov edx, 0x98
add eax, edx
mov edx, dword [esp + 0x18]
mov ecx, 0x98
add edx, ecx
xor ecx, ecx
cmp edx, dword [esp + 0x2c]
jne 0x419dfc
jmp 0x41a06f
cmp eax, ecx
je 0x41a793
xor ecx, ecx
mov esi, 0xf
xor ebx, ebx
mov dword [edi + ecx], ebx
mov dword [edi + ecx + 0x10], ebx
mov dword [edi + ecx + 0x14], ebx
movsd xmm0, qword [eax + ecx + 0x10]
movsd qword [edi + ecx + 0x10], xmm0
movups xmm0, xmmword [eax + ecx]
movups xmmword [edi + ecx], xmm0
mov dword [eax + ecx + 0x10], ebx
mov dword [eax + ecx + 0x14], esi
mov byte [eax + ecx], bl
mov edx, dword [eax + ecx + 0x18]
mov dword [edi + ecx + 0x18], edx
lea edx, [eax + ecx]
mov dword [edi + ecx + 0x1c], ebx
mov dword [edi + ecx + 0x2c], ebx
mov dword [edi + ecx + 0x30], ebx
movsd xmm0, qword [eax + ecx + 0x2c]
movsd qword [edi + ecx + 0x2c], xmm0
movups xmm0, xmmword [eax + ecx + 0x1c]
movups xmmword [edi + ecx + 0x1c], xmm0
mov dword [eax + ecx + 0x2c], ebx
mov dword [eax + ecx + 0x30], esi
mov byte [eax + ecx + 0x1c], bl
mov dword [edi + ecx + 0x34], ebx
mov dword [edi + ecx + 0x44], ebx
mov dword [edi + ecx + 0x48], ebx
movsd xmm0, qword [eax + ecx + 0x44]
movsd qword [edi + ecx + 0x44], xmm0
movups xmm0, xmmword [eax + ecx + 0x34]
movups xmmword [edi + ecx + 0x34], xmm0
mov dword [eax + ecx + 0x44], ebx
mov dword [eax + ecx + 0x48], esi
mov byte [eax + ecx + 0x34], bl
mov dword [edi + ecx + 0x4c], ebx
mov dword [edi + ecx + 0x5c], ebx
mov dword [edi + ecx + 0x60], ebx
movsd xmm0, qword [eax + ecx + 0x5c]
movsd qword [edi + ecx + 0x5c], xmm0
movups xmm0, xmmword [eax + ecx + 0x4c]
movups xmmword [edi + ecx + 0x4c], xmm0
mov dword [eax + ecx + 0x5c], ebx
mov dword [eax + ecx + 0x60], esi
mov byte [eax + ecx + 0x4c], bl
mov dword [edi + ecx + 0x64], ebx
mov dword [edi + ecx + 0x74], ebx
mov dword [edi + ecx + 0x78], ebx
movsd xmm0, qword [eax + ecx + 0x74]
movsd qword [edi + ecx + 0x74], xmm0
movups xmm0, xmmword [eax + ecx + 0x64]
movups xmmword [edi + ecx + 0x64], xmm0
mov dword [eax + ecx + 0x74], ebx
mov dword [eax + ecx + 0x78], esi
mov byte [eax + ecx + 0x64], bl
movsd xmm0, qword [eax + ecx + 0x90]
movsd qword [edi + ecx + 0x90], xmm0
movups xmm0, xmmword [eax + ecx + 0x80]
movups xmmword [edi + ecx + 0x80], xmm0
mov ebx, 0x98
add ecx, ebx
add edx, ebx
cmp edx, dword [esp + 0x20]
jne 0x419f4b
mov eax, dword [esp + 0x24]
mov ebx, dword [eax + 0x24]
test ebx, ebx
je 0x41a0d1
mov eax, dword [esp + 0x24]
mov esi, dword [eax + 0x28]
cmp ebx, esi
je 0x41a09f
mov ecx, ebx
call fcn.00419390
add ebx, 0x98
cmp ebx, esi
jne 0x41a085
mov eax, dword [esp + 0x24]
mov ebx, dword [eax + 0x24]
jmp 0x41a0a3
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x2c]
sub eax, ebx
cmp eax, 0x1000
jb 0x41a0c5
mov ecx, dword [ebx - 4]
add ebx, 0xfffffffc
sub ebx, ecx
cmp ebx, 0x20
jae 0x41a7c5
add eax, 0x23
mov ebx, ecx
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.mozglue.dll_void___cdecl_operator_delete_void___unsigned_int_
mov ecx, dword [esp + 0x24]
mov dword [ecx + 0x24], edi
imul eax, dword [esp + 0x3c], 0x98
add eax, edi
mov dword [ecx + 0x28], eax
mov eax, dword [esp + 0x38]
add eax, edi
mov edi, ecx
mov dword [ecx + 0x2c], eax
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x20]
mov edx, ecx
sub edx, eax
cmp edx, 9
jae 0x41a12c
mov al, byte [esp + 0xf8]
mov byte [esp + 4], al
mov eax, 9
mov dword [esp + 0xc], eax
mov dword [esp], eax
mov dword [esp + 8], str._Module__
mov ecx, dword [esp + 0x1c]
call fcn.00403940
sub esp, 0x10
jmp 0x41a154
lea edx, [eax + 9]
mov dword [edi + 0x1c], edx
mov edx, dword [esp + 0x1c]
cmp ecx, 0x10
jb 0x41a13e
mov edx, dword [edi + 0xc]
mov dword [edx + eax + 4], 0x20656c75
mov dword [edx + eax], 0x646f4d20
mov word [edx + eax + 8], 0x22
mov eax, dword [esp + 0x188]
cmp dword [esp + 0x18c], 0x10
lea ecx, [esp + 0x178]
jb 0x41a173
mov ecx, dword [esp + 0x178]
mov edx, dword [edi + 0x1c]
mov ebx, dword [edi + 0x20]
mov esi, ebx
sub esi, edx
cmp esi, eax
jae 0x41a1a5
mov dl, byte [esp + 0xf8]
mov byte [esp + 4], dl
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov dword [esp], eax
mov ecx, dword [esp + 0x1c]
call fcn.00403940
sub esp, 0x10
jmp 0x41a1d5
lea esi, [edx + eax]
mov dword [edi + 0x1c], esi
mov edi, dword [esp + 0x1c]
cmp ebx, 0x10
jb 0x41a1bb
mov edi, dword [esp + 0x24]
mov edi, dword [edi + 0xc]
add edx, edi
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call sub.VCRUNTIME140.dll_memmove
mov byte [edi + esi], 0
mov edi, dword [esp + 0x24]
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x20]
mov edx, ecx
sub edx, eax
cmp edx, 3
jae 0x41a211
mov al, byte [esp + 0xf8]
mov byte [esp + 4], al
mov eax, 3
mov dword [esp + 0xc], eax
mov dword [esp], eax
mov dword [esp + 8], 0x47e4b3
mov ecx, dword [esp + 0x1c]
call fcn.00403940
sub esp, 0x10
jmp 0x41a22a
lea edx, [eax + 3]
mov dword [edi + 0x1c], edx
mov edx, dword [esp + 0x1c]
cmp ecx, 0x10
jb 0x41a223
mov edx, dword [edi + 0xc]
mov dword [edx + eax], 0xa3a22
cmp dword [esp + 0x190], 5
mov esi, 7
sbb esi, 0xffffffff
xor ebx, ebx
inc ebx
mov dword [esp + 0x18], esi
lea eax, [ebx - 1]
cmp eax, 6
ja case.default.0x41a24d
jmp dword [eax*4 + 0x44ac84]
cmp dword [esp + 0x1a4], 0
je case.default.0x41a24d
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x20]
mov edx, ecx
sub edx, eax
cmp edx, 0xc
jae 0x41a477
mov al, byte [esp + 0xf8]
mov byte [esp + 4], al
mov eax, 0xc
mov dword [esp + 0xc], eax
mov dword [esp], eax
mov dword [esp + 8], str.__message:__
mov ecx, dword [esp + 0x1c]
call fcn.00403940
sub esp, 0x10
jmp 0x41a4a5
cmp dword [esp + 0x1bc], 0
je case.default.0x41a24d
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x20]
mov edx, ecx
sub edx, eax
cmp edx, 0x15
jae 0x41a4cd
mov al, byte [esp + 0xf8]
mov byte [esp + 4], al
mov eax, 0x15
mov dword [esp + 0xc], eax
mov dword [esp], eax
mov dword [esp + 8], str.__signature_string:__
mov ecx, dword [esp + 0x1c]
call fcn.00403940
sub esp, 0x10
jmp 0x41a4fd
cmp dword [esp + 0x1d4], 0
je case.default.0x41a24d
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x20]
mov edx, ecx
sub edx, eax
cmp edx, 0xe
jae 0x41a525
mov al, byte [esp + 0xf8]
mov byte [esp + 4], al
mov eax, 0xe
mov dword [esp + 0xc], eax
mov dword [esp], eax
mov dword [esp + 8], str.__backtrace:__
mov ecx, dword [esp + 0x1c]
call fcn.00403940
sub esp, 0x10
jmp 0x41a55a
cmp dword [esp + 0x1ec], 0
je case.default.0x41a24d
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x20]
mov edx, ecx
sub edx, eax
cmp edx, 0xd
jae 0x41a57b
mov al, byte [esp + 0xf8]
mov byte [esp + 4], al
mov eax, 0xd
mov dword [esp + 0xc], eax
mov dword [esp], eax
mov dword [esp + 8], str.__message2:__
mov ecx, dword [esp + 0x1c]
call fcn.00403940
sub esp, 0x10
jmp 0x41a5ab
mov eax, dword [esp + 0x1f8]
mov ecx, dword [esp + 0x1fc]
mov edx, eax
or edx, ecx
je case.default.0x41a24d
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
lea esi, [esp + 0xf8]
mov dword [esp], esi
mov dword [esp + 8], str.__thread:_0x_llx_n
jmp 0x41a425
mov eax, dword [esp + 0x200]
test eax, eax
je case.default.0x41a24d
mov dword [esp + 0xc], eax
lea esi, [esp + 0xf8]
mov dword [esp], esi
mov dword [esp + 8], str.__dialog_mode:_0x_x_n
jmp 0x41a425
mov eax, dword [esp + 0x208]
mov ecx, dword [esp + 0x20c]
mov edx, eax
or edx, ecx
je case.default.0x41a24d
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
lea esi, [esp + 0xf8]
mov dword [esp], esi
mov dword [esp + 8], str.__abort_cause:__lld_n
mov dword [esp + 4], 0x80
call fcn.004432e0
mov dword [esp], esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov ecx, dword [edi + 0x1c]
mov edx, dword [edi + 0x20]
mov esi, edx
sub esi, ecx
cmp esi, eax
jae 0x41a6ae
mov cl, byte [esp + 0x48]
mov byte [esp + 4], cl
mov dword [esp + 0xc], eax
lea ecx, [esp + 0xf8]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov ecx, dword [esp + 0x1c]
call fcn.00403940
sub esp, 0x10
jmp 0x41a6e6
lea edx, [eax + 0xc]
mov dword [edi + 0x1c], edx
mov edx, dword [esp + 0x1c]
cmp ecx, 0x10
jb 0x41a489
mov edx, dword [edi + 0xc]
mov dword [edx + eax + 8], 0x22203a65
mov dword [edx + eax + 4], 0x67617373
mov dword [edx + eax], 0x656d2020
mov byte [edx + eax + 0xc], 0
mov eax, dword [esp + 0x1a4]
cmp dword [esp + 0x1a8], 0x10
lea ecx, [esp + 0x194]
jb 0x41a5ca
mov ecx, dword [esp + 0x194]
jmp 0x41a5ca
lea edx, [eax + 0x15]
mov dword [edi + 0x1c], edx
mov edx, dword [esp + 0x1c]
cmp ecx, 0x10
jb 0x41a4df
mov edx, dword [edi + 0xc]
movsd xmm0, qword [0x47e1f2]
movsd qword [edx + eax + 0xd], xmm0
movups xmm0, xmmword [str.__signature_string:__]
movups xmmword [edx + eax], xmm0
mov byte [edx + eax + 0x15], 0
mov eax, dword [esp + 0x1bc]
cmp dword [esp + 0x1c0], 0x10
lea ecx, [esp + 0x1ac]
jb 0x41a5ca
mov ecx, dword [esp + 0x1ac]
jmp 0x41a5ca
lea edx, [eax + 0xe]
mov dword [edi + 0x1c], edx
mov edx, dword [esp + 0x1c]
cmp ecx, 0x10
jb 0x41a537
mov edx, dword [edi + 0xc]
mov word [edx + eax + 0xc], 0x2220
mov dword [edx + eax + 8], 0x3a656361
mov dword [edx + eax + 4], 0x72746b63
mov dword [edx + eax], 0x61622020
mov byte [edx + eax + 0xe], 0
mov eax, dword [esp + 0x1d4]
cmp dword [esp + 0x1d8], 0x10
lea ecx, [esp + 0x1c4]
jb 0x41a5ca
mov ecx, dword [esp + 0x1c4]
jmp 0x41a5ca
lea edx, [eax + 0xd]
mov dword [edi + 0x1c], edx
mov edx, dword [esp + 0x1c]
cmp ecx, 0x10
jb 0x41a58d
mov edx, dword [edi + 0xc]
mov dword [edx + eax + 8], 0x203a3265
mov dword [edx + eax + 4], 0x67617373
mov dword [edx + eax], 0x656d2020
mov word [edx + eax + 0xc], 0x22
mov eax, dword [esp + 0x1ec]
cmp dword [esp + 0x1f0], 0x10
lea ecx, [esp + 0x1dc]
jb 0x41a5ca
mov ecx, dword [esp + 0x1dc]
mov dword [esp + 0x20], ecx
mov edx, dword [edi + 0x1c]
mov esi, dword [edi + 0x20]
mov edi, esi
sub edi, edx
cmp edi, eax
jae 0x41a604
mov dl, byte [esp + 0xf8]
mov byte [esp + 4], dl
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov ecx, dword [esp + 0x1c]
call fcn.00403940
sub esp, 0x10
jmp 0x41a642
lea ecx, [edx + eax]
mov edi, ecx
mov dword [esp + 0x2c], ecx
mov edi, dword [esp + 0x24]
mov dword [edi + 0x1c], ecx
mov edi, dword [esp + 0x1c]
cmp esi, 0x10
jb 0x41a624
mov ecx, dword [esp + 0x24]
mov edi, dword [ecx + 0xc]
add edx, edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 4], eax
mov dword [esp], edx
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [esp + 0x2c]
mov byte [edi + eax], 0
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x24]
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x20]
mov edx, ecx
sub edx, eax
cmp edx, 2
jae 0x41a686
mov al, byte [esp + 0xf8]
mov byte [esp + 4], al
mov eax, 2
mov dword [esp + 0xc], eax
mov dword [esp], eax
mov dword [esp + 8], 0x47e4c5
mov ecx, dword [esp + 0x1c]
call fcn.00403940
sub esp, 0x10
jmp case.default.0x41a24d
lea edx, [eax + 2]
mov dword [edi + 0x1c], edx
mov edx, dword [esp + 0x1c]
cmp ecx, 0x10
jb 0x41a698
mov edx, dword [edi + 0xc]
mov word [edx + eax], 0xa22
mov byte [edx + eax + 2], 0
inc ebx
cmp esi, ebx
jne 0x41a241
jmp 0x41a6ec
mov esi, eax
add esi, ecx
mov dword [edi + 0x1c], esi
mov edi, dword [esp + 0x1c]
cmp edx, 0x10
jb 0x41a6c5
mov edx, dword [esp + 0x24]
mov edi, dword [edx + 0xc]
add ecx, edi
mov dword [esp + 8], eax
lea eax, [esp + 0xf8]
mov dword [esp + 4], eax
mov dword [esp], ecx
call sub.VCRUNTIME140.dll_memmove
mov byte [edi + esi], 0
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
jmp case.default.0x41a24d
lea ecx, [esp + 0x178]
call fcn.00419390
mov ebx, dword [esp + 0x40]
mov edx, dword [ebx]
test edx, edx
je 0x41a730
mov eax, dword [ebx + 8]
sub eax, edx
cmp eax, 0x1000
jb 0x41a724
mov ecx, dword [edx - 4]
add edx, 0xfffffffc
sub edx, ecx
cmp edx, 0x20
jae 0x41a7c5
add eax, 0x23
mov edx, ecx
mov dword [esp + 4], eax
mov dword [esp], edx
call sub.mozglue.dll_void___cdecl_operator_delete_void___unsigned_int_
mov dword [esp], ebx
call sub.mozglue.dll_void___cdecl_operator_delete_void__
mov al, byte [esp + 0x33]
mov ebx, eax
mov esi, dword [esp + 0x34]
mov ecx, dword [esi]
test ecx, ecx
mov edi, dword [esp + 0x24]
je 0x41a776
mov eax, dword [esi + 8]
sub eax, ecx
cmp eax, 0x1000
jb 0x41a76a
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x41a7c5
add eax, 0x23
mov ecx, edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call sub.mozglue.dll_void___cdecl_operator_delete_void___unsigned_int_
mov dword [esp], esi
call sub.mozglue.dll_void___cdecl_operator_delete_void__
test bl, bl
je 0x41a79c
mov eax, dword [esp + 0x44]
inc eax
cmp eax, dword [esp + 0x50]
jb 0x41960f
jmp 0x41a7b8
mov ebx, dword [esp + 0x20]
jmp 0x41a076
xor ebx, ebx
mov ecx, dword [esp + 0x210]
xor ecx, ebp
call fcn.0043f980
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
mov byte [edi + 4], 1
mov bl, 1
jmp 0x41a79e
call fcn.00443c20
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.004415a0