Function at 0x140003840
Capabilities:
Create thread
Read file on windows
Write file on windows

Disassembly:
sub rsp, 0x108
mov qword [rsp + 0xf8], rcx
movzx eax, byte [section..data]
and eax, 8
cmp eax, 0
je 0x1400038af
lea rax, section..data
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x7c], 3
mov rcx, qword [rsp + 0xf8]
call sym.debugstr_w
mov rcx, rax
mov rax, rsp
mov qword [rax + 0x20], rcx
lea rdx, section..data
lea r8, str.custom_action_server
lea r9, [0x140008310]
mov ecx, 3
call sym.wine_dbg_log
jmp 0x1400038b4
mov rcx, qword [rsp + 0xf8]
xor eax, eax
mov edx, eax
mov r8d, 0xa
call qword [sym.imp.ucrtbase.dll_wcstol]
mov dword [0x14000a048], eax
cmp eax, 0
jne 0x140003952
jmp 0x1400038e0
movzx eax, byte [section..data]
and eax, 2
cmp eax, 0
je 0x14000393d
lea rax, section..data
mov qword [rsp + 0x70], rax
mov dword [rsp + 0x6c], 1
mov rcx, qword [rsp + 0xf8]
call sym.debugstr_w
mov rcx, rax
mov rax, rsp
mov qword [rax + 0x20], rcx
lea rdx, section..data
lea r8, str.custom_action_server
lea r9, str.Invalid_parameter__s_n
mov ecx, 1
call sym.wine_dbg_log
jmp 0x140003942
mov dword [rsp + 0x104], 1
jmp 0x140003cbb
mov r9d, dword [0x14000a048]
lea rcx, [rsp + 0xa0]
mov rax, rsp
mov qword [rax + 0x20], 0x40
lea r8, str..pipemsica__x__d
mov edx, 0x18
call sym.swprintf
lea rcx, [rsp + 0xa0]
mov edx, 0xc0000000
xor r8d, r8d
xor eax, eax
mov r9d, eax
mov dword [rsp + 0x20], 3
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
call qword [sym.imp.kernel32.dll_CreateFileW]
mov qword [rsp + 0x90], rax
mov rax, 0xffffffffffffffff
cmp qword [rsp + 0x90], rax
jne 0x140003a48
jmp 0x1400039d3
movzx eax, byte [section..data]
and eax, 2
cmp eax, 0
je 0x140003a2b
lea rax, section..data
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x5c], 1
mov rax, qword gs:[0x30]
mov ecx, dword [rax + 0x68]
mov rax, rsp
mov dword [rax + 0x20], ecx
lea rdx, section..data
lea r8, str.custom_action_server
lea r9, str.Failed_to_create_custom_action_server_pipe:__lu_n
mov ecx, 1
call sym.wine_dbg_log
jmp 0x140003a30
mov rax, qword gs:[0x30]
mov eax, dword [rax + 0x68]
mov dword [rsp + 0x104], eax
jmp 0x140003cbb
xor eax, eax
mov ecx, eax
xor edx, edx
call qword [sym.imp.ole32.dll_CoInitializeEx]
mov rcx, qword [rsp + 0x90]
lea rdx, [rsp + 0xe8]
mov r8d, 0x10
lea r9, [rsp + 0x8c]
xor eax, eax
mov qword [rsp + 0x20], 0
call qword [sym.imp.kernel32.dll_ReadFile]
mov ecx, eax
xor eax, eax
cmp ecx, 0
mov byte [rsp + 0x3b], al
je 0x140003aa6
mov eax, dword [rsp + 0x8c]
cmp rax, 0x10
sete al
mov byte [rsp + 0x3b], al
mov al, byte [rsp + 0x3b]
test al, 1
jne 0x140003ab7
jmp 0x140003c3d
xorps xmm1, xmm1
movups xmm0, xmmword [rsp + 0xe8]
pcmpeqb xmm0, xmm1
pmovmskb eax, xmm0
sub eax, 0xffff
setne al
movzx eax, al
cmp eax, 0
jne 0x140003af4
call qword [sym.imp.ole32.dll_CoUninitialize]
mov dword [rsp + 0x104], 0
jmp 0x140003cbb
mov ecx, 0x10
call sym.heap_alloc
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xe8]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xf0]
mov qword [rax + 8], rcx
mov r9, qword [rsp + 0xe0]
xor eax, eax
mov edx, eax
lea r8, [sym.custom_action_thread]
xor eax, eax
mov rcx, rdx
mov dword [rsp + 0x20], 0
mov qword [rsp + 0x28], 0
call qword [sym.imp.kernel32.dll_CreateThread]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0xd8], rax
mov rcx, qword [rsp + 0x90]
lea rdx, [rsp + 0xd8]
mov r8d, 8
lea r9, [rsp + 0x8c]
xor eax, eax
mov qword [rsp + 0x20], 0
call qword [sym.imp.kernel32.dll_WriteFile]
cmp eax, 0
je 0x140003bb5
mov eax, dword [rsp + 0x8c]
cmp rax, 8
je 0x140003c38
jmp 0x140003bba
movzx eax, byte [section..data]
and eax, 2
cmp eax, 0
je 0x140003c12
lea rax, section..data
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x4c], 1
mov rax, qword gs:[0x30]
mov ecx, dword [rax + 0x68]
mov rax, rsp
mov dword [rax + 0x20], ecx
lea rdx, section..data
lea r8, str.custom_action_server
lea r9, str.Failed_to_write_to_custom_action_server_pipe:__lu_n
mov ecx, 1
call sym.wine_dbg_log
jmp 0x140003c17
mov rax, qword [sym.imp.ole32.dll_CoUninitialize]
call rax
mov rax, qword gs:[0x30]
mov eax, dword [rax + 0x68]
mov dword [rsp + 0x104], eax
jmp 0x140003cbb
jmp 0x140003a54
jmp 0x140003c42
movzx eax, byte [section..data]
and eax, 2
cmp eax, 0
je 0x140003c9a
lea rax, section..data
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x3c], 1
mov rax, qword gs:[0x30]
mov ecx, dword [rax + 0x68]
mov rax, rsp
mov dword [rax + 0x20], ecx
lea rdx, section..data
lea r8, str.custom_action_server
lea r9, str.Failed_to_read_from_custom_action_server_pipe:__lu_n
mov ecx, 1
call sym.wine_dbg_log
jmp 0x140003c9f
mov rax, qword [sym.imp.ole32.dll_CoUninitialize]
call rax
mov rax, qword gs:[0x30]
mov eax, dword [rax + 0x68]
mov dword [rsp + 0x104], eax
mov eax, dword [rsp + 0x104]
add rsp, 0x108
ret