Function at 0x43a650
Capabilities:
Print debug messages
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb0c
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, ecx
test esi, esi
jne 0x43a66e
pop edi
xor al, al
pop esi
mov esp, ebp
pop ebp
ret 4
push ebx
push 0x103
lea eax, [ebp - 0x10b]
push 0
push eax
mov byte [ebp - 0x10c], 0
call fcn.0043bbc0
lea ecx, [edi + 0x29c]
push ecx
lea edx, [edi + 0x28c]
push edx
lea ecx, [edi + 0x20c]
push ecx
lea eax, [edi + 0x108]
push eax
lea edx, [ebp - 0x10c]
push str._s_mupdb__s__s__s
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x24
push 0
push 0
push 2
push 0
push 0
push 0x40000000
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x43a721
push str.IniDataFileset::Save___create_file_failure_r_n
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0xfa
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 0
push 2
push 0
push 0
push 0x40000000
lea ecx, [ebp - 0x10c]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x43a721
pop ebx
pop edi
xor al, al
pop esi
mov esp, ebp
pop ebp
ret 4
push 0xff
lea edx, [ebp - 0x30b]
push 0
push edx
mov dword [ebp + 8], 0
mov byte [ebp - 0x30c], 0
call fcn.0043bbc0
push 0xff
lea eax, [ebp - 0x20b]
push 0
push eax
mov byte [ebp - 0x20c], 0
call fcn.0043bbc0
push 0x7ff
lea ecx, [ebp - 0xb0b]
push 0
push ecx
mov byte [ebp - 0xb0c], 0
call fcn.0043bbc0
add esp, 0x24
lea eax, [edi + 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add edi, 4
push edi
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp - 4], eax
call edi
mov edx, dword [str.shared]
mov ecx, dword [str.fileset]
push edx
mov dword [ebp - 8], eax
mov eax, dword [str.location]
push eax
push ecx
lea edx, [ebp - 0xb0c]
push str._s_t_s_t_s_r_n
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
lea eax, [ebp - 0xb0c]
push eax
call edi
push 0
lea ecx, [ebp + 8]
push ecx
push eax
lea edx, [ebp - 0xb0c]
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov ecx, esi
xor edi, edi
call edx
test eax, eax
je 0x43a8a5
mov eax, dword [esi]
mov edx, dword [eax + 0x20]
push 0
lea ecx, [ebp - 0x30c]
push ecx
push edi
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x24]
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x20c]
push ecx
push edi
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 0x3c]
push edi
mov ecx, esi
call edx
and eax, 1
mov ecx, dword [ebp - 8]
jne 0x43a833
mov ecx, dword [ebp - 4]
lea ecx, [ebp + ecx - 0x20c]
lea ebx, [ebx]
mov dl, byte [ecx]
test dl, dl
je 0x43a84b
cmp dl, 0x5c
je 0x43a850
cmp dl, 0x2f
jne 0x43a853
inc ecx
jmp 0x43a840
push eax
push ecx
lea eax, [ebp - 0x30c]
push eax
lea ecx, [ebp - 0xb0c]
push str._s_t_s_t_d_r_n
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x14
lea edx, [ebp - 0xb0c]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push 0
lea ecx, [ebp + 8]
push ecx
push eax
lea edx, [ebp - 0xb0c]
push edx
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [esi]
mov edx, dword [eax + 0x10]
mov ecx, esi
inc edi
call edx
cmp edi, eax
jb 0x43a7f2
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop ebx
pop edi
mov al, 1
pop esi
mov esp, ebp
pop ebp
ret 4