Function at 0x10003170
Capabilities:
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x38
mov dword [ebp - 0x10], 0
mov edi, dword [ebp + 0x10]
test byte [0x10005038], 8
jne 0x10003660
test edi, edi
je 0x100036ac
mov eax, dword [edi + 0x28]
add eax, dword [edi + 0x20]
mov dword [esp + 4], 8
mov ecx, eax
mov dword [ebp - 0x20], eax
lea edx, [ecx*8 + 0x18]
mov dword [esp + 8], edx
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov ecx, str.xdg_email
lea edx, [ebp - 0x10]
sub esp, 0xc
mov dword [ebp - 0x18], eax
mov dword [esp], 0
call sym._add_argument
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x100031f9
test byte [0x10005038], 8
jne 0x100036c0
mov edx, dword [edi + 0x20]
xor ebx, ebx
test edx, edx
je 0x100032a4
lea esi, [esi]
lea edi, [edi]
mov eax, dword [edi + 0x24]
test eax, eax
je 0x10003620
lea edx, [ebx + ebx*2]
lea eax, [eax + edx*8]
mov esi, dword [eax + 0xc]
test esi, esi
je 0x10003378
mov edx, dword [eax + 4]
mov dword [esp], esi
mov dword [esp + 8], 5
mov dword [ebp - 0x14], edx
mov dword [esp + 4], str.smtp:
call dword [sym.imp.ucrtbase.dll__strnicmp]
mov edx, dword [ebp - 0x14]
mov ecx, eax
lea eax, [esi + 5]
test ecx, ecx
cmove esi, eax
movzx eax, byte [0x10005038]
and eax, 8
cmp edx, 2
je 0x100033b0
ja 0x10003350
test edx, edx
je 0x10003408
test al, al
jne 0x100034b8
mov dword [esp], 0
mov eax, dword [ebp - 0x18]
mov ecx, esi
lea edx, [ebp - 0x10]
call sym._add_argument
lea esi, [esi]
add ebx, 1
cmp dword [edi + 0x20], ebx
ja 0x10003210
mov eax, dword [edi + 0x28]
mov esi, dword [ebp - 0x18]
xor ebx, ebx
test eax, eax
jne 0x100032d6
jmp 0x100034f0
mov eax, dword [eax + 0xc]
mov dword [esp], ecx
lea edx, [ebp - 0x10]
add ebx, 1
mov ecx, eax
mov eax, esi
call sym._add_file
cmp dword [edi + 0x28], ebx
jbe 0x100034f0
mov eax, dword [edi + 0x2c]
lea edx, [ebx + ebx*2]
shl edx, 3
add eax, edx
mov ecx, dword [eax + 0x10]
test byte [0x10005038], 8
je 0x100032b8
mov eax, ecx
mov dword [ebp - 0x14], edx
call sym._wine_dbgstr_an.constprop.0_2
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
mov eax, dword [edi + 0x2c]
mov eax, dword [eax + edx + 0xc]
call sym._wine_dbgstr_an.constprop.0_2
mov ecx, dword [ebp - 0x1c]
mov dword [esp + 0xc], str.File_Path:__s__name__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 8], str.XDGSendMail
mov dword [esp + 4], 0x10005038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
mov edx, dword [ebp - 0x14]
mov eax, dword [edi + 0x2c]
add eax, edx
mov ecx, dword [eax + 0x10]
jmp 0x100032b8
cmp edx, 3
jne 0x100033d0
test al, al
jne 0x10003480
mov dword [esp], esi
mov eax, dword [ebp - 0x18]
mov ecx, str.__bcc
lea edx, [ebp - 0x10]
call sym._add_argument
jmp 0x10003298
test byte [0x10005038], 1
je 0x10003298
mov dword [esp + 0xc], str.Name_resolution_and_entry_identifiers_not_supported_n
mov dword [esp + 8], str.XDGSendMail
mov dword [esp + 4], 0x10005038
mov dword [esp], 0
call sym._wine_dbg_log.constprop.0_2
jmp 0x10003298
test al, al
jne 0x10003448
mov dword [esp], esi
mov eax, dword [ebp - 0x18]
mov ecx, str.__cc
lea edx, [ebp - 0x10]
call sym._add_argument
jmp 0x10003298
test al, al
je 0x10003298
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], str.Unknown_recipient_class:__ld_n
mov dword [esp + 8], str.add_target
mov dword [esp + 4], 0x10005038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
jmp 0x10003298
test al, al
je 0x10003298
mov eax, esi
call sym._wine_dbgstr_an.constprop.0_2
mov dword [esp + 0xc], str.From:__s_n__unused_
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.add_target
mov dword [esp + 4], 0x10005038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
jmp 0x10003298
mov eax, esi
call sym._wine_dbgstr_an.constprop.0_2
mov dword [esp + 0xc], str.CC:__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.add_target
mov dword [esp + 4], 0x10005038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
jmp 0x100033b8
mov eax, esi
call sym._wine_dbgstr_an.constprop.0_2
mov dword [esp + 0xc], str.BCC:__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.add_target
mov dword [esp + 4], 0x10005038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
jmp 0x1000335d
mov eax, esi
call sym._wine_dbgstr_an.constprop.0_2
mov dword [esp + 0xc], str.To:__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.add_target
mov dword [esp + 4], 0x10005038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
jmp 0x10003281
movzx eax, byte [0x10005038]
mov edx, dword [edi + 4]
and eax, 8
test edx, edx
je 0x10003526
test al, al
jne 0x10003730
mov dword [esp], edx
mov eax, dword [ebp - 0x18]
mov ecx, str.__subject
lea edx, [ebp - 0x10]
call sym._add_argument
movzx eax, byte [0x10005038]
and eax, 8
mov edx, dword [edi + 8]
test edx, edx
je 0x10003552
test al, al
jne 0x100036f8
mov dword [esp], edx
mov eax, dword [ebp - 0x18]
mov ecx, str.__body
lea edx, [ebp - 0x10]
call sym._add_argument
movzx eax, byte [0x10005038]
and eax, 8
test al, al
jne 0x10003770
mov eax, dword [ebp - 0x20]
lea esi, [eax + eax + 5]
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
test eax, eax
je 0x100035c8
mov edi, dword [ebp - 0x18]
xor ebx, ebx
test esi, esi
jns 0x10003586
jmp 0x100035c8
add ebx, 1
mov eax, dword [edi + ebx*4]
cmp esi, ebx
jl 0x100035c8
test eax, eax
je 0x100035c8
test byte [0x10005038], 8
je 0x10003578
mov dword [esp + 0x10], ebx
add ebx, 1
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], str.__d:___s__n
mov dword [esp + 8], str.XDGSendMail
mov dword [esp + 4], 0x10005038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
mov eax, dword [edi + ebx*4]
cmp esi, ebx
jge 0x10003582
lea esi, [esi]
mov eax, dword [ebp - 0x18]
mov dword [esp + 4], str.xdg_email
xor ebx, ebx
mov dword [esp], 0
mov dword [esp + 8], eax
call dword [sym.imp.ucrtbase.dll__spawnvp]
test eax, eax
je 0x100035ef
mov ebx, 2
mov ecx, dword [ebp - 0x18]
mov dword [esp + 4], 0
mov eax, dword fs:[0x18]
mov dword [esp + 8], ecx
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 0x18]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, ebx
sub esp, 0xc
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
test byte [0x10005038], 4
je 0x100035ea
mov dword [esp + 0x10], ebx
mov ebx, 2
mov dword [esp + 0xc], str.Recipient__d_missing_n
mov dword [esp + 8], str.XDGSendMail
mov dword [esp + 4], 0x10005038
mov dword [esp], 2
call sym._wine_dbg_log.constprop.0_2
jmp 0x100035ef
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x18], edi
mov dword [esp + 0xc], str._0x_08lx_0x_08lx__p_0x_08x_0x_08x__n
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 8], str.XDGSendMail
mov dword [esp + 0x1c], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], 0x10005038
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 8]
mov dword [esp], 3
mov dword [esp + 0x10], eax
call sym._wine_dbg_log.constprop.0_2
test edi, edi
jne 0x10003198
lea esp, [ebp - 0xc]
mov ebx, 2
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [eax + 0xc]
call sym._wine_dbgstr_an.constprop.0_2
mov dword [esp + 0xc], str.From:__s__unused__n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.XDGSendMail
mov dword [esp + 4], 0x10005038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
jmp 0x100031f9
mov eax, edx
call sym._wine_dbgstr_an.constprop.0_2
mov dword [esp + 0xc], str.Body:__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.XDGSendMail
mov dword [esp + 4], 0x10005038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
mov edx, dword [edi + 8]
jmp 0x10003535
mov eax, edx
call sym._wine_dbgstr_an.constprop.0_2
mov dword [esp + 0xc], str.Subject:__s_n
mov dword [esp + 0x10], eax
mov dword [esp + 8], str.XDGSendMail
mov dword [esp + 4], 0x10005038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
mov edx, dword [edi + 4]
jmp 0x10003509
mov dword [esp + 0xc], str.Executing_xdg_email__parameters:_n
mov dword [esp + 8], str.XDGSendMail
mov dword [esp + 4], 0x10005038
mov dword [esp], 3
call sym._wine_dbg_log.constprop.0_2
jmp 0x1000355a