Function at 0x4016f0
Capabilities:
Create directory
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5386bc
mov eax, dword fs:[0]
push eax
sub esp, 0x164
mov eax, dword [0x592830]
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 ebx, edx
push 0x540eac
push ecx
mov dword [ebp - 4], 0
call fcn.004ec5bd
mov esi, eax
add esp, 8
mov dword [ebp - 0x144], esi
test esi, esi
je 0x401aeb
lea ecx, [ebp - 0x144]
call fcn.004015e0
push 2
push 0
push esi
mov edi, eax
call fcn.004ec744
add esp, 0xc
push esi
call fcn.004ecb1c
add esp, 4
mov dword [ebp - 0x16c], eax
push 0
push 0
push esi
call fcn.004ec744
add esp, 0xc
push 0
push edi
push esi
call fcn.004ec744
add esp, 0xc
xor eax, eax
push esi
push 0x1e
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x15c], eax
mov word [ebp - 0x158], ax
mov dword [ebp - 0x156], eax
mov dword [ebp - 0x152], eax
mov dword [ebp - 0x14e], eax
mov dword [ebp - 0x14a], eax
lea eax, [ebp - 0x164]
push 1
push eax
mov edi, 8
mov dword [ebp - 0x164], 0
call fcn.004ecd47
add esp, 0x10
cmp eax, 0x1e
jne 0x401aeb
cmp di, word [ebp - 0x15c]
jne 0x401a93
push 0x80
lea eax, [ebp - 0x90]
push 0
push eax
call fcn.004f2670
movzx edi, word [ebp - 0x14a]
add esp, 0xc
lea eax, [ebp - 0x90]
push esi
push edi
push 1
push eax
call fcn.004ecd47
add esp, 0x10
cmp edi, eax
jne 0x401aeb
lea eax, [ebp - 0x90]
push str.Auto.ini
push eax
call fcn.004ece00
add esp, 8
test eax, eax
jne 0x40188b
lea eax, [ebp - 0x90]
push str.CompsVer
push eax
call fcn.004ece00
add esp, 8
test eax, eax
jne 0x40188b
lea eax, [ebp - 0x90]
push 0x540ecc
push eax
call fcn.004ece00
add esp, 8
test eax, eax
jne 0x40188b
movzx eax, word [ebp - 0x148]
add eax, dword [ebp - 0x152]
push 1
push eax
push esi
call fcn.004ec744
add esp, 0xc
jmp 0x401a7e
lea eax, [ebp - 0x90]
mov cl, byte [eax]
test cl, cl
je 0x4018a2
cmp cl, 0x5c
jne 0x40189f
mov byte [eax], 0x2f
inc eax
jne 0x401891
mov dword [ebp - 0x12c], 0xf
mov dword [ebp - 0x130], 0
mov byte [ebp - 0x140], 0
lea eax, [ebp - 0x90]
push 0x540ed8
push eax
mov byte [ebp - 4], 1
call fcn.004ece00
mov edi, eax
add esp, 8
test edi, edi
je 0x401988
nop
cmp dword [ebp - 0x12c], 0x10
push 0x80
lea ecx, [ebp - 0x140]
cmovae ecx, dword [ebp - 0x140]
lea eax, [ebp - 0x110]
push 0
mov dword [ebp - 0x130], 0
push eax
mov byte [ecx], 0
call fcn.004f2670
lea ecx, [ebp - 0x90]
add esp, 0xc
mov eax, edi
sub eax, ecx
push eax
mov eax, ecx
push eax
lea eax, [ebp - 0x110]
push eax
call fcn.004f0080
add esp, 0xc
lea eax, [ebp - 0x110]
push eax
push ebx
lea eax, [ebp - 0x140]
push 0x540edc
push eax
call fcn.00404bf0
add esp, 0x10
cmp dword [ebp - 0x12c], 0x10
lea eax, [ebp - 0x140]
cmovae eax, dword [ebp - 0x140]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea eax, [edi + 1]
push 0x540ed8
push eax
call fcn.004ece00
mov edi, eax
add esp, 8
test edi, edi
jne 0x4018e0
mov dword [ebp - 0x114], 0xf
mov dword [ebp - 0x118], 0
mov byte [ebp - 0x128], 0
lea eax, [ebp - 0x90]
push eax
push ebx
lea eax, [ebp - 0x128]
push 0x540edc
push eax
mov byte [ebp - 4], 2
call fcn.00404bf0
mov byte [ebp - 4], 3
cmp dword [ebp - 0x114], 0x10
lea eax, [ebp - 0x128]
cmovae eax, dword [ebp - 0x128]
push 0x540eb0
push eax
call fcn.004ec5bd
mov edi, eax
add esp, 0x18
mov dword [ebp - 0x168], edi
test edi, edi
je 0x401aa2
movzx eax, word [ebp - 0x148]
push 1
push eax
push esi
call fcn.004ec744
mov edx, dword [ebp - 0x152]
add esp, 0xc
lea eax, [ebp - 0x168]
push eax
lea ecx, [ebp - 0x144]
call fcn.00401300
add esp, 4
push edi
test eax, eax
je 0x401a9a
call fcn.004ec63e
add esp, 4
cmp dword [ebp - 0x114], 0x10
jb 0x401a48
push dword [ebp - 0x128]
call fcn.004ebc0b
add esp, 4
mov byte [ebp - 4], 0
cmp dword [ebp - 0x12c], 0x10
mov dword [ebp - 0x114], 0xf
mov dword [ebp - 0x118], 0
mov byte [ebp - 0x128], 0
jb 0x401a7e
push dword [ebp - 0x140]
call fcn.004ebc0b
add esp, 4
push esi
call fcn.004ecb1c
add esp, 4
cmp eax, dword [ebp - 0x16c]
jl 0x401787
mov edi, 1
jmp 0x401aed
call fcn.004ec63e
add esp, 4
cmp dword [ebp - 0x114], 0x10
jb 0x401ab9
push dword [ebp - 0x128]
call fcn.004ebc0b
add esp, 4
cmp dword [ebp - 0x12c], 0x10
mov dword [ebp - 0x114], 0xf
mov dword [ebp - 0x118], 0
mov byte [ebp - 0x128], 0
jb 0x401aeb
push dword [ebp - 0x140]
call fcn.004ebc0b
add esp, 4
xor edi, edi
test esi, esi
je 0x401afa
push esi
call fcn.004ec63e
add esp, 4
mov eax, edi
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.004ebb9e
mov esp, ebp
pop ebp
ret