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

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x11fc
call fcn.00517a10
mov eax, dword [0x58f860]
xor eax, ebp
mov dword [ebp - 0xc], eax
push 0
push 0
push 0
push 0
push 0x104
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp - 0x1b0]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.004027b0
add esp, 0x20
test eax, eax
je 0x41c2e9
xor eax, eax
jmp 0x41c7d6
mov eax, dword [ebp + 8]
push eax
call fcn.004032c0
add esp, 4
test eax, eax
je 0x41c300
xor eax, eax
jmp 0x41c7d6
mov ecx, dword [ebp + 8]
push ecx
push fcn.00403780
lea edx, [ebp - 0x154]
push edx
call fcn.0041e460
add esp, 0xc
lea eax, [ebp - 0x154]
mov dword [ebp - 0x130], eax
mov ecx, dword [ebp + 0xc]
push ecx
lea ecx, [ebp - 0x12c]
call fcn.0041c8a0
lea ecx, [ebp - 0x11c0]
call fcn.0040ee90
mov edx, dword [ebp - 0x1a8]
and edx, 0x800
je 0x41c39d
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp - 0x11dc]
call fcn.0041c810
push 0xfde9
lea ecx, [ebp - 0x11dc]
push ecx
lea edx, [ebp - 0x11e0]
push edx
call fcn.0041b890
add esp, 0xc
push eax
lea ecx, [ebp - 0x11c0]
call fcn.0041c8e0
lea ecx, [ebp - 0x11e0]
call fcn.0040f740
lea ecx, [ebp - 0x11dc]
call fcn.0041c850
jmp 0x41c3e9
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp - 0x11e4]
call fcn.0041c810
push 0
lea ecx, [ebp - 0x11e4]
push ecx
lea edx, [ebp - 0x11e8]
push edx
call fcn.0041b890
add esp, 0xc
push eax
lea ecx, [ebp - 0x11c0]
call fcn.0041c8e0
lea ecx, [ebp - 0x11e8]
call fcn.0040f740
lea ecx, [ebp - 0x11e4]
call fcn.0041c850
lea ecx, [ebp - 0x11c0]
call fcn.0041cc20
mov dword [ebp - 0x148], eax
lea ecx, [ebp - 0x11c0]
call fcn.0041cbc0
mov dword [ebp - 0x11bc], eax
mov eax, dword [ebp - 0x11bc]
mov dword [ebp - 0x11b8], eax
push 0xffffffffffffffff
push fcn.0041cc60
lea ecx, [ebp - 0x11c0]
push ecx
lea edx, [ebp - 0x128]
push edx
call fcn.0041e4c0
add esp, 0x10
lea eax, [ebp - 0x128]
mov dword [ebp - 0x11cc], eax
mov dword [ebp - 0x11d0], 0
jmp 0x41c45b
mov ecx, dword [ebp - 0x11d0]
add ecx, 1
mov dword [ebp - 0x11d0], ecx
mov edx, dword [ebp - 0x11d0]
cmp edx, dword [ebp - 0x148]
jg 0x41c525
mov eax, dword [ebp - 0x11d0]
mov ecx, dword [ebp - 0x11bc]
movzx edx, word [ecx + eax*2]
test edx, edx
jne 0x41c498
mov eax, dword [ebp - 0x11b8]
push eax
lea ecx, [ebp - 0x12c]
call fcn.0041c900
jmp 0x41c525
mov ecx, dword [ebp - 0x11d0]
mov edx, dword [ebp - 0x11bc]
movzx eax, word [edx + ecx*2]
cmp eax, 0x5c
je 0x41c4c2
mov ecx, dword [ebp - 0x11d0]
mov edx, dword [ebp - 0x11bc]
movzx eax, word [edx + ecx*2]
cmp eax, 0x2f
jne 0x41c520
xor ecx, ecx
mov edx, dword [ebp - 0x11d0]
mov eax, dword [ebp - 0x11bc]
mov word [eax + edx*2], cx
mov ecx, dword [ebp - 0x11b8]
push ecx
lea ecx, [ebp - 0x12c]
call fcn.0041c900
push 0x54c060
lea ecx, [ebp - 0x12c]
call fcn.0041c900
push 0
lea ecx, [ebp - 0x12c]
call fcn.0041cb20
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov edx, dword [ebp - 0x11d0]
mov eax, dword [ebp - 0x11bc]
lea ecx, [eax + edx*2 + 2]
mov dword [ebp - 0x11b8], ecx
jmp 0x41c44c
mov edx, dword [ebp - 0x11b8]
movzx eax, word [edx]
test eax, eax
jne 0x41c573
mov dword [ebp - 0x11ec], 1
lea ecx, [ebp - 0x128]
call fcn.0041cd20
lea ecx, [ebp - 0x11c0]
call fcn.0040f740
lea ecx, [ebp - 0x12c]
call fcn.0040f740
lea ecx, [ebp - 0x154]
call fcn.0041ccb0
mov eax, dword [ebp - 0x11ec]
jmp 0x41c7d6
push 0
push 0
push 2
push 0
push 0
push 0x40000000
lea ecx, [ebp - 0x12c]
call fcn.0041cb20
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x134], eax
cmp dword [ebp - 0x134], 0xffffffff
jne 0x41c5e4
mov dword [ebp - 0x11f0], 0
lea ecx, [ebp - 0x128]
call fcn.0041cd20
lea ecx, [ebp - 0x11c0]
call fcn.0040f740
lea ecx, [ebp - 0x12c]
call fcn.0040f740
lea ecx, [ebp - 0x154]
call fcn.0041ccb0
mov eax, dword [ebp - 0x11f0]
jmp 0x41c7d6
mov ecx, dword [ebp - 0x134]
push ecx
mov edx, dword [sym.imp.KERNEL32.dll_CloseHandle]
push edx
lea eax, [ebp - 0x144]
push eax
call fcn.0041e4a0
add esp, 0xc
lea ecx, [ebp - 0x144]
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x11b4], 0x1000
mov edx, 1
test edx, edx
je 0x41c740
push 0x1000
lea eax, [ebp - 0x11b0]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.00403350
add esp, 0xc
mov dword [ebp - 0x11d4], eax
cmp dword [ebp - 0x11d4], 0
jge 0x41c69c
mov dword [ebp - 0x11f4], 0
lea ecx, [ebp - 0x144]
call fcn.0041cd00
lea ecx, [ebp - 0x128]
call fcn.0041cd20
lea ecx, [ebp - 0x11c0]
call fcn.0040f740
lea ecx, [ebp - 0x12c]
call fcn.0040f740
lea ecx, [ebp - 0x154]
call fcn.0041ccb0
mov eax, dword [ebp - 0x11f4]
jmp 0x41c7d6
cmp dword [ebp - 0x11d4], 0
jne 0x41c6af
jmp 0x41c740
mov dword [ebp - 0x11d8], 0
push 0
lea edx, [ebp - 0x11d8]
push edx
mov eax, dword [ebp - 0x11d4]
push eax
lea ecx, [ebp - 0x11b0]
push ecx
mov edx, dword [ebp - 0x134]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x41c6ef
mov eax, dword [ebp - 0x11d8]
cmp eax, dword [ebp - 0x11d4]
je 0x41c73b
mov dword [ebp - 0x11f8], 0
lea ecx, [ebp - 0x144]
call fcn.0041cd00
lea ecx, [ebp - 0x128]
call fcn.0041cd20
lea ecx, [ebp - 0x11c0]
call fcn.0040f740
lea ecx, [ebp - 0x12c]
call fcn.0040f740
lea ecx, [ebp - 0x154]
call fcn.0041ccb0
mov eax, dword [ebp - 0x11f8]
jmp 0x41c7d6
jmp 0x41c617
lea ecx, [ebp - 8]
push ecx
movzx edx, word [ebp - 0x1a0]
push edx
mov eax, dword [ebp - 0x1a0]
shr eax, 0x10
push eax
call dword [sym.imp.KERNEL32.dll_DosDateTimeToFileTime]
lea ecx, [ebp - 0x11c8]
push ecx
lea edx, [ebp - 8]
push edx
call dword [sym.imp.KERNEL32.dll_LocalFileTimeToFileTime]
lea eax, [ebp - 0x11c8]
push eax
lea ecx, [ebp - 0x11c8]
push ecx
lea edx, [ebp - 0x11c8]
push edx
mov eax, dword [ebp - 0x134]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileTime]
mov dword [ebp - 0x11fc], 1
lea ecx, [ebp - 0x144]
call fcn.0041cd00
lea ecx, [ebp - 0x128]
call fcn.0041cd20
lea ecx, [ebp - 0x11c0]
call fcn.0040f740
lea ecx, [ebp - 0x12c]
call fcn.0040f740
lea ecx, [ebp - 0x154]
call fcn.0041ccb0
mov eax, dword [ebp - 0x11fc]
mov ecx, dword [ebp - 0xc]
xor ecx, ebp
call fcn.00512610
mov esp, ebp
pop ebp
ret