Function at 0x1400dcf70
Capabilities:
Create directory
Delete file
Read .ini file
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
push rdi
mov eax, 0x5270
call fcn.1401da720
sub rsp, rax
mov qword [rsp + 0x5178], 0xfffffffffffffffe
mov rax, qword [0x1402aa5c0]
xor rax, rsp
mov qword [rsp + 0x5268], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x10ac], eax
lea rax, [rsp + 0x5290]
mov qword [rsp + 0x1098], rax
mov r9, qword [rsp + 0x1098]
mov r8, qword [rsp + 0x5288]
mov edx, 0x2000
lea rcx, [rsp + 0x10b0]
call fcn.14004eb50
mov qword [rsp + 0x1098], 0
cmp dword [0x1404bda18], 0
jne 0x1400dd01a
mov dword [0x1404bda18], 1
lea rcx, [0x1404bdaa0]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [0x1404bdaa0]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov r8d, 0x3e8
lea rdx, [rsp + 0x870]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dx, 0x2e
lea rcx, [rsp + 0x870]
call fcn.140001460
mov rdx, rax
xor eax, eax
mov word [rdx], ax
lea rdx, [0x14021b0a0]
lea rcx, [rsp + 0x870]
call fcn.1400a99b0
lea r9, [rsp + 0x870]
mov r8d, 1
lea rdx, [0x14021b0b0]
lea rcx, [0x14021b0c0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rsp + 0x10a8], eax
lea r9, [rsp + 0x870]
mov r8d, 0x1e
lea rdx, [0x14021b0d0]
lea rcx, [0x14021b0e8]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rsp + 0x108c], eax
cmp dword [rsp + 0x10a8], 0
jne 0x1400dd0d8
lea rcx, [0x1404bdaa0]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1400dd9a0
cmp dword [rsp + 0x108c], 0
jg 0x1400dd0f4
lea rcx, [0x1404bdaa0]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1400dd9a0
lea rcx, [rsp + 0x1080]
call fcn.14000e290
mov dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov edx, dword [rsp + 0x108c]
lea rcx, [rsp + 0x10a0]
call fcn.14004ee30
mov r8, qword [rsp + 0x10a0]
lea rdx, [rsp + 0x1078]
lea rcx, [rsp + 0x1080]
call fcn.14004edf0
lea rcx, [rsp + 0x840]
call fcn.1400767b0
nop
lea rcx, [rsp + 0x50d0]
call fcn.140001000
mov qword [rsp + 0x5180], rax
mov rax, qword [rsp + 0x5180]
mov qword [rsp + 0x5188], rax
lea r8, str.LogLog_.txt
mov rdx, qword [rsp + 0x5188]
lea rcx, [rsp + 0x50d8]
call fcn.1400010b0
mov qword [rsp + 0x5190], rax
mov rax, qword [rsp + 0x5190]
mov qword [rsp + 0x5198], rax
mov rcx, qword [rsp + 0x5198]
call fcn.14000f8f0
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x840]
call fcn.1400768b4
mov dword [rsp + 0x1088], eax
lea rcx, [rsp + 0x50d8]
call fcn.140001490
nop
lea rcx, [rsp + 0x50d0]
call fcn.140001490
cmp dword [rsp + 0x1088], 0
je 0x1400dd28e
lea rcx, [rsp + 0x840]
call fcn.1400764bc
mov dword [rsp + 0x1088], eax
lea rcx, [rsp + 0x50b8]
call fcn.14001e2b0
lea rdx, [rsp + 0x50b8]
lea rcx, [rsp + 0x840]
call fcn.14007666c
mov rdx, qword [rsp + 0x1078]
lea rcx, [rsp + 0x50b8]
call fcn.14004edb0
movzx eax, al
test eax, eax
je 0x1400dd289
lea rdx, [rsp + 0x50e0]
lea rcx, [rsp + 0x840]
call fcn.140076d08
mov qword [rsp + 0x51a0], rax
mov rcx, qword [rsp + 0x51a0]
call fcn.14000f8f0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea rcx, [rsp + 0x50e0]
call fcn.140001490
jmp 0x1400dd1e9
lea rcx, [rsp + 0x840]
call fcn.1400763e8
lea rcx, [rsp + 0x50e8]
call fcn.140001000
mov qword [rsp + 0x51a8], rax
mov rax, qword [rsp + 0x51a8]
mov qword [rsp + 0x51b0], rax
lea r8, str.LogFatal_.txt
mov rdx, qword [rsp + 0x51b0]
lea rcx, [rsp + 0x50f0]
call fcn.1400010b0
mov qword [rsp + 0x51b8], rax
mov rax, qword [rsp + 0x51b8]
mov qword [rsp + 0x51c0], rax
mov rcx, qword [rsp + 0x51c0]
call fcn.14000f8f0
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x840]
call fcn.1400768b4
mov dword [rsp + 0x1088], eax
lea rcx, [rsp + 0x50f0]
call fcn.140001490
nop
lea rcx, [rsp + 0x50e8]
call fcn.140001490
cmp dword [rsp + 0x1088], 0
je 0x1400dd3db
lea rcx, [rsp + 0x840]
call fcn.1400764bc
mov dword [rsp + 0x1088], eax
lea rcx, [rsp + 0x50c0]
call fcn.14001e2b0
lea rdx, [rsp + 0x50c0]
lea rcx, [rsp + 0x840]
call fcn.14007666c
mov rdx, qword [rsp + 0x1078]
lea rcx, [rsp + 0x50c0]
call fcn.14004edb0
movzx eax, al
test eax, eax
je 0x1400dd3d6
lea rdx, [rsp + 0x50f8]
lea rcx, [rsp + 0x840]
call fcn.140076d08
mov qword [rsp + 0x51c8], rax
mov rcx, qword [rsp + 0x51c8]
call fcn.14000f8f0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea rcx, [rsp + 0x50f8]
call fcn.140001490
jmp 0x1400dd336
lea rcx, [rsp + 0x840]
call fcn.1400763e8
lea rcx, [rsp + 0x1090]
call fcn.140002de0
nop
lea rcx, [rsp + 0x5100]
call fcn.14000e290
lea r8, str._H:_M:_S
lea rdx, [rsp + 0x5108]
mov rcx, rax
call fcn.14000c960
mov qword [rsp + 0x51d0], rax
mov rax, qword [rsp + 0x51d0]
mov qword [rsp + 0x51d8], rax
lea r9, [rsp + 0x10b0]
mov r8, qword [rsp + 0x51d8]
mov r8, qword [r8]
lea rdx, [0x14021b158]
lea rcx, [rsp + 0x1090]
call fcn.140002c70
nop
lea rcx, [rsp + 0x5108]
call fcn.140001490
cmp dword [rsp + 0x10ac], 0
je 0x1400dd567
lea rcx, [0x14021b168]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd r8, eax
lea rdx, [0x14021b188]
lea rcx, [rsp + 0x10b0]
call fcn.1400ab814
test eax, eax
jne 0x1400dd567
mov edx, dword [rsp + 0x10ac]
lea rcx, [rsp + 0x5110]
call fcn.140029d30
mov qword [rsp + 0x51e0], rax
mov rax, qword [rsp + 0x51e0]
mov qword [rsp + 0x51e8], rax
lea rcx, [rsp + 0x5118]
call fcn.14000e290
lea r8, [0x14021b1a8]
lea rdx, [rsp + 0x5120]
mov rcx, rax
call fcn.14000c960
mov qword [rsp + 0x51f0], rax
mov rax, qword [rsp + 0x51f0]
mov qword [rsp + 0x51f8], rax
mov rax, qword [rsp + 0x51e8]
mov rax, qword [rax]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x10ac]
mov dword [rsp + 0x20], eax
lea r9, [rsp + 0x10b0]
mov r8, qword [rsp + 0x51f8]
mov r8, qword [r8]
lea rdx, str._s__s_reason:_0x_x__s
lea rcx, [rsp + 0x1090]
call fcn.140002c70
nop
lea rcx, [rsp + 0x5120]
call fcn.140001490
nop
lea rcx, [rsp + 0x5110]
call fcn.140001490
mov r8d, 2
lea rdx, [rsp + 0x5130]
lea rcx, [rsp + 0x1090]
call fcn.140006a60
mov qword [rsp + 0x5200], rax
lea rdx, [0x14021b1ec]
mov rcx, qword [rsp + 0x5200]
call fcn.140006d90
mov byte [rsp + 0x5128], al
lea rcx, [rsp + 0x5130]
call fcn.140001490
movzx edx, byte [rsp + 0x5128]
test edx, edx
je 0x1400dd5d2
lea rdx, [0x14021b1f4]
lea rcx, [rsp + 0x1090]
call fcn.1400060d0
lea rcx, [rsp + 0x50b0]
call fcn.140002de0
nop
xor eax, eax
mov word [rsp + 0x40], ax
lea rdi, [rsp + 0x42]
xor eax, eax
mov ecx, 0x7fe
rep stosb byte [rdi], al
mov r8d, 0x400
lea rdx, [rsp + 0x40]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov dx, VarDateFromDisp
lea rcx, [rsp + 0x40]
call fcn.140001460
mov rdx, rax
xor eax, eax
mov word [rdx], ax
lea r8, str.Log
mov edx, 0x400
lea rcx, [rsp + 0x40]
call fcn.1400aa190
xor edx, edx
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea rcx, [rsp + 0x5138]
call fcn.14000e290
lea r8, [0x14021b210]
lea rdx, [rsp + 0x5140]
mov rcx, rax
call fcn.14000c960
mov qword [rsp + 0x5208], rax
mov rax, qword [rsp + 0x5208]
mov qword [rsp + 0x5210], rax
mov r9, qword [rsp + 0x5210]
mov r9, qword [r9]
lea r8, [rsp + 0x40]
lea rdx, [0x14021b228]
lea rcx, [rsp + 0x50b0]
call fcn.140002c70
nop
lea rcx, [rsp + 0x5140]
call fcn.140001490
mov qword [rsp + 0x1070], 0
lea rcx, [rsp + 0x50b0]
call fcn.14000f8f0
lea r8, [0x14021b244]
mov rdx, rax
lea rcx, [rsp + 0x1070]
call fcn.1400aa374
cmp qword [rsp + 0x1070], 0
je 0x1400dd7bf
lea rcx, [rsp + 0x1090]
call fcn.14000f8f0
mov rdx, rax
lea rcx, [rsp + 0x5148]
call fcn.140002e10
mov qword [rsp + 0x5218], rax
mov rax, qword [rsp + 0x5218]
mov qword [rsp + 0x5220], rax
lea rcx, [rsp + 0x1090]
call fcn.14000f8f0
mov rdx, rax
lea rcx, [rsp + 0x5150]
call fcn.140002e10
mov qword [rsp + 0x5228], rax
mov rax, qword [rsp + 0x5228]
mov qword [rsp + 0x5230], rax
mov rcx, qword [rsp + 0x5220]
call fcn.140002ec0
mov rcx, rax
call fcn.1400a98c0
mov rdi, rax
mov rcx, qword [rsp + 0x5230]
call fcn.140002ec0
mov r9, qword [rsp + 0x1070]
mov r8d, 1
mov rdx, rdi
mov rcx, rax
call fcn.1400acb98
nop
lea rcx, [rsp + 0x5150]
call fcn.140002ea0
nop
lea rcx, [rsp + 0x5148]
call fcn.140002ea0
mov rcx, qword [rsp + 0x1070]
call fcn.1400aa608
lea rcx, [0x14021b250]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd r8, eax
lea rdx, str._ERROR_
lea rcx, [rsp + 0x10b0]
call fcn.1400ab814
test eax, eax
jne 0x1400dd969
lea rcx, [rsp + 0x5158]
call fcn.14000e290
lea r8, [0x14021b290]
lea rdx, [rsp + 0x5160]
mov rcx, rax
call fcn.14000c960
mov qword [rsp + 0x5238], rax
mov rax, qword [rsp + 0x5238]
mov qword [rsp + 0x5240], rax
mov r9, qword [rsp + 0x5240]
mov r9, qword [r9]
lea r8, [rsp + 0x40]
lea rdx, [0x14021b2a8]
lea rcx, [rsp + 0x50b0]
call fcn.140002c70
nop
lea rcx, [rsp + 0x5160]
call fcn.140001490
mov qword [rsp + 0x50c8], 0
lea rcx, [rsp + 0x50b0]
call fcn.14000f8f0
lea r8, [0x14021b2c8]
mov rdx, rax
lea rcx, [rsp + 0x50c8]
call fcn.1400aa374
cmp qword [rsp + 0x50c8], 0
je 0x1400dd969
lea rcx, [rsp + 0x1090]
call fcn.14000f8f0
mov rdx, rax
lea rcx, [rsp + 0x5168]
call fcn.140002e10
mov qword [rsp + 0x5248], rax
mov rax, qword [rsp + 0x5248]
mov qword [rsp + 0x5250], rax
lea rcx, [rsp + 0x1090]
call fcn.14000f8f0
mov rdx, rax
lea rcx, [rsp + 0x5170]
call fcn.140002e10
mov qword [rsp + 0x5258], rax
mov rax, qword [rsp + 0x5258]
mov qword [rsp + 0x5260], rax
mov rcx, qword [rsp + 0x5250]
call fcn.140002ec0
mov rcx, rax
call fcn.1400a98c0
mov rdi, rax
mov rcx, qword [rsp + 0x5260]
call fcn.140002ec0
mov r9, qword [rsp + 0x50c8]
mov r8d, 1
mov rdx, rdi
mov rcx, rax
call fcn.1400acb98
nop
lea rcx, [rsp + 0x5170]
call fcn.140002ea0
nop
lea rcx, [rsp + 0x5168]
call fcn.140002ea0
mov rcx, qword [rsp + 0x50c8]
call fcn.1400aa608
lea rcx, [0x1404bdaa0]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
lea rcx, [rsp + 0x50b0]
call fcn.140001490
nop
lea rcx, [rsp + 0x1090]
call fcn.140001490
nop
lea rcx, [rsp + 0x840]
call fcn.14007680c
mov rcx, qword [rsp + 0x5268]
xor rcx, rsp
call fcn.1400a8790
add rsp, 0x5270
pop rdi
ret