Function at 0x41a780
Capabilities:
Create directory
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x850
mov eax, dword [0x449260]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov ebx, edx
mov dword [ebp - 0x840], eax
mov dword [ebp - 0x844], ecx
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor edx, edx
push 0x40e
mov dword [ebp - 0x850], eax
push edx
lea eax, [ebp - 0x41a]
push eax
mov word [ebp - 0x41c], dx
call fcn.00427c90
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenW]
add esp, 0xc
push esi
call edi
test eax, eax
jne 0x41a835
cmp word [0x44be48], ax
je 0x41a7f6
push 0x44be48
push 0x208
jmp 0x41a839
push 0x208
lea edx, [ebp - 0x41c]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x41c]
push 0x5c
push eax
call fcn.0042109c
add esp, 8
test eax, eax
je 0x41a848
lea ecx, [ebp - 0x41c]
sub eax, ecx
sar eax, 1
xor edx, edx
mov word [ebp + eax*2 - 0x41a], dx
jmp 0x41a848
push esi
add eax, eax
push eax
lea ecx, [ebp - 0x41c]
push ecx
call fcn.00422e8e
add esp, 0xc
lea edx, [ebp - 0x41c]
push edx
call edi
cmp word [ebp + eax*2 - 0x41e], 0x5c
lea eax, [ebp + eax*2 - 0x41c]
je 0x41a86b
mov ecx, 0x5c
mov word [eax], cx
push 0
lea edx, [ebp - 0x41c]
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x41a88f
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x41ab39
xor eax, eax
mov dword [ebp - 0x83c], eax
mov dword [ebp - 0x838], eax
mov dword [ebp - 0x834], eax
mov dword [ebp - 0x830], eax
lea eax, [ebp - 0x83c]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov eax, dword [ebp + 0x10]
dec eax
je 0x41a8e6
dec eax
je 0x41a8da
dec eax
je 0x41a8ce
mov dword [ebp - 0x84c], str.NULL
jmp 0x41a8f0
mov dword [ebp - 0x84c], str.ERROR
jmp 0x41a8f0
mov dword [ebp - 0x84c], str.WARN
jmp 0x41a8f0
mov dword [ebp - 0x84c], str.INFO
mov ecx, dword [ebp - 0x840]
push ecx
call edi
test eax, eax
jne 0x41a907
mov dword [ebp - 0x840], str.LogRecord
mov edx, dword [ebp - 0x844]
push edx
call edi
test eax, eax
jne 0x41a91e
mov dword [ebp - 0x844], 0x443bc0
xor eax, eax
push 0x40e
push eax
lea ecx, [ebp - 0x82a]
push ecx
mov word [ebp - 0x82c], ax
call fcn.00427c90
movzx eax, word [ebp - 0x836]
mov edx, dword [ebp - 0x844]
movzx ecx, word [ebp - 0x83a]
push edx
movzx edx, word [ebp - 0x83c]
push eax
mov eax, dword [ebp - 0x840]
push ecx
push edx
push eax
lea ecx, [ebp - 0x41c]
push ecx
push str._s_s_04d_02d_02d_s
lea edx, [ebp - 0x82c]
call fcn.0041abc0
push 0x443c38
lea edx, [ebp - 0x82c]
push edx
lea eax, [ebp - 0x848]
push eax
mov dword [ebp - 0x848], 0
call fcn.00422630
add esp, 0x34
cmp dword [ebp - 0x848], 0
je 0x41ab2c
push ebx
call edi
push 0x44bc40
mov esi, eax
call edi
lea eax, [esi + eax + 2]
lea esi, [eax + eax]
xor ecx, ecx
mov eax, esi
mov edx, 2
mul edx
seto cl
mov dword [ebp - 0x840], esi
neg ecx
or ecx, eax
push ecx
call fcn.0042101c
mov esi, eax
mov eax, dword [ebp - 0x840]
push eax
push 0
push esi
mov dword [ebp - 0x844], esi
call fcn.00427c90
push ebx
push 0x44bc40
push str._s__s
push esi
call fcn.00422929
add esp, 0x20
cmp word [0x44bc40], 0
mov dword [ebp - 0x840], esi
jne 0x41aa1d
add esi, 2
mov dword [ebp - 0x840], esi
push ebx
call edi
push str.__s___d__02d__02d__02d:_02d:_02d__std_err:_d__t__s__r_n
mov esi, eax
call edi
add esi, eax
xor ecx, ecx
lea edi, [esi + esi]
mov eax, edi
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0042101c
push edi
mov esi, eax
push 0
push esi
call fcn.00427c90
mov eax, dword [ebp - 0x840]
movzx edx, word [ebp - 0x830]
mov ecx, dword [ebp - 0x850]
push eax
movzx eax, word [ebp - 0x832]
push ecx
movzx ecx, word [ebp - 0x834]
push edx
movzx edx, word [ebp - 0x836]
push eax
movzx eax, word [ebp - 0x83a]
push ecx
movzx ecx, word [ebp - 0x83c]
push edx
mov edx, dword [ebp - 0x84c]
push eax
push ecx
push edx
push str.__s___d__02d__02d__02d:_02d:_02d__std_err:_d__t__s__r_n
push esi
call fcn.00422929
add esp, 0x3c
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push esi
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov ebx, eax
lea eax, [ebx + 1]
push eax
call fcn.0042101c
mov edi, eax
lea eax, [ebx + 1]
push eax
push 0
push edi
call fcn.00427c90
add esp, 0x10
push 0
push 0
push ebx
push edi
push 0xffffffffffffffff
push esi
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov eax, dword [ebp - 0x848]
push eax
push 1
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push edi
call fcn.004227ce
push edi
call fcn.00420fa6
mov ecx, dword [ebp - 0x848]
push ecx
call fcn.004228b5
push esi
call fcn.00420fa6
mov edx, dword [ebp - 0x844]
push edx
call fcn.00420fa6
add esp, 0x20
mov eax, dword [ebp - 0x850]
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00420fb1
mov esp, ebp
pop ebp
ret