Function at 0x401790
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x378
mov eax, dword [0x42d008]
xor eax, esp
mov dword [esp + 0x374], eax
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x1c], edi
call fcn.00401090
push 0x4268bc
call dword [sym.imp.KERNEL32.dll_SetDllDirectoryW]
xor ecx, ecx
lea eax, [edi + 1]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 4
mov dword [esp + 0x14], eax
test eax, eax
je 0x40664b
mov dword [esp + 0x10], 0
test edi, edi
jle 0x4018ae
mov edx, dword [ebp + 0xc]
mov ecx, eax
sub edx, eax
mov dword [esp + 0x24], eax
mov dword [ebp + 0xc], edx
nop word [eax + eax]
mov esi, dword [edx + ecx]
mov edi, esi
lea ecx, [edi + 2]
nop dword [eax + eax]
mov ax, word [edi]
add edi, 2
test ax, ax
jne 0x401820
sub edi, ecx
sar edi, 1
lea eax, [edi*2 + 1]
add eax, edi
push eax
call dword [sym.imp.mozglue.dll_moz_xmalloc]
mov ecx, eax
add esp, 4
mov dword [esp + 0x18], ecx
test ecx, ecx
je 0x406641
mov edx, ecx
lea ecx, [esi + edi*2]
mov dword [esp + 0xc], ecx
cmp esi, ecx
jae 0x40187d
mov eax, ecx
nop
movzx ecx, word [esi]
mov dword [esp + 0x28], esi
test ecx, 0xff80
jne 0x40654c
mov byte [edx], cl
inc edx
add esi, 2
cmp esi, eax
jb 0x401860
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov byte [edx], 0
mov dword [ecx], eax
add ecx, 4
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x10], eax
cmp eax, edi
jge 0x4018aa
mov edx, dword [ebp + 0xc]
jmp 0x401810
mov eax, dword [esp + 0x14]
mov dword [eax + edi*4], 0
xor ecx, ecx
lea eax, [edi + 1]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call dword [sym.imp.mozglue.dll_moz_xmalloc]
mov esi, eax
add esp, 4
mov dword [esp + 0x24], esi
test esi, esi
je 0x406655
test edi, edi
jle 0x401902
mov edi, dword [esp + 0x14]
mov ecx, esi
mov edx, dword [esp + 0x1c]
sub edi, esi
mov eax, dword [edi + ecx]
lea ecx, [ecx + 4]
mov dword [ecx - 4], eax
sub edx, 1
jne 0x4018f0
mov edi, dword [esp + 0x1c]
push str.PATH
call dword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
call dword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll___p__environ]
push 1
mov eax, dword [eax]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x48]
push eax
call dword [sym.imp.mozglue.dll_private:_static_class_mozilla::TimeStamp___cdecl_mozilla::TimeStamp::Now_bool_]
add esp, 0xc
cmp edi, 1
jle 0x401949
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov edx, ecx
mov al, byte [ecx]
cmp al, 0x2d
je 0x40666a
cmp al, 0x2f
je 0x40668e
push 0
call dword [sym.imp.mozglue.dll_void___cdecl_DllBlocklist_Initialize_unsigned_int_]
add esp, 4
cmp byte [0x42d650], 0
jne 0x40197e
push 0x104
push 0x42d440
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x40699c
mov byte [0x42d650], 1
push 0x42d440
lea eax, [esp + 0x174]
push 0x104
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
add esp, 0xc
test eax, eax
jne 0x40699c
push eax
push eax
push 0x104
lea eax, [esp + 0x74]
push eax
push 0xffffffffffffffff
lea eax, [esp + 0x184]
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea eax, [esp + 0x68]
push eax
call dword [sym.imp.mozglue.dll_strdup]
mov edi, eax
add esp, 4
mov dword [esp + 0x20], edi
test edi, edi
je 0x40699e
mov edx, edi
lea ecx, [esp + 0x10]
call fcn.00401140
mov esi, dword [eax]
mov dword [eax], 0
mov eax, dword [0x42e2b0]
mov dword [esp + 0x18], eax
mov dword [0x42e2b0], esi
test eax, eax
jne 0x406707
mov eax, dword [esp + 0x10]
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], 0
test eax, eax
jne 0x406725
test esi, esi
je 0x406743
mov eax, dword [esi]
mov edi, dword [eax + 8]
mov ecx, edi
call dword [0x42640c]
mov ecx, esi
call edi
push dword [esp + 0x20]
call dword [sym.imp.mozglue.dll_free]
mov edi, dword [0x42e2b0]
sub esp, 0x14
movups xmm0, xmmword [esp + 0x58]
mov eax, esp
mov esi, dword [edi]
push 1
movups xmmword [eax], xmm0
movq xmm0, qword [esp + 0x6c]
mov esi, dword [esi + 0x14]
mov ecx, esi
movq qword [eax + 0x10], xmm0
call dword [0x42640c]
mov ecx, edi
call esi
mov edi, dword [0x42e2b0]
mov eax, dword [edi]
mov esi, dword [eax + 0x30]
mov ecx, esi
call dword [0x42640c]
mov ecx, edi
call esi
mov edi, dword [esp + 0x14]
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x1c]
push str.XUL_APP_FILE
mov dword [esp + 0x24], edi
call dword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
mov esi, eax
add esp, 4
test esi, esi
jne 0x406760
cmp edi, 1
jle 0x401af8
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov edx, ecx
mov al, byte [ecx]
cmp al, 0x2d
je 0x40676e
cmp al, 0x2f
je 0x406792
cmp edi, 1
jle 0x401af8
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
lea edi, [eax + 4]
mov edx, ecx
mov al, byte [ecx]
cmp al, 0x2d
je 0x406836
cmp al, 0x2f
je 0x40685a
test esi, esi
jne 0x4068bf
mov dword [esp + 0x38], str.Mozilla
mov dword [esp + 0x3c], str.browser
mov eax, dword fs:[0x2c]
mov edi, dword [eax]
mov eax, dword [0x42e364]
mov dword [esp + 0xc], edi
cmp eax, dword [edi + 4]
jle 0x401da7
push 0x42e364
call fcn.00405566
add esp, 4
cmp dword [0x42e364], 0xffffffff
jne 0x401da7
push str.MOZ_ENABLE_HANDLE_VERIFIER
call dword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll_getenv]
add esp, 4
test eax, eax
jne 0x4068d9
cmp dword [0x42e280], 0
jne 0x401c6b
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push 0x426838
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x4068eb
cmp eax, sym.firefox.exe_GetHandleVerifier
jne 0x406902
call fcn.00401fc0
mov esi, eax
push esi
call dword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
cmp dword [0x42e280], 0
jne 0x4068ef
push 0x38
call dword [sym.imp.mozglue.dll_moz_xmalloc]
mov edi, eax
add esp, 4
test edi, edi
je 0x4068fb
lea ecx, [edi + 8]
mov dword [edi], 0x426820
push ecx
mov byte [edi + 5], 1
call fcn.00404240
call fcn.00401fc0
mov dword [edi + 0x14], eax
mov dword [edi + 0x18], 0
push 0x20
mov dword [edi + 0x1c], 0
mov dword [edi + 0x20], 0
call dword [sym.imp.mozglue.dll_moz_xmalloc]
lea ecx, [edi + 0x24]
add esp, 4
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [edi + 0x1c], eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
mov dword [ecx + 8], 0
mov dword [edi + 0x18], 0x3f800000
mov eax, dword [ecx + 8]
sub eax, dword [ecx]
sar eax, 2
cmp eax, 0x10
jae 0x401c39
push 0x10
call fcn.00402220
lea ecx, [edi + 0x24]
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push eax
push 0x10
call fcn.004022c0
mov dword [edi + 0x30], 7
mov dword [edi + 0x34], 8
push esi
mov dword [0x42e280], edi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov edi, dword [esp + 0xc]
mov ecx, dword [0x42e280]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
cmp dword [sym.firefox.exe_g_shared_section], 0
jne 0x406919
mov esi, dword [0x42e284]
test esi, esi
jne 0x401d5a
push 0x44
call dword [sym.imp.mozglue.dll_moz_xmalloc]
mov esi, eax
add esp, 4
test esi, esi
je 0x406912
mov dword [esi], 0x42680c
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x28], 0
push 0xc
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
call dword [sym.imp.mozglue.dll_moz_xmalloc]
push 0x18
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [esi + 0x2c], eax
mov dword [esi + 0x34], 0
mov dword [esi + 0x38], 0
call dword [sym.imp.mozglue.dll_moz_xmalloc]
push 0x14
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [esi + 0x34], eax
mov dword [esi + 0x3c], 0
mov dword [esi + 0x40], 0
call dword [sym.imp.mozglue.dll_moz_xmalloc]
add esp, 0xc
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [esi + 0x3c], eax
push 0x402020
mov dword [0x42e284], esi
call fcn.0040539c
mov esi, dword [0x42e284]
add esp, 4
test esi, esi
je 0x406919
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax]
call eax
test eax, eax
jne 0x406919
mov eax, dword [esi]
lea ecx, [esp + 0x10]
push ecx
mov ecx, esi
mov eax, dword [eax + 4]
call eax
mov ecx, dword [esp + 0x10]
push 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x2c]
call eax
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x401d94
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
push 0x42e364
mov dword [0x42e2a4], esi
call fcn.0040551c
add esp, 4
mov eax, dword [0x42e360]
mov esi, dword [0x42e2a4]
mov dword [esp + 0x2c], esi
cmp eax, dword [edi + 4]
jle 0x401ee9
push 0x42e360
call fcn.00405566
add esp, 4
cmp dword [0x42e360], 0xffffffff
jne 0x401ee9
push 0x2c
mov dword [0x42d050], 0x4267fc
mov dword [0x42d054], 0
mov dword [0x42d058], 0
mov dword [0x42d05c], 0
call dword [sym.imp.mozglue.dll_moz_xmalloc]
push 0x40
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [0x42d058], eax
mov dword [0x42d060], 0
mov dword [0x42d064], 0
mov dword [0x42d068], 0
mov dword [0x42d054], 0x3f800000
call dword [sym.imp.mozglue.dll_moz_xmalloc]
mov edx, dword [0x42d064]
add esp, 8
mov edi, dword [0x42d060]
mov esi, eax
sub edx, edi
mov dword [esp + 0x10], 0
add edx, 3
xor eax, eax
shr edx, 2
cmp edi, dword [0x42d064]
cmova edx, eax
test edx, edx
jne 0x406920
test edi, edi
jne 0x406945
lea eax, [esi + 0x40]
mov dword [0x42d060], esi
mov dword [0x42d068], eax
mov ecx, 0x42d060
mov eax, dword [0x42d058]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push eax
push 0x10
mov dword [0x42d064], esi
call fcn.00402370
push 0x4060e0
mov dword [0x42d06c], 7
mov dword [0x42d070], 8
mov dword [0x42d074], 0
call fcn.004053d7
push 0x42e360
call fcn.0040551c
mov esi, dword [esp + 0x34]
add esp, 8
test esi, esi
je 0x406982
mov edi, dword [0x42e2b0]
lea ecx, [esp + 0x30]
push ecx
push dword [esp + 0x2c]
mov dword [esp + 0x38], esi
push dword [esp + 0x28]
mov dword [esp + 0x40], 0x42d050
mov eax, dword [edi]
mov esi, dword [eax + 0x18]
mov ecx, esi
call dword [0x42640c]
mov ecx, edi
call esi
mov dword [esp + 0xc], eax
mov edi, dword [0x42e2b0]
mov eax, dword [edi]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x42640c]
mov ecx, edi
call esi
mov edi, dword [0x42e2b0]
mov dword [0x42e2b0], 0
test edi, edi
je 0x401f61
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x42640c]
mov ecx, edi
call esi
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0xc]
push dword [esp + 0x14]
call dword [sym.imp.mozglue.dll_free]
add esp, 4
cmp dword [esp + 0x1c], 0
je 0x401f98
mov edi, dword [esp + 0x1c]
mov eax, dword [esi + edi*4 - 4]
dec edi
push eax
call dword [sym.imp.mozglue.dll_free]
add esp, 4
test edi, edi
jne 0x401f81
mov edi, dword [esp + 0xc]
push esi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov eax, edi
mov ecx, dword [esp + 0x37c]
pop edi
pop esi
xor ecx, esp
call fcn.00405160
mov esp, ebp
pop ebp
ret
mov eax, ecx
test ecx, 0xf800
jne 0x40656e
shr eax, 6
and cl, 0x3f
or al, 0xc0
or cl, 0x80
mov byte [edx], al
mov byte [edx + 1], cl
add edx, 2
jmp 0x406627
mov dword [esp + 0x20], eax
and eax, 0xfffff800
cmp eax, 0xd800
je 0x4065a3
mov ax, cx
shr ax, 0xc
or al, 0xe0
mov byte [edx], al
mov eax, ecx
shr eax, 6
and cl, 0x3f
and al, 0x3f
or al, 0x80
or cl, 0x80
mov byte [edx + 1], al
mov byte [edx + 2], cl
jmp 0x406624
mov ecx, dword [esp + 0x20]
mov eax, ecx
and eax, 0xfffffc00
cmp eax, 0xd800
jne 0x40661b
add esi, 2
cmp esi, dword [esp + 0xc]
je 0x406630
movzx eax, word [esi]
mov dword [esp + 0x20], eax
and eax, 0xfffffc00
cmp eax, 0xdc00
jne 0x406617
mov eax, dword [esp + 0x20]
and ecx, 0x3ff
and eax, 0x3ff
add ecx, 0x40
shl ecx, 0xa
add ecx, eax
mov eax, ecx
shr eax, 0x12
or al, 0xf0
mov byte [edx], al
mov eax, ecx
shr eax, 0xc
and al, 0x3f
or al, 0x80
mov byte [edx + 1], al
mov eax, ecx
shr eax, 6
and cl, 0x3f
and al, 0x3f
or cl, 0x80
or al, 0x80
mov byte [edx + 2], al
mov byte [edx + 3], cl
add edx, 4
jmp 0x406627
mov esi, dword [esp + 0x28]
mov word [edx], 0xbfef
mov byte [edx + 2], 0xbd
add edx, 3
mov eax, dword [esp + 0xc]
jmp 0x401876
mov word [edx], 0xbfef
mov byte [edx + 2], 0xbd
add edx, 3
jmp 0x40187d
mov eax, dword [esp + 0x24]
mov dword [eax], 0
mov eax, 0x7f
jmp 0x401fa4
mov edx, dword [esp + 0x14]
mov ecx, edi
call fcn.004083bf
mov eax, 0x7f
jmp 0x401fa4
xor eax, eax
cmp byte [ecx + 1], 0x2d
push str.contentproc
sete al
inc edx
add eax, edx
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
test eax, eax
je 0x4066a6
jmp 0x401949
inc ecx
push str.contentproc
push ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
test eax, eax
jne 0x401949
push 1
call dword [sym.imp.mozglue.dll_void___cdecl_DllBlocklist_Initialize_unsigned_int_]
add esp, 4
cmp dword [sym.firefox.exe_g_shared_section], 0
je 0x4066d2
call fcn.00424729
test eax, eax
jne 0x4066d2
push str.Failed_to_initialize_the_sandbox_target_services.
call fcn.00408579
jmp 0x4069b6
call fcn.004084a8
test eax, eax
js 0x4069b9
push dword [esp + 0x14]
mov ecx, dword [0x42e2b0]
mov edx, edi
call fcn.00408632
mov edi, dword [0x42e2b0]
add esp, 4
mov dword [esp + 0xc], eax
mov eax, dword [edi]
mov esi, dword [eax + 0xc]
jmp 0x401f55
mov eax, dword [eax]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x42640c]
mov ecx, dword [esp + 0x18]
call esi
mov esi, dword [0x42e2b0]
jmp 0x401a0a
mov eax, dword [eax]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x42640c]
mov ecx, dword [esp + 0x18]
call esi
mov esi, dword [0x42e2b0]
jmp 0x401a22
push str.Couldnt_load_XPCOM._n
call fcn.00408579
push edi
call dword [sym.imp.mozglue.dll_free]
mov esi, dword [esp + 0x2c]
add esp, 8
jmp 0x4069b9
cmp byte [esi], 0
jne 0x401ad5
jmp 0x401ab5
xor eax, eax
cmp byte [ecx + 1], 0x2d
push 0x4270b0
sete al
inc edx
add eax, edx
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
test eax, eax
je 0x4067aa
jmp 0x401ad5
inc ecx
push 0x4270b0
push ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
test eax, eax
jne 0x401ad5
cmp edi, 2
jne 0x4067c9
push str.Incorrect_number_of_arguments_passed_to__app
call fcn.00408579
add esp, 4
mov dword [esp + 0xc], 0xff
jmp 0x401f25
mov edi, dword [esp + 0x14]
lea eax, [esp + 0x68]
add edi, 8
mov dword [esp + 0x28], edi
mov esi, dword [edi]
push esi
push str.XUL_APP_FILE_s
push eax
call fcn.00408380
lea eax, [esp + 0x74]
push eax
call dword [sym.imp.mozglue.dll_strdup]
push eax
call dword [sym.imp.api_ms_win_crt_environment_l1_1_0.dll__putenv]
add esp, 0x14
test eax, eax
je 0x40681e
lea eax, [esp + 0x68]
push eax
push str.Couldnt_set__s._n
call fcn.00408579
add esp, 8
mov dword [esp + 0xc], 0xff
jmp 0x401f25
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [edi], eax
mov eax, dword [esp + 0x1c]
add eax, 0xfffffffe
mov dword [esp + 0x20], eax
jmp 0x401af8
xor eax, eax
cmp byte [ecx + 1], 0x2d
push str.xpcshell
sete al
inc edx
add eax, edx
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
test eax, eax
je 0x406872
jmp 0x401af8
inc ecx
push str.xpcshell
push ecx
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__stricmp]
add esp, 8
test eax, eax
jne 0x401af8
mov eax, dword [esp + 0x1c]
cmp eax, 1
jle 0x406887
mov esi, dword [esp + 0x14]
lea ecx, [eax - 1]
add esi, 8
rep movsd dword es:[edi], dword [esi]
call fcn.004246e6
mov edi, dword [0x42e2b0]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x10]
mov esi, dword [edi]
push dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
dec eax
mov esi, dword [esi + 0x20]
mov ecx, esi
push eax
call dword [0x42640c]
mov ecx, edi
call esi
jmp 0x401f21
cmp byte [esi], 0
je 0x401b00
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], esi
jmp 0x401b10
call fcn.004245db
test al, al
jne 0x401c78
jmp 0x401b5d
xor ecx, ecx
jmp 0x406906
push esi
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
jmp 0x401c6b
xor edi, edi
jmp 0x401c5a
call eax
mov ecx, eax
xor dl, dl
call fcn.0040e1fd
jmp 0x401c6b
xor esi, esi
jmp 0x401d39
xor esi, esi
jmp 0x401d94
mov ecx, esi
mov eax, dword [edi]
lea ecx, [ecx + 4]
mov dword [ecx - 4], eax
lea edi, [edi + 4]
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, edx
jne 0x406922
mov edi, dword [0x42d060]
jmp 0x401e7a
mov eax, dword [0x42d068]
sub eax, edi
mov dword [esp + 0xc], edi
and eax, 0xfffffffc
mov dword [esp + 0x10], eax
cmp eax, 0x1000
jb 0x406973
lea edx, [esp + 0x10]
lea ecx, [esp + 0xc]
call fcn.00408714
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0xc]
push eax
push edi
call fcn.004053ec
add esp, 8
jmp 0x401e82
push str.Couldnt_initialize_the_broker_services._n
call fcn.00408579
add esp, 4
mov dword [esp + 0xc], 0xff
jmp 0x401f25
xor edi, edi
push str.Couldnt_find_the_application_directory._n
call fcn.00408579
add esp, 4
test edi, edi
je 0x4069b9
push edi
call dword [sym.imp.mozglue.dll_free]
add esp, 4
mov edi, 0xff
mov dword [esp + 0xc], edi
jmp 0x401f69