Function at 0x419520
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 0x41954d
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 0x419582
mov ecx, edi
call fcn.004193a0
add edi, 0x98
cmp edi, ebx
jne 0x419568
mov edi, dword [esp + 0x24]
mov ebx, dword [edi + 0x24]
jmp 0x419586
mov edi, dword [esp + 0x24]
mov dword [edi + 0x28], ebx
mov byte [edi + 4], 0
cmp esi, 0xac
jne 0x41a7ac
mov ecx, dword [edi + 8]
mov dword [esp], 0xac
lea edx, [esp + 0x4c]
call fcn.00412ef0
test al, al
je 0x41a7ac
mov eax, dword [edi + 8]
cmp byte [eax + 0x4e], 0
je 0x419604
cmp byte [eax + 0x4c], 0
je 0x419604
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 0x419604
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 0x4195e9
cmp dword [esp + 0x4c], 0x4d7a0001
jne 0x41a7ac
cmp dword [esp + 0x50], 0
je 0x41a7c8
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.004131b0
test al, al
je 0x41a7ac
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 0x41a7d0
cmp edi, 0x1000
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], esi
jb 0x419694
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 0x41969c
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.00412ef0
test al, al
je 0x41979d
mov eax, dword [esi + 8]
cmp byte [eax + 0x4e], 0
je 0x41973b
cmp byte [eax + 0x4c], 0
je 0x41973b
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 0x41a74e
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 0x4197d9
js 0x41a7d0
cmp esi, 0x1000
jb 0x4197a4
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 0x4197ac
xor ebx, ebx
jmp 0x41a74e
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.00412ef0
mov byte [esp + 0x33], al
test al, al
je 0x419bc9
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.0x4198f3
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 0x419a79
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 0x419a64
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 0x419aac
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 0x419a64
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 0x419ad8
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 0x419a64
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 0x419b04
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 0x419a64
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 0x419b7c
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.0x4198f3
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 0x419b2e
mov esi, dword [esp + 0x178]
jmp 0x419b2e
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 0x419b2e
mov esi, dword [esp + 0x194]
jmp 0x419b2e
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 0x419b2e
mov esi, dword [esp + 0x1ac]
jmp 0x419b2e
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 0x419b2e
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 0x419bd2
add ebx, eax
inc ebx
add ecx, eax
inc ecx
inc edi
cmp ebx, esi
jb 0x4198e3
jmp 0x419bd2
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 0x419ba6
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 0x419a6c
mov edx, dword [esp + 0x18]
jmp 0x41a70e
mov edi, dword [esp + 0x24]
mov ecx, dword [edi + 0x28]
cmp ecx, dword [edi + 0x2c]
je 0x419bf6
lea edx, [esp + 0x178]
call fcn.0042f270
add dword [edi + 0x28], 0x98
jmp 0x41a100
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 0x41a7db
imul ecx, eax, 0x98
cmp eax, 0x1b
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], ecx
jb 0x419c5b
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 0x419c6d
test eax, eax
je 0x419c6b
mov dword [esp], ecx
call sub.mozglue.dll_void____cdecl_operator_new_unsigned_int_
mov edi, eax
jmp 0x419c6d
xor edi, edi
imul esi, esi, 0x98
lea ecx, [edi + esi]
lea edx, [esp + 0x178]
call fcn.0042f270
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x24]
mov edx, dword [ecx + 0x28]
mov ecx, dword [esp + 0x20]
cmp edx, ecx
je 0x419f4c
cmp eax, ecx
je 0x419dec
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 0x419ca8
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 0x41a07f
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 0x419e0c
jmp 0x41a07f
cmp eax, ecx
je 0x41a7a3
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 0x419f5b
mov eax, dword [esp + 0x24]
mov ebx, dword [eax + 0x24]
test ebx, ebx
je 0x41a0e1
mov eax, dword [esp + 0x24]
mov esi, dword [eax + 0x28]
cmp ebx, esi
je 0x41a0af
mov ecx, ebx
call fcn.004193a0
add ebx, 0x98
cmp ebx, esi
jne 0x41a095
mov eax, dword [esp + 0x24]
mov ebx, dword [eax + 0x24]
jmp 0x41a0b3
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x2c]
sub eax, ebx
cmp eax, 0x1000
jb 0x41a0d5
mov ecx, dword [ebx - 4]
add ebx, 0xfffffffc
sub ebx, ecx
cmp ebx, 0x20
jae 0x41a7d5
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 0x41a13c
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 0x41a164
lea edx, [eax + 9]
mov dword [edi + 0x1c], edx
mov edx, dword [esp + 0x1c]
cmp ecx, 0x10
jb 0x41a14e
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 0x41a183
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 0x41a1b5
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 0x41a1e5
lea esi, [edx + eax]
mov dword [edi + 0x1c], esi
mov edi, dword [esp + 0x1c]
cmp ebx, 0x10
jb 0x41a1cb
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 0x41a221
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 0x41a23a
lea edx, [eax + 3]
mov dword [edi + 0x1c], edx
mov edx, dword [esp + 0x1c]
cmp ecx, 0x10
jb 0x41a233
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.0x41a25d
jmp dword [eax*4 + 0x44ac84]
cmp dword [esp + 0x1a4], 0
je case.default.0x41a25d
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x20]
mov edx, ecx
sub edx, eax
cmp edx, 0xc
jae 0x41a487
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 0x41a4b5
cmp dword [esp + 0x1bc], 0
je case.default.0x41a25d
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x20]
mov edx, ecx
sub edx, eax
cmp edx, 0x15
jae 0x41a4dd
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 0x41a50d
cmp dword [esp + 0x1d4], 0
je case.default.0x41a25d
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x20]
mov edx, ecx
sub edx, eax
cmp edx, 0xe
jae 0x41a535
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 0x41a56a
cmp dword [esp + 0x1ec], 0
je case.default.0x41a25d
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x20]
mov edx, ecx
sub edx, eax
cmp edx, 0xd
jae 0x41a58b
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 0x41a5bb
mov eax, dword [esp + 0x1f8]
mov ecx, dword [esp + 0x1fc]
mov edx, eax
or edx, ecx
je case.default.0x41a25d
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 0x41a435
mov eax, dword [esp + 0x200]
test eax, eax
je case.default.0x41a25d
mov dword [esp + 0xc], eax
lea esi, [esp + 0xf8]
mov dword [esp], esi
mov dword [esp + 8], str.__dialog_mode:_0x_x_n
jmp 0x41a435
mov eax, dword [esp + 0x208]
mov ecx, dword [esp + 0x20c]
mov edx, eax
or edx, ecx
je case.default.0x41a25d
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.004432f0
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 0x41a6be
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 0x41a6f6
lea edx, [eax + 0xc]
mov dword [edi + 0x1c], edx
mov edx, dword [esp + 0x1c]
cmp ecx, 0x10
jb 0x41a499
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 0x41a5da
mov ecx, dword [esp + 0x194]
jmp 0x41a5da
lea edx, [eax + 0x15]
mov dword [edi + 0x1c], edx
mov edx, dword [esp + 0x1c]
cmp ecx, 0x10
jb 0x41a4ef
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 0x41a5da
mov ecx, dword [esp + 0x1ac]
jmp 0x41a5da
lea edx, [eax + 0xe]
mov dword [edi + 0x1c], edx
mov edx, dword [esp + 0x1c]
cmp ecx, 0x10
jb 0x41a547
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 0x41a5da
mov ecx, dword [esp + 0x1c4]
jmp 0x41a5da
lea edx, [eax + 0xd]
mov dword [edi + 0x1c], edx
mov edx, dword [esp + 0x1c]
cmp ecx, 0x10
jb 0x41a59d
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 0x41a5da
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 0x41a614
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 0x41a652
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 0x41a634
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 0x41a696
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.0x41a25d
lea edx, [eax + 2]
mov dword [edi + 0x1c], edx
mov edx, dword [esp + 0x1c]
cmp ecx, 0x10
jb 0x41a6a8
mov edx, dword [edi + 0xc]
mov word [edx + eax], 0xa22
mov byte [edx + eax + 2], 0
inc ebx
cmp esi, ebx
jne 0x41a251
jmp 0x41a6fc
mov esi, eax
add esi, ecx
mov dword [edi + 0x1c], esi
mov edi, dword [esp + 0x1c]
cmp edx, 0x10
jb 0x41a6d5
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.0x41a25d
lea ecx, [esp + 0x178]
call fcn.004193a0
mov ebx, dword [esp + 0x40]
mov edx, dword [ebx]
test edx, edx
je 0x41a740
mov eax, dword [ebx + 8]
sub eax, edx
cmp eax, 0x1000
jb 0x41a734
mov ecx, dword [edx - 4]
add edx, 0xfffffffc
sub edx, ecx
cmp edx, 0x20
jae 0x41a7d5
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 0x41a786
mov eax, dword [esi + 8]
sub eax, ecx
cmp eax, 0x1000
jb 0x41a77a
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x41a7d5
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 0x41a7ac
mov eax, dword [esp + 0x44]
inc eax
cmp eax, dword [esp + 0x50]
jb 0x41961f
jmp 0x41a7c8
mov ebx, dword [esp + 0x20]
jmp 0x41a086
xor ebx, ebx
mov ecx, dword [esp + 0x210]
xor ecx, ebp
call fcn.0043f990
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 0x41a7ae
call fcn.00443c30
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.004415b0