Function at 0x4014af
Capabilities:
Read .ini file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x334
push edi
mov dword [ebp - 0x334], ecx
mov eax, dword [0x417b14]
and eax, 0x400
test eax, eax
jne 0x4014d2
jmp 0x40174e
cmp dword [ebp + 0xc], 0
jne 0x4014dd
jmp 0x40174e
push 0x100
push 0
lea ecx, [ebp - 0x324]
push ecx
call fcn.0040b250
add esp, 0xc
mov edx, dword [ebp + 8]
push edx
push str.Info_u
lea eax, [ebp - 0x220]
push eax
call fcn.0040b887
add esp, 0xc
push str.c:LogInfo.ini
push 0x100
lea ecx, [ebp - 0x324]
push ecx
push 0x417830
lea edx, [ebp - 0x220]
push edx
push str.LogInfos
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov al, byte [0x417834]
mov byte [ebp - 0x200], al
mov ecx, 0x7f
xor eax, eax
lea edi, [ebp - 0x1ff]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x224], 0
push 0x4130e0
lea ecx, [ebp - 0x324]
push ecx
call fcn.0040b7eb
add esp, 8
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x224], 0
je 0x4015ad
mov edx, dword [ebp - 0x224]
push edx
call fcn.0040b770
add esp, 4
test eax, eax
je 0x4015ad
mov eax, dword [ebp - 0x224]
push eax
push str.LogInfo:__s___
lea ecx, [ebp - 0x200]
push ecx
call fcn.0040b887
add esp, 0xc
jmp 0x4015c5
mov edx, dword [ebp + 8]
push edx
push str.LogInfo:_code__u___
lea eax, [ebp - 0x200]
push eax
call fcn.0040b887
add esp, 0xc
mov dword [ebp - 0x32c], 0
jmp 0x4015e0
mov ecx, dword [ebp - 0x32c]
add ecx, 1
mov dword [ebp - 0x32c], ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x32c]
cmp eax, dword [edx]
jae 0x4016ba
cmp dword [ebp - 0x32c], 0
je 0x40160e
push 0x41310c
lea ecx, [ebp - 0x200]
push ecx
call fcn.0040b690
add esp, 8
cmp dword [ebp - 0x224], 0
je 0x40162c
push 0x413110
push 0
call fcn.0040b7eb
add esp, 8
mov dword [ebp - 0x224], eax
cmp dword [ebp - 0x224], 0
je 0x401683
mov edx, dword [ebp - 0x224]
push edx
call fcn.0040b770
add esp, 4
test eax, eax
je 0x401683
mov eax, dword [ebp - 0x32c]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4 + 4]
push edx
mov eax, dword [ebp - 0x224]
push eax
push str._s__0x_x
lea ecx, [ebp - 0x200]
push ecx
call fcn.0040b770
add esp, 4
lea edx, [ebp + eax - 0x200]
push edx
call fcn.0040b887
add esp, 0x10
jmp 0x4016b5
mov eax, dword [ebp - 0x32c]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + eax*4 + 4]
push edx
push str.0x_x
lea eax, [ebp - 0x200]
push eax
call fcn.0040b770
add esp, 4
lea ecx, [ebp + eax - 0x200]
push ecx
call fcn.0040b887
add esp, 0xc
jmp 0x4015d1
push 0x413128
lea edx, [ebp - 0x200]
push edx
call fcn.0040b690
add esp, 8
push 0
push 0x20
push 4
push 0
push 1
push 0x40000000
push str.c:DrvLog.txt
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x328], eax
cmp dword [ebp - 0x328], 0xffffffff
je 0x40174e
push 2
push 0
push 0
mov eax, dword [ebp - 0x328]
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp - 0x330], 0
push 0
lea ecx, [ebp - 0x330]
push ecx
lea edx, [ebp - 0x200]
push edx
call fcn.0040b770
add esp, 4
push eax
lea eax, [ebp - 0x200]
push eax
mov ecx, dword [ebp - 0x328]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [ebp - 0x328]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
pop edi
mov esp, ebp
pop ebp
ret 8