Function at 0x4049a0
Capabilities:
Get common file path
Get hostname
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7a0
mov eax, dword [0x45d1d4]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x12000
push 0
push 0x45dfe8
call fcn.0040bad0
add esp, 0xc
lea eax, [ebp - 0x298]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
test eax, eax
je 0x404d55
lea edi, [ebp - 0x298]
dec edi
nop dword [eax + eax]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x4049f0
mov ax, word [0x450868]
lea ecx, [ebp - 0x298]
mov word [edi], ax
dec ecx
nop word [eax + eax]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x404a10
mov eax, dword [str.acc.ini]
mov dword [ecx], eax
mov eax, dword [0x4509ec]
mov dword [ecx + 4], eax
lea eax, [ebp - 0x298]
push 0
push eax
call fcn.0042a11a
add esp, 8
cmp eax, 0xffffffff
je 0x404d55
lea eax, [ebp - 0x298]
push eax
call fcn.00401930
add esp, 4
lea eax, [ebp - 0x298]
push eax
push 0
push str.AccountNum
push str.Info
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
mov ebx, eax
mov dword [ebp - 0x7a0], ebx
test ebx, ebx
je 0x404d55
lea eax, [ebp - 0x398]
push eax
call fcn.00404f30
add esp, 4
test eax, eax
je 0x404d55
lea eax, [ebp - 0x398]
push eax
call fcn.00401930
add esp, 4
mov dword [0x46ffe8], 0
xor edi, edi
test ebx, ebx
jle 0x404d38
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
nop dword [eax + eax]
inc edi
lea eax, [ebp - 0x94]
push edi
push 0x450a04
push 0x80
push eax
call fcn.004073d0
lea eax, [ebp - 0x94]
push eax
call fcn.00401930
push 0x100
lea eax, [ebp - 0x194]
push 0
push eax
call fcn.0040bad0
add esp, 0x20
lea eax, [ebp - 0x298]
push eax
push 0x100
lea eax, [ebp - 0x194]
push eax
push 0x4507be
push str.Domain
lea eax, [ebp - 0x94]
push eax
call ebx
lea eax, [ebp - 0x194]
push eax
call fcn.00401930
lea ecx, [ebp - 0x194]
add esp, 4
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x404b38
sub ecx, edx
je 0x404bd4
push 0x400
lea eax, [ebp - 0x798]
push eax
lea eax, [ebp - 0x194]
push eax
call fcn.004033d0
add esp, 0xc
test eax, eax
je 0x404d55
lea ecx, [ebp - 0x798]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x404b73
sub ecx, edx
je 0x404bd4
lea eax, [ebp - 0x798]
push eax
call fcn.00401930
lea eax, [ebp - 0x798]
push eax
lea eax, [ebp - 0x398]
push eax
call fcn.004172a2
add esp, 0xc
test eax, eax
jne 0x404d2c
mov eax, dword [0x46ffe8]
lea ecx, [ebp - 0x798]
lea eax, [eax + eax*8]
shl eax, 6
lea esi, [eax + 0x45e028]
mov eax, ecx
mov edx, esi
sub edx, eax
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x404bc5
jmp 0x404c1e
lea eax, [ebp - 0x79c]
mov dword [ebp - 0x79c], 0x10
push eax
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
test eax, eax
je 0x404d55
mov eax, dword [0x46ffe8]
lea ecx, [ebp - 0x14]
lea eax, [eax + eax*8]
shl eax, 6
lea esi, [eax + 0x45e028]
mov eax, ecx
mov edx, esi
sub edx, eax
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x404c11
push esi
call fcn.00401930
add esp, 4
lea eax, [ebp - 0x298]
push eax
push 0x100
lea eax, [ebp - 0x194]
push eax
push 0x4507be
push str.User
lea eax, [ebp - 0x94]
push eax
call ebx
push 0x400
lea eax, [ebp - 0x798]
push eax
lea eax, [ebp - 0x194]
push eax
call fcn.004033d0
add esp, 0xc
test eax, eax
je 0x404d55
mov eax, dword [0x46ffe8]
lea ecx, [ebp - 0x798]
lea eax, [eax + eax*8]
shl eax, 6
lea esi, [eax + 0x45dfe8]
mov eax, ecx
mov edx, esi
sub edx, eax
nop dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x404c90
push esi
call fcn.00401930
add esp, 4
lea eax, [ebp - 0x298]
push eax
push 0x100
lea eax, [ebp - 0x194]
push eax
push 0x4507be
push str.Password
lea eax, [ebp - 0x94]
push eax
call ebx
push 0x400
lea eax, [ebp - 0x798]
push eax
lea eax, [ebp - 0x194]
push eax
call fcn.004033d0
add esp, 0xc
test eax, eax
je 0x404d55
mov ecx, dword [0x46ffe8]
lea eax, [ebp - 0x798]
lea ecx, [ecx + ecx*8]
shl ecx, 6
lea esi, [ecx + 0x45e128]
mov ecx, eax
mov edx, esi
sub edx, ecx
nop dword [eax]
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [edx + eax - 1], cl
test cl, cl
jne 0x404d10
push esi
call fcn.00401930
add esp, 4
inc dword [0x46ffe8]
cmp edi, dword [ebp - 0x7a0]
jl 0x404ac0
xor eax, eax
cmp eax, dword [0x46ffe8]
pop edi
sbb eax, eax
pop esi
neg eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040acca
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040acca
mov esp, ebp
pop ebp
ret