Function at 0x40c740
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ca7b8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x130
push ebx
push esi
push edi
mov dword [ebp - 4], 0
xor ebx, ebx
xor edi, edi
mov dword [ebp - 0x1c], ebx
xor esi, esi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], esi
push str.rw_n_n
push str.C:SystemIDPersonalID.txt
mov byte [ebp - 4], 1
call fcn.00420fdd
add esp, 8
mov dword [ebp - 0x10], eax
test eax, eax
je 0x40c911
push eax
call fcn.00420546
add esp, 4
test eax, eax
jne 0x40c906
lea esp, [esp]
push dword [ebp - 0x10]
lea eax, [ebp - 0x138]
push 0x7e
push eax
call fcn.00421101
add esp, 0xc
test eax, eax
je 0x40c8f3
xor eax, eax
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
mov word [ebp - 0x34], ax
cmp word [ebp - 0x138], ax
jne 0x40c7ed
xor ecx, ecx
jmp 0x40c805
lea ecx, [ebp - 0x138]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x40c7f6
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x138]
push eax
lea ecx, [ebp - 0x34]
call fcn.00415c10
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 2
cmp eax, edi
jae 0x40c861
cmp ebx, eax
ja 0x40c861
mov ecx, eax
mov eax, 0x2aaaaaab
sub ecx, ebx
imul ecx
sar edx, 2
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp edi, dword [ebp - 0x14]
jne 0x40c84d
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00414f70
mov edi, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x1c]
lea eax, [esi + esi*2]
lea eax, [ebx + eax*8]
test edi, edi
je 0x40c8d5
push eax
mov ecx, edi
call fcn.00413160
jmp 0x40c8d5
cmp edi, esi
jne 0x40c874
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00414f70
mov edi, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x1c]
test edi, edi
je 0x40c8d5
xor eax, eax
mov dword [edi + 0x14], 7
mov dword [edi + 0x10], 0
mov word [edi], ax
cmp dword [ebp - 0x20], 8
jae 0x40c8a9
mov eax, dword [ebp - 0x24]
inc eax
je 0x40c8b5
add eax, eax
push eax
lea eax, [ebp - 0x34]
push eax
push edi
call fcn.004205a0
add esp, 0xc
jmp 0x40c8b5
mov eax, dword [ebp - 0x34]
mov dword [edi], eax
mov dword [ebp - 0x34], 0
mov eax, dword [ebp - 0x24]
mov dword [edi + 0x10], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 0x14], eax
xor eax, eax
mov dword [ebp - 0x20], 7
mov dword [ebp - 0x24], 0
mov word [ebp - 0x34], ax
add edi, 0x18
mov byte [ebp - 4], 1
cmp dword [ebp - 0x20], 8
mov dword [ebp - 0x18], edi
jb 0x40c8f0
push dword [ebp - 0x34]
call fcn.00422587
add esp, 4
mov esi, dword [ebp - 0x14]
push dword [ebp - 0x10]
call fcn.00420546
add esp, 4
test eax, eax
je 0x40c7b0
push dword [ebp - 0x10]
call fcn.00423a38
add esp, 4
mov esi, ebx
cmp ebx, edi
je 0x40c944
jmp 0x40c920
push dword [ebp + 0x18]
cmp dword [ebp + 0x1c], 8
lea eax, [ebp + 8]
push 0
cmovae eax, dword [ebp + 8]
mov ecx, esi
push eax
call fcn.00414c60
cmp eax, 0xffffffff
jne 0x40c96a
add esi, 0x18
cmp esi, edi
jne 0x40c920
push 0
push str.C:SystemID
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0x4ffec4
push str.C:SystemIDPersonalID.txt
call fcn.00420fdd
add esp, 8
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x40c9af
test ebx, ebx
je 0x40ca43
mov esi, ebx
cmp ebx, edi
je 0x40ca3a
lea esp, [esp]
cmp dword [esi + 0x14], 8
jb 0x40c990
push dword [esi]
call fcn.00422587
add esp, 4
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], ax
add esi, 0x18
cmp esi, edi
jne 0x40c980
jmp 0x40ca3a
mov esi, ebx
cmp ebx, edi
je 0x40c9d8
mov ebx, dword [ebp - 0x10]
cmp dword [esi + 0x14], 8
jb 0x40c9c2
mov eax, dword [esi]
jmp 0x40c9c4
mov eax, esi
push ebx
push eax
call fcn.004228fd
add esi, 0x18
add esp, 8
cmp esi, edi
jne 0x40c9b8
mov ebx, dword [ebp - 0x1c]
cmp dword [ebp + 0x1c], 8
lea eax, [ebp + 8]
mov esi, dword [ebp - 0x10]
cmovae eax, dword [ebp + 8]
push esi
push eax
call fcn.004228fd
push esi
push 0x4ffec8
call fcn.004228fd
push esi
call fcn.00423a38
add esp, 0x14
test ebx, ebx
je 0x40ca43
mov esi, ebx
cmp ebx, edi
je 0x40ca3a
jmp 0x40ca10
cmp dword [esi + 0x14], 8
jb 0x40ca20
push dword [esi]
call fcn.00422587
add esp, 4
xor eax, eax
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
mov word [esi], ax
add esi, 0x18
cmp esi, edi
jne 0x40ca10
push ebx
call fcn.00422587
add esp, 4
cmp dword [ebp + 0x1c], 8
jb 0x40ca54
push dword [ebp + 8]
call fcn.00422587
add esp, 4
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret