Function at 0x1400dc610
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.1401d4c90
sub rsp, rax
mov qword [rsp + 0x5178], 0xfffffffffffffffe
mov rax, qword [0x1402a15c0]
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.14004fd00
mov qword [rsp + 0x1098], 0
cmp dword [0x1404b49d8], 0
jne 0x1400dc6ba
mov dword [0x1404b49d8], 1
lea rcx, [0x1404b4a40]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [0x1404b4a40]
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, [0x140214130]
lea rcx, [rsp + 0x870]
call fcn.1400a9444
lea r9, [rsp + 0x870]
mov r8d, 1
lea rdx, [0x140214140]
lea rcx, [0x140214150]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rsp + 0x10a8], eax
lea r9, [rsp + 0x870]
mov r8d, 0x1e
lea rdx, [0x140214160]
lea rcx, [0x140214178]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rsp + 0x108c], eax
cmp dword [rsp + 0x10a8], 0
jne 0x1400dc778
lea rcx, [0x1404b4a40]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1400dd040
cmp dword [rsp + 0x108c], 0
jg 0x1400dc794
lea rcx, [0x1404b4a40]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1400dd040
lea rcx, [rsp + 0x1080]
call fcn.14000edc0
mov dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov edx, dword [rsp + 0x108c]
lea rcx, [rsp + 0x10a0]
call fcn.140050000
mov r8, qword [rsp + 0x10a0]
lea rdx, [rsp + 0x1078]
lea rcx, [rsp + 0x1080]
call fcn.14004ffc0
lea rcx, [rsp + 0x840]
call fcn.140076008
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.140023510
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x840]
call fcn.14007610c
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 0x1400dc92e
lea rcx, [rsp + 0x840]
call fcn.140075d14
mov dword [rsp + 0x1088], eax
lea rcx, [rsp + 0x50b8]
call fcn.14004ffa0
lea rdx, [rsp + 0x50b8]
lea rcx, [rsp + 0x840]
call fcn.140075ec4
mov rdx, qword [rsp + 0x1078]
lea rcx, [rsp + 0x50b8]
call fcn.14004ff60
movzx eax, al
test eax, eax
je 0x1400dc929
lea rdx, [rsp + 0x50e0]
lea rcx, [rsp + 0x840]
call fcn.140076560
mov qword [rsp + 0x51a0], rax
mov rcx, qword [rsp + 0x51a0]
call fcn.140023510
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea rcx, [rsp + 0x50e0]
call fcn.140001490
jmp 0x1400dc889
lea rcx, [rsp + 0x840]
call fcn.140075c40
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.140023510
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x840]
call fcn.14007610c
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 0x1400dca7b
lea rcx, [rsp + 0x840]
call fcn.140075d14
mov dword [rsp + 0x1088], eax
lea rcx, [rsp + 0x50c0]
call fcn.14004ffa0
lea rdx, [rsp + 0x50c0]
lea rcx, [rsp + 0x840]
call fcn.140075ec4
mov rdx, qword [rsp + 0x1078]
lea rcx, [rsp + 0x50c0]
call fcn.14004ff60
movzx eax, al
test eax, eax
je 0x1400dca76
lea rdx, [rsp + 0x50f8]
lea rcx, [rsp + 0x840]
call fcn.140076560
mov qword [rsp + 0x51c8], rax
mov rcx, qword [rsp + 0x51c8]
call fcn.140023510
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea rcx, [rsp + 0x50f8]
call fcn.140001490
jmp 0x1400dc9d6
lea rcx, [rsp + 0x840]
call fcn.140075c40
lea rcx, [rsp + 0x1090]
call fcn.140002db0
nop
lea rcx, [rsp + 0x5100]
call fcn.14000edc0
lea r8, [0x1402141d0]
lea rdx, [rsp + 0x5108]
mov rcx, rax
call fcn.14000e780
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, [0x1402141e8]
lea rcx, [rsp + 0x1090]
call fcn.140002c40
nop
lea rcx, [rsp + 0x5108]
call fcn.140001490
cmp dword [rsp + 0x10ac], 0
je 0x1400dcc07
lea rcx, [0x1402141f8]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd r8, eax
lea rdx, [0x140214218]
lea rcx, [rsp + 0x10b0]
call fcn.1400a939c
test eax, eax
jne 0x1400dcc07
mov edx, dword [rsp + 0x10ac]
lea rcx, [rsp + 0x5110]
call fcn.14002b1b0
mov qword [rsp + 0x51e0], rax
mov rax, qword [rsp + 0x51e0]
mov qword [rsp + 0x51e8], rax
lea rcx, [rsp + 0x5118]
call fcn.14000edc0
lea r8, str._H:_M:_S
lea rdx, [rsp + 0x5120]
mov rcx, rax
call fcn.14000e780
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.140002c40
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, [0x14021427c]
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 0x1400dcc72
lea rdx, [0x140214284]
lea rcx, [rsp + 0x1090]
call fcn.140006000
lea rcx, [rsp + 0x50b0]
call fcn.140002db0
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, [0x140214290]
mov edx, 0x400
lea rcx, [rsp + 0x40]
call fcn.1400aec88
xor edx, edx
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea rcx, [rsp + 0x5138]
call fcn.14000edc0
lea r8, [0x1402142a0]
lea rdx, [rsp + 0x5140]
mov rcx, rax
call fcn.14000e780
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, [0x1402142b8]
lea rcx, [rsp + 0x50b0]
call fcn.140002c40
nop
lea rcx, [rsp + 0x5140]
call fcn.140001490
mov qword [rsp + 0x1070], 0
lea rcx, [rsp + 0x50b0]
call fcn.140023510
lea r8, [0x1402142d4]
mov rdx, rax
lea rcx, [rsp + 0x1070]
call fcn.1400a9d6c
cmp qword [rsp + 0x1070], 0
je 0x1400dce5f
lea rcx, [rsp + 0x1090]
call fcn.140023510
mov rdx, rax
lea rcx, [rsp + 0x5148]
call fcn.140002de0
mov qword [rsp + 0x5218], rax
mov rax, qword [rsp + 0x5218]
mov qword [rsp + 0x5220], rax
lea rcx, [rsp + 0x1090]
call fcn.140023510
mov rdx, rax
lea rcx, [rsp + 0x5150]
call fcn.140002de0
mov qword [rsp + 0x5228], rax
mov rax, qword [rsp + 0x5228]
mov qword [rsp + 0x5230], rax
mov rcx, qword [rsp + 0x5220]
call fcn.140002e90
mov rcx, rax
call fcn.1400a9180
mov rdi, rax
mov rcx, qword [rsp + 0x5230]
call fcn.140002e90
mov r9, qword [rsp + 0x1070]
mov r8d, 1
mov rdx, rdi
mov rcx, rax
call fcn.1400ac454
nop
lea rcx, [rsp + 0x5150]
call fcn.140002e70
nop
lea rcx, [rsp + 0x5148]
call fcn.140002e70
mov rcx, qword [rsp + 0x1070]
call fcn.1400aa000
lea rcx, [0x1402142e0]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd r8, eax
lea rdx, [0x140214300]
lea rcx, [rsp + 0x10b0]
call fcn.1400a939c
test eax, eax
jne 0x1400dd009
lea rcx, [rsp + 0x5158]
call fcn.14000edc0
lea r8, [0x140214320]
lea rdx, [rsp + 0x5160]
mov rcx, rax
call fcn.14000e780
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, [0x140214338]
lea rcx, [rsp + 0x50b0]
call fcn.140002c40
nop
lea rcx, [rsp + 0x5160]
call fcn.140001490
mov qword [rsp + 0x50c8], 0
lea rcx, [rsp + 0x50b0]
call fcn.140023510
lea r8, [0x140214358]
mov rdx, rax
lea rcx, [rsp + 0x50c8]
call fcn.1400a9d6c
cmp qword [rsp + 0x50c8], 0
je 0x1400dd009
lea rcx, [rsp + 0x1090]
call fcn.140023510
mov rdx, rax
lea rcx, [rsp + 0x5168]
call fcn.140002de0
mov qword [rsp + 0x5248], rax
mov rax, qword [rsp + 0x5248]
mov qword [rsp + 0x5250], rax
lea rcx, [rsp + 0x1090]
call fcn.140023510
mov rdx, rax
lea rcx, [rsp + 0x5170]
call fcn.140002de0
mov qword [rsp + 0x5258], rax
mov rax, qword [rsp + 0x5258]
mov qword [rsp + 0x5260], rax
mov rcx, qword [rsp + 0x5250]
call fcn.140002e90
mov rcx, rax
call fcn.1400a9180
mov rdi, rax
mov rcx, qword [rsp + 0x5260]
call fcn.140002e90
mov r9, qword [rsp + 0x50c8]
mov r8d, 1
mov rdx, rdi
mov rcx, rax
call fcn.1400ac454
nop
lea rcx, [rsp + 0x5170]
call fcn.140002e70
nop
lea rcx, [rsp + 0x5168]
call fcn.140002e70
mov rcx, qword [rsp + 0x50c8]
call fcn.1400aa000
lea rcx, [0x1404b4a40]
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.140076064
mov rcx, qword [rsp + 0x5268]
xor rcx, rsp
call fcn.1400a8050
add rsp, 0x5270
pop rdi
ret