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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xf8
mov eax, dword [0x481014]
xor eax, ebp
mov dword [esp + 0xf0], eax
mov dword [esp + 0x14], ecx
mov ebx, dword [ecx + 0xc]
test ebx, ebx
je 0x4184d0
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
cmp ecx, eax
je 0x418494
xor esi, esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x418485
mov eax, dword [edi]
mov ebx, dword [eax]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, edi
push 1
call ebx
mov eax, dword [esp + 0x14]
mov ebx, dword [eax + 0xc]
mov eax, dword [ebx]
inc esi
mov ecx, dword [ebx + 4]
sub ecx, eax
sar ecx, 2
cmp esi, ecx
jb 0x418463
jmp 0x418496
mov eax, ecx
test eax, eax
je 0x4184c7
mov ecx, dword [ebx + 8]
sub ecx, eax
cmp ecx, 0x1000
jb 0x4184bd
mov edx, dword [eax - 4]
add eax, 0xfffffffc
sub eax, edx
cmp eax, 0x20
jae 0x419379
add ecx, 0x23
mov eax, edx
push ecx
push eax
call sub.mozglue.dll_void___cdecl_operator_delete_void___unsigned_int_
add esp, 8
push ebx
call sub.mozglue.dll_void___cdecl_operator_delete_void__
add esp, 4
xor ebx, ebx
mov eax, dword [esp + 0x14]
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ebx
mov byte [eax + 4], 0
mov ecx, dword [eax + 8]
cmp byte [ecx + 0x4e], 0
je 0x41851b
mov eax, dword [ecx + 0x2c]
mov eax, dword [eax]
mov esi, dword [eax + 4]
cmp byte [esi + 0xd], 0
mov edx, eax
jne 0x418513
mov edx, eax
lea edi, [esi + 8]
cmp dword [esi + 0x10], 0x47670009
cmovae edx, esi
cmovae edi, esi
mov esi, dword [edi]
cmp byte [esi + 0xd], 0
je 0x4184fb
cmp byte [edx + 0xd], 0
je 0x418535
xor ebx, ebx
mov ecx, dword [esp + 0xf0]
xor ecx, ebp
call fcn.0043f980
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
xor ebx, ebx
cmp dword [edx + 0x10], 0x47670009
ja 0x41851b
cmp edx, eax
je 0x41851b
mov eax, dword [edx + 0x14]
cmp eax, dword [ecx + 0x10]
jae 0x418519
mov edx, dword [ecx + 0x28]
mov esi, dword [edx]
lea ebx, [eax + eax*2]
mov edx, dword [esi + ebx*4 + 8]
call fcn.004131a0
test al, al
je 0x418519
mov edi, dword [ebp + 8]
xor eax, eax
cmp dword [esi + ebx*4 + 4], edi
mov ebx, 0
jne 0x41851b
mov dword [esp + 0x18], 0
test edi, edi
je 0x4185c4
js 0x419384
cmp edi, 0x1000
jb 0x4185a2
lea eax, [edi + 0x23]
push eax
call sub.mozglue.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
mov dword [ecx - 4], eax
jmp 0x4185ad
push edi
call sub.mozglue.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov ecx, eax
lea eax, [ecx + edi]
mov dword [esp + 0x18], eax
push edi
push 0
push ecx
mov esi, ecx
call sub.VCRUNTIME140.dll_memset
mov eax, esi
add esp, 0xc
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 8]
mov edx, dword [esp + 0x1c]
push edi
call fcn.00412ee0
mov ecx, dword [esp + 0x20]
add esp, 4
xor ebx, ebx
test al, al
mov edx, dword [esp + 0x18]
je 0x4192a5
mov dword [esp + 0x68], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], 0xf
mov byte [esp + 0x68], 0
cmp ecx, edx
je 0x418695
mov ebx, dword [esp + 0x18]
sub ebx, ecx
cmp ebx, 0xf
jbe 0x41864d
test ebx, ebx
js 0x419389
mov eax, ebx
or eax, 0xf
cmp eax, 0x17
mov esi, 0x16
cmovae esi, eax
cmp esi, 0xfff
jb 0x418669
lea eax, [esi + 0x24]
push eax
call sub.mozglue.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
lea edi, [eax + 0x23]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x418677
lea esi, [esp + 0x68]
mov dword [esi + 0x10], ebx
push ebx
push ecx
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [esp + ebx + 0x68], 0
mov ebx, dword [esi + 0x10]
jmp 0x418695
lea eax, [esi + 1]
push eax
call sub.mozglue.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov edi, eax
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], esi
push ebx
push dword [esp + 0x20]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [edi + ebx], 0
mov dword [esp + 0x68], edi
xor eax, eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xec], 0xf
mov dword [esp + 0xe8], eax
mov byte [esp + 0xd8], 0
mov dword [esp + 4], 0
mov edi, 0
mov esi, 0
mov ecx, 0
mov edx, 0
mov dword [esp + 0x10], ebx
test ebx, ebx
je 0x418e5a
cmp dword [esp + 0x7c], 0x10
jb 0x418711
mov eax, dword [esp + 0x68]
jmp 0x418715
lea eax, [esp + 0x68]
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x10]
xor edi, edi
mov eax, dword [esp + 4]
movzx eax, byte [eax + edi]
cmp eax, 0xa
je 0x418731
cmp eax, 0xd
jne 0x41878b
cmp dword [esp + 0xe8], 0
je 0x41885d
mov ebx, dword [esp + 0x48]
cmp ebx, dword [esp + 0x4c]
je 0x418868
xor eax, eax
mov dword [ebx], eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], eax
cmp dword [esp + 0xec], 0x10
lea ecx, [esp + 0xd8]
jb 0x41876f
mov ecx, dword [esp + 0xd8]
mov eax, dword [esp + 0xe8]
cmp eax, 0xf
ja 0x4187cb
movups xmm0, xmmword [ecx]
movups xmmword [ebx], xmm0
mov esi, 0xf
jmp 0x418828
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xec]
cmp ecx, edx
jae 0x41887c
lea esi, [ecx + 1]
mov dword [esp + 0xe8], esi
lea esi, [esp + 0xd8]
cmp edx, 0x10
jb 0x4187be
mov esi, dword [esp + 0xd8]
mov byte [esi + ecx], al
mov byte [esi + ecx + 1], 0
jmp 0x41885d
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov esi, eax
or esi, 0xf
mov eax, 0x7fffffff
cmp esi, eax
cmovae esi, eax
cmp esi, 0xfff
jb 0x418803
lea eax, [esi + 0x24]
push eax
call sub.mozglue.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov ecx, eax
add eax, 0x23
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x41880f
lea eax, [esi + 1]
push eax
call sub.mozglue.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov dword [ebx], eax
mov ecx, dword [esp + 8]
inc ecx
push ecx
push dword [esp + 0x10]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esp + 0x14]
add esp, 0xc
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], esi
add dword [esp + 0x48], 0x18
cmp dword [esp + 0xec], 0x10
lea eax, [esp + 0xd8]
mov ebx, dword [esp + 0x10]
jb 0x41884f
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xe8], 0
mov byte [eax], 0
inc edi
cmp ebx, edi
jne 0x41871f
jmp 0x4188a6
lea ecx, [esp + 0x44]
lea eax, [esp + 0xd8]
push eax
push ebx
call fcn.00443cd0
jmp 0x418833
sub esp, 0xc
mov cl, byte [esp + 0x8c]
mov byte [esp + 4], cl
movsx eax, al
mov dword [esp + 8], eax
mov dword [esp], 1
lea ecx, [esp + 0xe4]
call fcn.00442f80
jmp 0x41885d
xor eax, eax
cmp dword [esp + 0xe8], 0
mov ebx, 0
jne 0x418e78
mov ebx, dword [esp + 0x44]
mov dword [esp + 4], 0
mov edi, 0
mov esi, 0
mov ecx, 0
mov edx, 0
mov dword [esp + 8], ebx
cmp dword [esp + 0x48], ebx
je 0x418e5a
xor ebx, ebx
xor ecx, ecx
mov edx, dword [esp + 8]
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xb8], ebx
mov eax, 0xf
mov dword [esp + 0xbc], eax
mov byte [esp + 0xa8], bl
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], eax
mov byte [esp + 0xc0], bl
lea eax, [ecx + ecx*2]
cmp dword [edx + eax*8 + 0x14], 0x10
mov dword [esp + 0x28], ecx
jb 0x418941
mov esi, dword [edx + eax*8]
jmp 0x418944
lea esi, [edx + eax*8]
mov byte [esp + 0x64], bl
mov dword [esp + 0x60], ebx
mov dword [esp + 0x40], ebx
sub esp, 0x28
lea eax, [esp + 0x68]
mov dword [esp + 0x24], eax
lea eax, [esp + 0xc8]
mov dword [esp + 0x20], eax
lea eax, [esp + 0xc2]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xc1]
mov dword [esp + 0x18], eax
lea eax, [esp + 0xb8]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x88]
mov dword [esp + 0x10], eax
lea eax, [esp + 0xb0]
mov dword [esp + 0xc], eax
lea eax, [esp + 0xa8]
mov dword [esp + 8], eax
mov dword [esp], esi
call fcn.00443450
add esp, 0x28
cmp eax, 7
jl 0x4192dc
mov ebx, esi
mov byte [esp + 0x98], 0
movzx eax, byte [esp + 0x60]
cmp eax, 0x2d
je 0x4189e5
cmp eax, 0x72
jne 0x4192dc
mov byte [esp + 0x98], 1
mov al, 1
jmp 0x4189e7
xor eax, eax
movzx ecx, byte [esp + 0x61]
cmp ecx, 0x2d
je 0x418a03
cmp ecx, 0x77
jne 0x4192dc
or al, 2
mov byte [esp + 0x98], al
movzx ecx, byte [esp + 0x62]
cmp ecx, 0x2d
je 0x418a1f
cmp ecx, 0x78
jne 0x4192dc
or al, 4
mov byte [esp + 0x98], al
mov cl, byte [esp + 0x63]
cmp cl, 0x70
jne 0x418a33
or al, 8
mov byte [esp + 0x98], al
jmp 0x418a3f
and cl, 0xdf
cmp cl, 0x53
jne 0x4192dc
mov edi, dword [esp + 0x54]
cmp edi, dword [esp + 0x58]
mov dword [esp + 0x10], ebx
je 0x418a67
mov ecx, edi
lea edx, [esp + 0x80]
call fcn.00433ee0
add edi, 0x58
mov dword [esp + 0x54], edi
jmp 0x418cb0
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], edi
mov dword [esp + 4], ecx
sub edi, ecx
mov dword [esp + 0x24], edi
sar edi, 3
imul edi, edi, 0xba2e8ba3
mov eax, edi
shr eax, 1
mov ecx, 0x2e8ba2e
sub ecx, eax
add eax, edi
lea edx, [edi + 1]
cmp eax, edx
mov dword [esp + 0x20], edx
cmovbe eax, edx
cmp edi, ecx
mov ecx, 0x2e8ba2e
cmova eax, ecx
cmp eax, 0x2e8ba2f
jae 0x41937f
imul esi, eax, 0x58
cmp eax, 0x2f
jb 0x418acf
lea eax, [esi + 0x23]
push eax
call sub.mozglue.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
lea ebx, [eax + 0x23]
and ebx, 0xffffffe0
mov dword [ebx - 4], eax
jmp 0x418ae2
test eax, eax
je 0x418ae0
push esi
call sub.mozglue.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov ebx, eax
jmp 0x418ae2
xor ebx, ebx
imul ecx, edi, 0x58
add ecx, ebx
lea edx, [esp + 0x80]
call fcn.00433ee0
mov eax, dword [esp + 8]
mov edi, eax
mov ecx, dword [esp + 4]
cmp ecx, eax
mov dword [esp + 0xc], esi
je 0x418ba0
xor eax, eax
xor edx, edx
mov edi, dword [esp + 8]
mov ecx, dword [esp + 4]
add ecx, eax
add ecx, 0x58
movsd xmm0, qword [ecx - 0x38]
movsd qword [ebx + eax + 0x20], xmm0
movups xmm0, xmmword [ecx - 0x58]
movups xmm1, xmmword [ecx - 0x48]
movups xmmword [ebx + eax + 0x10], xmm1
movups xmmword [ebx + eax], xmm0
mov dword [ebx + eax + 0x28], edx
mov dword [ebx + eax + 0x38], edx
mov dword [ebx + eax + 0x3c], edx
movsd xmm0, qword [ecx - 0x20]
movsd qword [ebx + eax + 0x38], xmm0
movups xmm0, xmmword [ecx - 0x30]
movups xmmword [ebx + eax + 0x28], xmm0
mov dword [ecx - 0x20], edx
mov esi, 0xf
mov dword [ecx - 0x1c], esi
mov byte [ecx - 0x30], dl
mov dword [ebx + eax + 0x40], edx
mov dword [ebx + eax + 0x50], edx
mov dword [ebx + eax + 0x54], edx
movsd xmm0, qword [ecx - 8]
movsd qword [ebx + eax + 0x50], xmm0
movups xmm0, xmmword [ecx - 0x18]
movups xmmword [ebx + eax + 0x40], xmm0
mov dword [ecx - 8], edx
mov dword [ecx - 4], esi
mov byte [ecx - 0x18], dl
add eax, 0x58
cmp ecx, edi
jne 0x418b11
mov edi, dword [esp + 4]
mov esi, dword [esp + 0xc]
test edi, edi
je 0x418c97
cmp edi, dword [esp + 8]
je 0x418c81
mov eax, dword [edi + 0x54]
cmp eax, 0x10
jb 0x418bee
mov ecx, dword [edi + 0x40]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x418be0
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x419379
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call sub.mozglue.dll_void___cdecl_operator_delete_void___unsigned_int_
add esp, 8
mov esi, dword [esp + 0xc]
mov dword [edi + 0x50], 0
mov dword [edi + 0x54], 0xf
mov byte [edi + 0x40], 0
mov eax, dword [edi + 0x3c]
cmp eax, 0x10
jb 0x418c3c
mov ecx, dword [edi + 0x28]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x418c2e
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x419379
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call sub.mozglue.dll_void___cdecl_operator_delete_void___unsigned_int_
add esp, 8
mov esi, dword [esp + 0xc]
mov dword [edi + 0x38], 0
mov dword [edi + 0x3c], 0xf
mov byte [edi + 0x28], 0
add edi, 0x58
cmp edi, dword [esp + 8]
jne 0x418bb2
mov ecx, dword [esp + 0x24]
cmp ecx, 0x1000
jb 0x418c89
mov edx, dword [esp + 4]
mov eax, dword [edx - 4]
add edx, 0xfffffffc
sub edx, eax
cmp edx, 0x20
jae 0x419379
add ecx, 0x23
jmp 0x418c8d
xor ecx, ecx
mov eax, dword [esp + 8]
jmp 0x418c8d
mov eax, dword [esp + 4]
push ecx
push eax
call sub.mozglue.dll_void___cdecl_operator_delete_void___unsigned_int_
add esp, 8
mov dword [esp + 0x50], ebx
imul edi, dword [esp + 0x20], 0x58
add edi, ebx
mov dword [esp + 0x54], edi
add esi, ebx
mov dword [esp + 0x58], esi
mov ebx, dword [esp + 0x10]
lea eax, [edi - 0x30]
mov dword [esp + 4], eax
mov esi, dword [esp + 0x40]
add esi, ebx
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ebx, eax
mov dword [esp + 8], edi
mov eax, dword [edi - 0x1c]
cmp eax, ebx
jae 0x418cf4
sub esp, 0xc
mov al, byte [esp + 0x68]
mov byte [esp + 4], al
mov dword [esp + 8], esi
mov dword [esp], ebx
mov ecx, dword [esp + 0x10]
call fcn.004014b0
mov edi, dword [esp + 8]
jmp 0x418d1e
cmp eax, 0x10
mov edi, dword [esp + 4]
jb 0x418d04
mov eax, dword [esp + 8]
mov edi, dword [eax - 0x30]
mov eax, dword [esp + 8]
mov dword [eax - 0x20], ebx
push ebx
push esi
push edi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [edi + ebx], 0
mov edi, dword [esp + 0x54]
lea eax, [edi - 0x18]
mov dword [esp + 4], eax
mov esi, dword [esp + 0x10]
push esi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
add esp, 4
mov ebx, eax
mov eax, dword [edi - 4]
cmp eax, ebx
jae 0x418d58
sub esp, 0xc
mov al, byte [esp + 0x68]
mov byte [esp + 4], al
mov dword [esp + 8], esi
mov dword [esp], ebx
mov ecx, dword [esp + 0x10]
call fcn.004014b0
jmp 0x418d7b
mov ecx, edi
cmp eax, 0x10
mov esi, dword [esp + 4]
jb 0x418d66
mov esi, dword [ecx - 0x18]
mov dword [ecx - 8], ebx
push ebx
push dword [esp + 0x14]
push esi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [esi + ebx], 0
mov eax, dword [esp + 0xd4]
cmp eax, 0x10
mov ebx, 0
jb 0x418dc0
mov ecx, dword [esp + 0xc0]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x418db6
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x419379
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call sub.mozglue.dll_void___cdecl_operator_delete_void___unsigned_int_
add esp, 8
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0xf
mov byte [esp + 0xc0], 0
mov eax, dword [esp + 0xbc]
cmp eax, 0x10
jb 0x418e1e
mov ecx, dword [esp + 0xa8]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x418e14
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x419379
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call sub.mozglue.dll_void___cdecl_operator_delete_void___unsigned_int_
add esp, 8
mov ecx, dword [esp + 0x28]
inc ecx
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
sub eax, edx
sar eax, 3
imul eax, eax, 0xaaaaaaab
cmp ecx, eax
jb 0x4188f1
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x50], edx
mov dword [esp + 0x38], edi
mov dword [esp + 0x54], esi
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x58], eax
mov bl, 1
mov eax, dword [esp + 0xec]
cmp eax, 0x10
jb 0x418eb8
mov ecx, dword [esp + 0xd8]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x418eae
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x419379
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call sub.mozglue.dll_void___cdecl_operator_delete_void___unsigned_int_
add esp, 8
mov edi, dword [esp + 0x44]
test edi, edi
mov dword [esp + 0x10], ebx
je 0x418f54
mov ebx, dword [esp + 0x48]
cmp edi, ebx
je 0x418f23
mov eax, dword [edi + 0x14]
cmp eax, 0x10
jb 0x418f07
mov ecx, dword [edi]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x418efd
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x419379
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call sub.mozglue.dll_void___cdecl_operator_delete_void___unsigned_int_
add esp, 8
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
add edi, 0x18
cmp edi, ebx
jne 0x418ed0
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0x4c]
sub eax, edi
cmp eax, 0x1000
mov ebx, dword [esp + 0x10]
jb 0x418f4a
mov ecx, dword [edi - 4]
add edi, 0xfffffffc
sub edi, ecx
cmp edi, 0x20
jae 0x419379
add eax, 0x23
mov edi, ecx
push eax
push edi
call sub.mozglue.dll_void___cdecl_operator_delete_void___unsigned_int_
add esp, 8
lea ecx, [esp + 0x50]
call fcn.004337b0
test bl, bl
je 0x41925a
push 0xc
call sub.mozglue.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [esp + 4], eax
mov dword [eax + 8], ecx
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x38]
sub eax, edi
je 0x419248
mov ecx, 0x2e8ba2e9
imul ecx
mov eax, edx
shr eax, 0x1f
sar edx, 4
add edx, eax
xor eax, eax
inc eax
cmp edx, 2
cmovae eax, edx
mov dword [esp + 0x28], eax
mov edx, edi
add edx, 0x40
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
push 0x68
call sub.mozglue.dll_void____cdecl_operator_new_unsigned_int_
mov edx, dword [esp + 0xc]
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 8]
xor ecx, ecx
mov byte [edi + 4], cl
mov dword [edi + 8], eax
mov dword [edi], 0x44a98c
lea eax, [edi + 0x10]
mov dword [edi + 0x38], ecx
mov esi, 0xf
mov dword [edi + 0x4c], esi
mov dword [edi + 0x48], ecx
mov byte [edi + 0x38], cl
mov dword [edi + 0x50], ecx
mov dword [edi + 0x64], esi
mov dword [edi + 0x60], ecx
mov byte [edi + 0x50], cl
lea ecx, [edx - 0x40]
movsd xmm0, qword [edx - 0x20]
movsd qword [edi + 0x30], xmm0
movups xmm0, xmmword [edx - 0x40]
movups xmm1, xmmword [edx - 0x30]
movups xmmword [edi + 0x20], xmm1
movups xmmword [edi + 0x10], xmm0
cmp ecx, eax
je 0x41902b
cmp dword [edx - 4], 0x10
jb 0x419034
mov eax, dword [edx - 0x18]
jmp 0x419037
mov ecx, dword [esp + 0xc]
jmp 0x4190db
lea eax, [edx - 0x18]
lea ecx, [edi + 0x38]
mov esi, dword [edx - 8]
cmp esi, 0xf
jbe 0x41905e
sub esp, 0xc
mov dl, byte [esp + 0x8c]
mov byte [esp + 4], dl
mov dword [esp + 8], eax
mov dword [esp], esi
call fcn.004014b0
jmp 0x419071
mov dword [edi + 0x48], esi
push esi
push eax
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov byte [edi + esi + 0x38], 0
mov ecx, dword [esp + 8]
mov esi, dword [ecx + 0x10]
cmp dword [ecx + 0x14], 0x10
mov eax, ecx
jb 0x419082
mov eax, dword [ecx]
mov ecx, edi
add ecx, 0x50
mov edx, dword [edi + 0x64]
cmp edx, esi
jae 0x4190ae
sub esp, 0xc
mov dl, byte [esp + 0x8c]
mov byte [esp + 4], dl
mov dword [esp + 8], eax
mov dword [esp], esi
call fcn.004014b0
mov ecx, dword [esp + 0xc]
jmp 0x4190d7
cmp edx, 0x10
jb 0x4190b6
mov ecx, dword [edi + 0x50]
mov dword [esp + 0xc], ecx
mov dword [edi + 0x60], esi
push esi
push eax
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov eax, dword [esp + 0xc]
mov byte [eax + esi], 0
mov eax, dword [esp + 4]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 8]
mov byte [edi + 4], 1
mov eax, dword [esp + 4]
cmp ecx, dword [eax + 8]
je 0x4190fc
mov dword [ecx], edi
mov eax, dword [esp + 4]
mov ecx, dword [eax + 4]
add ecx, 4
mov dword [eax + 4], ecx
jmp 0x419232
mov ebx, ecx
mov eax, dword [esp + 4]
sub ebx, dword [eax]
sar ebx, 2
lea edx, [ebx + 1]
mov esi, ebx
shr esi, 1
mov eax, 0x3fffffff
sub eax, esi
add esi, ebx
cmp esi, edx
cmovbe esi, edx
mov dword [esp + 0x24], ebx
cmp ebx, eax
mov eax, 0x3fffffff
cmova esi, eax
cmp esi, 0x40000000
jae 0x41937f
lea eax, [esi*4]
cmp esi, 0x400
mov dword [esp + 0xc], ecx
mov dword [esp + 0x30], edx
jb 0x419170
cmp esi, 0x3ffffff8
jae 0x41937f
add eax, 0x23
push eax
call sub.mozglue.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
lea edx, [eax + 0x23]
and edx, 0xffffffe0
mov dword [edx - 4], eax
jmp 0x419183
test esi, esi
je 0x419181
push eax
call sub.mozglue.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
mov edx, eax
jmp 0x419183
xor edx, edx
mov dword [esp + 0x20], edx
mov ebx, dword [esp + 0x24]
mov dword [edx + ebx*4], edi
mov eax, dword [esp + 4]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x2c], ecx
mov edi, dword [esp + 0xc]
mov ecx, edi
sub ecx, eax
push ecx
push eax
push edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
cmp dword [esp + 0x2c], edi
je 0x4191d6
mov eax, dword [esp + 0x20]
lea eax, [eax + ebx*4]
add eax, 4
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 4]
sub ecx, edi
push ecx
push edi
push eax
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 4]
mov ecx, dword [eax]
test ecx, ecx
je 0x419214
mov eax, dword [esp + 4]
mov eax, dword [eax + 8]
sub eax, ecx
cmp eax, 0x1000
jb 0x41920a
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x419379
add eax, 0x23
mov ecx, edx
push eax
push ecx
call sub.mozglue.dll_void___cdecl_operator_delete_void___unsigned_int_
add esp, 8
mov edx, dword [esp + 4]
mov dword [edx], edi
mov eax, dword [esp + 0x30]
lea ecx, [edi + eax*4]
mov dword [edx + 4], ecx
lea eax, [edi + esi*4]
mov dword [edx + 8], eax
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 8]
add edx, 0x58
dec dword [esp + 0x28]
jne 0x418fb2
mov eax, dword [esp + 4]
sub ecx, dword [eax]
sar ecx, 2
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 4]
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ecx
mov byte [eax + 4], 1
lea ecx, [esp + 0x34]
call fcn.004337b0
mov eax, dword [esp + 0x7c]
cmp eax, 0x10
jb 0x41929d
mov ecx, dword [esp + 0x68]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x419293
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x419379
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call sub.mozglue.dll_void___cdecl_operator_delete_void___unsigned_int_
add esp, 8
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
test ecx, ecx
je 0x41851b
sub edx, ecx
cmp edx, 0x1000
jb 0x4192cd
mov eax, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, eax
cmp ecx, 0x20
jae 0x419379
add edx, 0x23
mov ecx, eax
push edx
push ecx
call sub.mozglue.dll_void___cdecl_operator_delete_void___unsigned_int_
add esp, 8
jmp 0x41851b
mov eax, dword [esp + 0xd4]
cmp eax, 0x10
jb 0x419318
mov ecx, dword [esp + 0xc0]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x41930e
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x419379
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call sub.mozglue.dll_void___cdecl_operator_delete_void___unsigned_int_
add esp, 8
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0xf
mov byte [esp + 0xc0], 0
mov eax, dword [esp + 0xbc]
cmp eax, 0x10
jb 0x419372
mov ecx, dword [esp + 0xa8]
lea esi, [eax + 1]
cmp esi, 0x1000
jb 0x419368
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x419379
add eax, 0x24
mov esi, eax
mov ecx, edx
push esi
push ecx
call sub.mozglue.dll_void___cdecl_operator_delete_void___unsigned_int_
add esp, 8
xor ebx, ebx
jmp 0x418e78
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.004415a0
call fcn.00443c20
call fcn.00441590
int3