Function at 0x416180
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x8c
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x64], eax
mov eax, dword [0x4425b8]
test eax, eax
je 0x4162d8
mov eax, dword [0x4425b4]
test eax, eax
je 0x4162d8
lea eax, [ebp - 0x38]
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov dword [esp + 4], 0xffffffff
mov dword [esp], str.debug_options
call fcn.0041be80
test eax, eax
je 0x4161f0
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [ebp - 0x30]
mov dword [esp], eax
call fcn.00416c20
mov ebx, eax
test esi, esi
je 0x4163f0
mov edi, dword [sym.imp.ucrtbase.dll_strcmp]
mov dword [esp + 4], 0x436e60
mov dword [esp], esi
mov dword [ebp - 0x6c], edi
call edi
test eax, eax
jne 0x4162f0
mov byte [ebp - 0x65], 1
mov eax, dword [ebp - 0x64]
mov dword [esp], 0x436e8d
lea edi, [ebp - 0x4c]
lea esi, [ebp - 0x48]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x6c]
call eax
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x60], eax
movzx eax, byte [ebp - 0x65]
not eax
mov byte [ebp - 0x66], al
test ebx, ebx
je 0x4163d8
lea esi, [esi]
nop
mov eax, dword [0x4425b8]
mov edx, dword [eax + 0x10]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov eax, dword [eax + 8]
mov dword [esp], eax
call dword [edx + 4]
test eax, eax
jne 0x416350
mov eax, dword [ebp - 0x70]
test eax, eax
je 0x4163d8
test byte [0x42c7c0], 8
je 0x4161dc
mov eax, dword [ebp - 0x70]
mov dword [esp + 0xc], str.Changed__d_channel_instances_n
mov dword [esp + 8], str.info_wine_dbg_channel
mov dword [esp + 4], 0x42c7c0
mov dword [esp], 3
mov dword [esp + 0x10], eax
call fcn.004148c0
jmp 0x4161dc
mov dword [ebp + 8], str.Cannot_set_get_debug_channels_while_no_process_is_loaded_n
add esp, 0x8c
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.004242a0
mov dword [esp + 4], 0x436e66
mov dword [esp], esi
call edi
test eax, eax
je 0x416408
mov dword [esp + 4], 0x436e6a
mov dword [esp], esi
call edi
test eax, eax
je 0x416411
mov dword [esp + 4], 0x436e6f
mov dword [esp], esi
call edi
mov byte [ebp - 0x65], 8
test eax, eax
je 0x416227
mov dword [esp + 4], esi
mov dword [esp], str.Unknown_debug_class__s_n
call fcn.004242a0
jmp 0x4161dc
cmp dword [ebp - 0x4c], 0x10
jne 0x41628d
cmp byte [ebp - 0x47], 0
je 0x41628d
mov eax, dword [ebp - 0x60]
test eax, eax
je 0x416381
mov eax, dword [ebp - 0x64]
mov dword [esp + 4], eax
lea eax, [ebp - 0x47]
mov dword [esp], eax
mov eax, dword [ebp - 0x6c]
call eax
test eax, eax
jne 0x4163cd
mov ecx, dword [ebp - 0x5c]
movzx edx, byte [ebp - 0x65]
movzx eax, byte [ebp - 0x66]
or dl, byte [ebp - 0x48]
and al, byte [ebp - 0x48]
test ecx, ecx
cmovne eax, edx
mov byte [ebp - 0x48], al
mov eax, dword [0x4425b8]
mov edx, dword [eax + 0x10]
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], 0x10
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov eax, dword [eax + 8]
mov dword [esp], eax
call dword [edx + 8]
test eax, eax
je 0x4163cd
cmp dword [ebp - 0x4c], 0x10
jne 0x4163cd
add dword [ebp - 0x70], 1
add ebx, 0x10
jmp 0x416260
mov eax, dword [ebp - 0x64]
mov dword [esp], str.Unable_to_find_debug_channel__s_n
mov dword [esp + 4], eax
call fcn.004242a0
jmp 0x4161dc
mov eax, dword [sym.imp.ucrtbase.dll_strcmp]
mov byte [ebp - 0x65], 0xff
mov dword [ebp - 0x6c], eax
jmp 0x416227
mov byte [ebp - 0x65], 2
jmp 0x416227
mov byte [ebp - 0x65], 4
jmp 0x416227