Function at 0x1400de020
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.1401e9500
sub rsp, rax
mov qword [rsp + 0x5178], 0xfffffffffffffffe
mov rax, qword [0x1402bd5c0]
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.14004ff80
mov qword [rsp + 0x1098], 0
cmp dword [0x1404d0a58], 0
jne 0x1400de0ca
mov dword [0x1404d0a58], 1
lea rcx, [0x1404d0ae0]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea rcx, [0x1404d0ae0]
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.14000b150
mov rdx, rax
xor eax, eax
mov word [rdx], ax
lea rdx, [0x14022b0d0]
lea rcx, [rsp + 0x870]
call fcn.1400aac14
lea r9, [rsp + 0x870]
mov r8d, 1
lea rdx, [0x14022b0e0]
lea rcx, [0x14022b0f0]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rsp + 0x10a8], eax
lea r9, [rsp + 0x870]
mov r8d, 0x1e
lea rdx, [0x14022b100]
lea rcx, [0x14022b118]
call qword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [rsp + 0x108c], eax
cmp dword [rsp + 0x10a8], 0
jne 0x1400de188
lea rcx, [0x1404d0ae0]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1400dea50
cmp dword [rsp + 0x108c], 0
jg 0x1400de1a4
lea rcx, [0x1404d0ae0]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x1400dea50
lea rcx, [rsp + 0x1080]
call fcn.14000dd70
mov dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
mov edx, dword [rsp + 0x108c]
lea rcx, [rsp + 0x10a0]
call fcn.140050250
mov r8, qword [rsp + 0x10a0]
lea rdx, [rsp + 0x1078]
lea rcx, [rsp + 0x1080]
call fcn.140050210
lea rcx, [rsp + 0x840]
call fcn.1400777f0
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.140050200
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x840]
call fcn.1400778f4
mov dword [rsp + 0x1088], eax
lea rcx, [rsp + 0x50d8]
call fcn.140007060
nop
lea rcx, [rsp + 0x50d0]
call fcn.140007060
cmp dword [rsp + 0x1088], 0
je 0x1400de33e
lea rcx, [rsp + 0x840]
call fcn.1400774fc
mov dword [rsp + 0x1088], eax
lea rcx, [rsp + 0x50b8]
call fcn.14000dd50
lea rdx, [rsp + 0x50b8]
lea rcx, [rsp + 0x840]
call fcn.1400776ac
mov rdx, qword [rsp + 0x1078]
lea rcx, [rsp + 0x50b8]
call fcn.1400501c0
movzx eax, al
test eax, eax
je 0x1400de339
lea rdx, [rsp + 0x50e0]
lea rcx, [rsp + 0x840]
call fcn.140077d48
mov qword [rsp + 0x51a0], rax
mov rcx, qword [rsp + 0x51a0]
call fcn.140050200
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea rcx, [rsp + 0x50e0]
call fcn.140007060
jmp 0x1400de299
lea rcx, [rsp + 0x840]
call fcn.140077428
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.140050200
xor r8d, r8d
mov rdx, rax
lea rcx, [rsp + 0x840]
call fcn.1400778f4
mov dword [rsp + 0x1088], eax
lea rcx, [rsp + 0x50f0]
call fcn.140007060
nop
lea rcx, [rsp + 0x50e8]
call fcn.140007060
cmp dword [rsp + 0x1088], 0
je 0x1400de48b
lea rcx, [rsp + 0x840]
call fcn.1400774fc
mov dword [rsp + 0x1088], eax
lea rcx, [rsp + 0x50c0]
call fcn.14000dd50
lea rdx, [rsp + 0x50c0]
lea rcx, [rsp + 0x840]
call fcn.1400776ac
mov rdx, qword [rsp + 0x1078]
lea rcx, [rsp + 0x50c0]
call fcn.1400501c0
movzx eax, al
test eax, eax
je 0x1400de486
lea rdx, [rsp + 0x50f8]
lea rcx, [rsp + 0x840]
call fcn.140077d48
mov qword [rsp + 0x51c8], rax
mov rcx, qword [rsp + 0x51c8]
call fcn.140050200
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
lea rcx, [rsp + 0x50f8]
call fcn.140007060
jmp 0x1400de3e6
lea rcx, [rsp + 0x840]
call fcn.140077428
lea rcx, [rsp + 0x1090]
call fcn.140002d10
nop
lea rcx, [rsp + 0x5100]
call fcn.14000dd70
lea r8, [0x14022b170]
lea rdx, [rsp + 0x5108]
mov rcx, rax
call fcn.14000d730
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, [0x14022b188]
lea rcx, [rsp + 0x1090]
call fcn.140002ba0
nop
lea rcx, [rsp + 0x5108]
call fcn.140007060
cmp dword [rsp + 0x10ac], 0
je 0x1400de617
lea rcx, [0x14022b198]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd r8, eax
lea rdx, [0x14022b1b8]
lea rcx, [rsp + 0x10b0]
call fcn.1400aab6c
test eax, eax
jne 0x1400de617
mov edx, dword [rsp + 0x10ac]
lea rcx, [rsp + 0x5110]
call fcn.14002b320
mov qword [rsp + 0x51e0], rax
mov rax, qword [rsp + 0x51e0]
mov qword [rsp + 0x51e8], rax
lea rcx, [rsp + 0x5118]
call fcn.14000dd70
lea r8, str._H:_M:_S
lea rdx, [rsp + 0x5120]
mov rcx, rax
call fcn.14000d730
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.140002ba0
nop
lea rcx, [rsp + 0x5120]
call fcn.140007060
nop
lea rcx, [rsp + 0x5110]
call fcn.140007060
mov r8d, 2
lea rdx, [rsp + 0x5130]
lea rcx, [rsp + 0x1090]
call fcn.140006ae0
mov qword [rsp + 0x5200], rax
lea rdx, [0x14022b21c]
mov rcx, qword [rsp + 0x5200]
call fcn.140006e10
mov byte [rsp + 0x5128], al
lea rcx, [rsp + 0x5130]
call fcn.140007060
movzx edx, byte [rsp + 0x5128]
test edx, edx
je 0x1400de682
lea rdx, [0x14022b224]
lea rcx, [rsp + 0x1090]
call fcn.140006080
lea rcx, [rsp + 0x50b0]
call fcn.140002d10
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.14000b150
mov rdx, rax
xor eax, eax
mov word [rdx], ax
lea r8, str.Log
mov edx, 0x400
lea rcx, [rsp + 0x40]
call fcn.1400ab3f4
xor edx, edx
lea rcx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea rcx, [rsp + 0x5138]
call fcn.14000dd70
lea r8, [0x14022b240]
lea rdx, [rsp + 0x5140]
mov rcx, rax
call fcn.14000d730
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, [0x14022b258]
lea rcx, [rsp + 0x50b0]
call fcn.140002ba0
nop
lea rcx, [rsp + 0x5140]
call fcn.140007060
mov qword [rsp + 0x1070], 0
lea rcx, [rsp + 0x50b0]
call fcn.140050200
lea r8, [0x14022b274]
mov rdx, rax
lea rcx, [rsp + 0x1070]
call fcn.1400ab5d8
cmp qword [rsp + 0x1070], 0
je 0x1400de86f
lea rcx, [rsp + 0x1090]
call fcn.140050200
mov rdx, rax
lea rcx, [rsp + 0x5148]
call fcn.140002d40
mov qword [rsp + 0x5218], rax
mov rax, qword [rsp + 0x5218]
mov qword [rsp + 0x5220], rax
lea rcx, [rsp + 0x1090]
call fcn.140050200
mov rdx, rax
lea rcx, [rsp + 0x5150]
call fcn.140002d40
mov qword [rsp + 0x5228], rax
mov rax, qword [rsp + 0x5228]
mov qword [rsp + 0x5230], rax
mov rcx, qword [rsp + 0x5220]
call fcn.140002df0
mov rcx, rax
call fcn.1400aa950
mov rdi, rax
mov rcx, qword [rsp + 0x5230]
call fcn.140002df0
mov r9, qword [rsp + 0x1070]
mov r8d, 1
mov rdx, rdi
mov rcx, rax
call fcn.1400ade24
nop
lea rcx, [rsp + 0x5150]
call fcn.140002dd0
nop
lea rcx, [rsp + 0x5148]
call fcn.140002dd0
mov rcx, qword [rsp + 0x1070]
call fcn.1400ab86c
lea rcx, [0x14022b280]
call qword [sym.imp.KERNEL32.dll_lstrlenW]
movsxd r8, eax
lea rdx, [0x14022b2a0]
lea rcx, [rsp + 0x10b0]
call fcn.1400aab6c
test eax, eax
jne 0x1400dea19
lea rcx, [rsp + 0x5158]
call fcn.14000dd70
lea r8, [0x14022b2c0]
lea rdx, [rsp + 0x5160]
mov rcx, rax
call fcn.14000d730
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, [0x14022b2d8]
lea rcx, [rsp + 0x50b0]
call fcn.140002ba0
nop
lea rcx, [rsp + 0x5160]
call fcn.140007060
mov qword [rsp + 0x50c8], 0
lea rcx, [rsp + 0x50b0]
call fcn.140050200
lea r8, [0x14022b2f8]
mov rdx, rax
lea rcx, [rsp + 0x50c8]
call fcn.1400ab5d8
cmp qword [rsp + 0x50c8], 0
je 0x1400dea19
lea rcx, [rsp + 0x1090]
call fcn.140050200
mov rdx, rax
lea rcx, [rsp + 0x5168]
call fcn.140002d40
mov qword [rsp + 0x5248], rax
mov rax, qword [rsp + 0x5248]
mov qword [rsp + 0x5250], rax
lea rcx, [rsp + 0x1090]
call fcn.140050200
mov rdx, rax
lea rcx, [rsp + 0x5170]
call fcn.140002d40
mov qword [rsp + 0x5258], rax
mov rax, qword [rsp + 0x5258]
mov qword [rsp + 0x5260], rax
mov rcx, qword [rsp + 0x5250]
call fcn.140002df0
mov rcx, rax
call fcn.1400aa950
mov rdi, rax
mov rcx, qword [rsp + 0x5260]
call fcn.140002df0
mov r9, qword [rsp + 0x50c8]
mov r8d, 1
mov rdx, rdi
mov rcx, rax
call fcn.1400ade24
nop
lea rcx, [rsp + 0x5170]
call fcn.140002dd0
nop
lea rcx, [rsp + 0x5168]
call fcn.140002dd0
mov rcx, qword [rsp + 0x50c8]
call fcn.1400ab86c
lea rcx, [0x1404d0ae0]
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
lea rcx, [rsp + 0x50b0]
call fcn.140007060
nop
lea rcx, [rsp + 0x1090]
call fcn.140007060
nop
lea rcx, [rsp + 0x840]
call fcn.14007784c
mov rcx, qword [rsp + 0x5268]
xor rcx, rsp
call fcn.1400a9820
add rsp, 0x5270
pop rdi
ret