Function at 0x403330
Capabilities:
Create directory
Get hostname
Get session user name

Disassembly:
mov eax, dword [0x42af4c]
sub esp, 0x204
test eax, eax
je 0x403344
call fcn.00403ac0
mov eax, dword [0x42af1c]
push ebp
push esi
push edi
test eax, eax
jne 0x40339e
lea eax, [esp + 0xc]
mov byte [0x42ad90], 0
push eax
push 0x42ab08
mov dword [esp + 0x14], 0x80
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
mov edi, 0x42ab08
or ecx, 0xffffffff
xor eax, eax
mov dword [0x42af1c], 1
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x42ae10
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x42ab8c]
push eax
call fcn.004035a0
add esp, 4
test eax, eax
jne 0x4033c9
push str.Cannot_create_invisible_window
call fcn.00402bf0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
add esp, 0x204
ret
mov ecx, dword [0x42af10]
push ecx
call fcn.0040a0c0
push 0
push 1
push 0x42a500
push 0
push str.pm_api
call fcn.0040b4f0
add esp, 0x18
test eax, eax
jne 0x40340a
push str.could_not_establish_home_directory
call fcn.00402bf0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
add esp, 0x204
ret
push 0x42ab90
mov dword [0x42af14], 1
call fcn.00402820
add esp, 4
test eax, eax
jne 0x403470
mov edi, 0x42a500
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov edx, ecx
mov esi, edi
mov edi, 0x42ab90
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, 0x42ab90
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
dec ecx
js 0x403470
mov al, byte [ecx + 0x42ab90]
cmp al, 0x2f
je 0x403466
cmp al, 0x5c
jne 0x40346d
mov byte [ecx + 0x42ab90], 0
dec ecx
jns 0x403458
push 0x42ab90
call fcn.00401000
mov edi, str._print_submit
or ecx, 0xffffffff
xor eax, eax
push 0x42ab90
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x42ab90
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00402820
mov ebp, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
add esp, 8
test eax, eax
jne 0x4034e4
push 0
push 0x42ab90
call ebp
test eax, eax
jne 0x4034e4
push str.Cannot_create_home_dir
call fcn.00402bf0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
add esp, 0x204
ret
lea eax, [esp + 0x10]
push 0x80
push eax
call sub.WSOCK32.dll_gethostname
mov edi, 0x423070
or ecx, 0xffffffff
xor eax, eax
push 0x42ab90
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x42ab90
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x14]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, 0x42ab90
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00402820
add esp, 4
test eax, eax
jne 0x403580
push eax
push 0x42ab90
call ebp
test eax, eax
jne 0x403580
push str.Cannot_create_home_dir
call fcn.00402bf0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
add esp, 0x204
ret
call fcn.00408be0
pop edi
pop esi
mov eax, 1
pop ebp
add esp, 0x204
ret