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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4cbbd3
mov eax, dword fs:[0]
push eax
mov eax, 0x11b4
call fcn.004af4d0
mov eax, dword [0x4f86c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, edx
mov ebx, ecx
mov dword [ebp - 0x112c], ebx
sub esp, 0x10
lea eax, [ebp - 0x118]
lea edx, [ebp - 0x11c0]
push 0x104
push eax
push 0
call fcn.0041cdb0
add esp, 0x1c
test eax, eax
je 0x41b606
xor eax, eax
jmp 0x41b9f2
mov ecx, ebx
call fcn.0041d5b0
test eax, eax
jne 0x41b5ff
push ebx
mov edx, fcn.0041da70
lea ecx, [ebp - 0x1154]
call fcn.0041bde0
add esp, 4
push esi
lea ecx, [ebp - 0x1124]
mov dword [ebp - 4], 0
call fcn.0040a1b0
mov byte [ebp - 4], 1
call fcn.00409cd0
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x41b658
push 0x80004005
call fcn.00403440
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1120], eax
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x111c]
push eax
call fcn.0040a0e0
test dword [ebp - 0x11b8], 0x800
je 0x41b718
push 0xfde9
lea edx, [ebp - 0x111c]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x1128]
call fcn.00409ec0
add esp, 4
mov byte [ebp - 4], 4
or ebx, 0xffffffff
mov edx, dword [eax]
mov esi, dword [ebp - 0x1120]
add esi, 0xfffffff0
lea ecx, [edx - 0x10]
cmp ecx, esi
je 0x41b712
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x41b703
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x41b703
call fcn.0040a2d0
mov ebx, eax
or ecx, 0xffffffff
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x41b6ee
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
lea eax, [ebx + 0x10]
mov byte [ebp - 4], 3
mov dword [ebp - 0x1120], eax
or ebx, 0xffffffff
jmp 0x41b796
push dword [edx - 0xc]
lea ecx, [ebp - 0x1120]
push edx
call fcn.0040a580
mov byte [ebp - 4], 3
jmp 0x41b796
push 0
lea edx, [ebp - 0x111c]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1128]
call fcn.00409ec0
add esp, 4
mov byte [ebp - 4], 6
or ebx, 0xffffffff
mov edx, dword [eax]
mov esi, dword [ebp - 0x1120]
add esi, 0xfffffff0
lea ecx, [edx - 0x10]
cmp ecx, esi
je 0x41b792
cmp dword [esi + 0xc], 0
lea edi, [esi + 0xc]
jl 0x41b783
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x41b783
call fcn.0040a2d0
mov ebx, eax
or ecx, 0xffffffff
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x41b775
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
lea eax, [ebx + 0x10]
or ebx, 0xffffffff
mov dword [ebp - 0x1120], eax
jmp 0x41b792
push dword [edx - 0xc]
lea ecx, [ebp - 0x1120]
push edx
call fcn.0040a580
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x1128]
mov ecx, ebx
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b7b5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 2
mov ecx, ebx
mov edx, dword [ebp - 0x111c]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b7d8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ebx, dword [ebp - 0x1120]
cmp dword [ebx - 4], 1
mov eax, dword [ebx - 0xc]
mov dword [ebp - 0x111c], eax
jle 0x41b7ff
push eax
lea ecx, [ebp - 0x1120]
call fcn.0040a8a0
mov ebx, dword [ebp - 0x1120]
sub esp, 8
lea edx, [ebp - 0x1120]
lea ecx, [ebp - 0x1164]
mov edi, ebx
call fcn.0041be00
add esp, 8
xor esi, esi
mov byte [ebp - 4], 7
cmp dword [ebp - 0x111c], esi
jl 0x41b8cc
lea ebx, [ebx]
movzx eax, word [ebx + esi*2]
test ax, ax
je 0x41b8a3
cmp eax, 0x5c
je 0x41b843
cmp eax, 0x2f
jne 0x41b898
xor eax, eax
mov word [ebx + esi*2], ax
test edi, edi
jne 0x41b851
xor ecx, ecx
jmp 0x41b865
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41b856
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x1124]
call fcn.0041bd10
push 1
push 0x4e6770
lea ecx, [ebp - 0x1124]
call fcn.0041bd10
push 0
push dword [ebp - 0x1124]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea edi, [esi + 1]
lea edi, [ebx + edi*2]
inc esi
cmp esi, dword [ebp - 0x111c]
jle 0x41b830
jmp 0x41b8cc
test edi, edi
jne 0x41b8ab
xor ecx, ecx
jmp 0x41b8bf
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41b8b0
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea ecx, [ebp - 0x1124]
call fcn.0041bd10
cmp word [edi], 0
jne 0x41b8dc
mov esi, 1
jmp 0x41b993
push 0
push 0
push 2
push 0
push 0
push 0x40000000
push dword [ebp - 0x1124]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
jne 0x41b905
xor esi, esi
jmp 0x41b993
mov edx, dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x1148]
push edi
call fcn.0041bde0
mov ecx, dword [ebp - 0x112c]
lea edx, [ebp - 0x1118]
mov byte [ebp - 4], 8
call fcn.0041d7d0
mov esi, eax
add esp, 4
test esi, esi
js 0x41b986
mov ebx, dword [sym.imp.KERNEL32.dll_WriteFile]
je 0x41ba0e
push 0
lea eax, [ebp - 0x111c]
mov dword [ebp - 0x111c], 0
push eax
push esi
lea eax, [ebp - 0x1118]
push eax
push edi
call ebx
test eax, eax
je 0x41b986
cmp dword [ebp - 0x111c], esi
jne 0x41b986
push ecx
mov ecx, dword [ebp - 0x112c]
lea edx, [ebp - 0x1118]
call fcn.0041d7d0
mov esi, eax
add esp, 4
test esi, esi
jns 0x41b93b
xor esi, esi
lea ecx, [ebp - 0x1148]
call fcn.0041be20
lea ecx, [ebp - 0x1164]
call fcn.0041bee0
mov byte [ebp - 4], 1
or ebx, 0xffffffff
mov edx, dword [ebp - 0x1120]
mov ecx, ebx
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x41b9c4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov edi, dword [ebp - 0x1124]
add edi, 0xfffffff0
lea eax, [edi + 0xc]
lock xadd dword [eax], ebx
dec ebx
test ebx, ebx
jg 0x41b9e5
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
lea ecx, [ebp - 0x1154]
call fcn.0041be80
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004a768e
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x113c]
push eax
mov eax, dword [ebp - 0x11b0]
push eax
shr eax, 0x10
push eax
call dword [sym.imp.KERNEL32.dll_DosDateTimeToFileTime]
lea eax, [ebp - 0x1134]
push eax
lea eax, [ebp - 0x113c]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFileTimeToFileTime]
lea eax, [ebp - 0x1134]
push eax
push eax
push eax
push edi
call dword [sym.imp.KERNEL32.dll_SetFileTime]
mov esi, 1
jmp 0x41b988