Function at 0x43fa03
Capabilities:
Check if file exists
Print debug messages
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x220
push edi
mov dword [ebp - 0x218], ecx
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x43faee
mov ecx, dword [ebp + 8]
push ecx
call fcn.0043fcdf
add esp, 4
mov dword [ebp - 0xc], eax
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x21c], edx
mov eax, dword [ebp - 0x21c]
sub eax, 1
mov dword [ebp - 0x21c], eax
cmp dword [ebp - 0x21c], 3
ja case.default.0x43fa5f
mov ecx, dword [ebp - 0x21c]
jmp dword [ecx*4 + 0x43fcbf]
cmp dword [ebp - 0xc], 0x5408
jne 0x43fa79
mov eax, 1
jmp 0x43fcb8
jmp case.default.0x43fa5f
cmp dword [ebp - 0xc], 0x12608
jne 0x43faa3
push 0x513858
mov edx, dword [ebp + 8]
push edx
call fcn.0043f93d
add esp, 8
test eax, eax
je 0x43faa3
mov eax, 1
jmp 0x43fcb8
jmp case.default.0x43fa5f
cmp dword [ebp - 0xc], 0x3f08
jne 0x43fab8
mov eax, 1
jmp 0x43fcb8
jmp case.default.0x43fa5f
cmp dword [ebp - 0xc], 0x10608
jne case.default.0x43fa5f
push str.1__0__0__1007
mov eax, dword [ebp + 8]
push eax
call fcn.0043f93d
add esp, 8
test eax, eax
je case.default.0x43fa5f
mov eax, 1
jmp 0x43fcb8
mov ecx, dword [ebp + 8]
push ecx
call fcn.0043f7b2
add esp, 4
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 4], 0
push 0
push 0x80
push 2
push 0
push 3
push 0xc0000000
mov edx, dword [ebp + 8]
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xffffffff
jne 0x43fb6e
mov byte [ebp - 0x110], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x10f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.write_resource_CreateFile_failed___last_error_is__d
push 0x104
lea eax, [ebp - 0x110]
push eax
call fcn.00403f10
add esp, 0x10
lea ecx, [ebp - 0x110]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
xor eax, eax
jmp 0x43fcb8
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x220], edx
mov eax, dword [ebp - 0x220]
sub eax, 1
mov dword [ebp - 0x220], eax
cmp dword [ebp - 0x220], 3
ja case.default.0x43fb99
mov ecx, dword [ebp - 0x220]
jmp dword [ecx*4 + 0x43fccf]
push 0
lea edx, [ebp - 4]
push edx
push 0x5408
push 0x4e7874
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x43fbcf
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x43fcb8
jmp case.default.0x43fb99
push 0
lea edx, [ebp - 4]
push edx
push 0x12608
push 0x4ecc7c
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x43fc46
mov byte [ebp - 0x214], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x213]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.write_resource_WriteFile_failed___last_error_is__d
push 0x104
lea ecx, [ebp - 0x214]
push ecx
call fcn.00403f10
add esp, 0x10
lea edx, [ebp - 0x214]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x43fcb8
jmp case.default.0x43fb99
push 0
lea ecx, [ebp - 4]
push ecx
push 0x3f08
push 0x50f88c
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x43fc74
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x43fcb8
jmp case.default.0x43fb99
push 0
lea ecx, [ebp - 4]
push ecx
push 0x10608
push 0x4ff284
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne case.default.0x43fb99
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x43fcb8
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 8], 0xffffffff
mov eax, 1
pop edi
mov esp, ebp
pop ebp
ret 8