Function at 0x413a90
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf4
mov eax, dword [0x43d064]
xor eax, ebp
mov dword [ebp - 8], eax
push esi
push edi
mov dword [ebp - 0xec], ecx
mov ecx, 0x14
mov esi, str..mailslotkyoceramitalangmonitor_rx
lea edi, [ebp - 0x60]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov ecx, 0x16
mov esi, str..mailslotkyoceramitalangmonitorGDI_rx
lea edi, [ebp - 0xc8]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov dword [ebp - 4], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xd4], 0
lea eax, [ebp - 0xd0]
push eax
lea ecx, [ebp - 4]
push ecx
push 0
push 0
push 2
push 0
call sub.WINSPOOL.DRV_EnumPortsW
test eax, eax
jne 0x413c0f
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x413c0f
cmp dword [ebp - 4], 0
jbe 0x413c0f
mov edx, dword [ebp - 4]
push edx
call fcn.0040377a
add esp, 4
mov dword [ebp - 0xdc], eax
lea eax, [ebp - 0xd0]
push eax
lea ecx, [ebp - 0xcc]
push ecx
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp - 0xdc]
push eax
push 2
push 0
call sub.WINSPOOL.DRV_EnumPortsW
mov dword [ebp - 0xe0], 0
jmp 0x413b7d
mov ecx, dword [ebp - 0xe0]
add ecx, 1
mov dword [ebp - 0xe0], ecx
mov edx, dword [ebp - 0xe0]
cmp edx, dword [ebp - 0xd0]
jge 0x413c00
mov eax, dword [ebp - 0xec]
add eax, 4
push eax
mov ecx, dword [ebp - 0xe0]
imul ecx, ecx, 0x14
mov edx, dword [ebp - 0xdc]
mov eax, dword [edx + ecx]
push eax
call fcn.0040241d
add esp, 8
test eax, eax
jne 0x413bfb
mov ecx, dword [ebp - 0xe0]
imul ecx, ecx, 0x14
mov edx, dword [ebp - 0xdc]
cmp dword [edx + ecx + 4], 0
je 0x413bfb
push str.Monitor_T
mov eax, dword [ebp - 0xe0]
imul eax, eax, 0x14
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ecx + eax + 4]
push edx
call fcn.00401050
add esp, 8
test eax, eax
je 0x413bfb
mov dword [0x43f2bc], 1
jmp 0x413c00
jmp 0x413b6e
mov eax, dword [ebp - 0xdc]
push eax
call fcn.0040354c
add esp, 4
cmp dword [0x43f2bc], 1
jne 0x413c26
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0xf0], ecx
jmp 0x413c2f
lea edx, [ebp - 0x60]
mov dword [ebp - 0xf0], edx
push 0
push 0x80
push 3
push 0
push 1
push 0x40000000
mov eax, dword [ebp - 0xf0]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0xffffffff
je 0x413c8c
push 0
lea ecx, [ebp - 0xd8]
push ecx
mov edx, dword [ebp + 0xc]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x64]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [ebp - 0xe4], eax
mov edx, dword [ebp - 0x64]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0xe4]
jmp 0x413d09
cmp dword [0x43f2bc], 1
jne 0x413ca3
lea eax, [ebp - 0xc8]
mov dword [ebp - 0xf4], eax
jmp 0x413cac
lea ecx, [ebp - 0x60]
mov dword [ebp - 0xf4], ecx
push 0
push 0x80
push 3
push 0
push 1
push 0x40000000
mov edx, dword [ebp - 0xf4]
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0xffffffff
je 0x413d07
push 0
lea eax, [ebp - 0xd8]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x64]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0x64]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0xe8]
jmp 0x413d09
xor eax, eax
pop edi
pop esi
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.00401f44
mov esp, ebp
pop ebp
ret 8