Function at 0x40a440
Capabilities:
Get hostname

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x9d4
push ebx
xor ebx, ebx
push esi
push edi
xor eax, eax
mov byte [esp + 0x18], bl
mov ecx, 0x271
lea edi, [esp + 0x19]
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
mov edi, dword [ebp + 8]
cmp edi, ebx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x14], ebx
je 0x40a779
mov eax, dword [ebp + 0xc]
cmp eax, ebx
je 0x40a779
push 0x417264
push eax
call fcn.0040c618
mov esi, eax
add esp, 8
cmp esi, ebx
jne 0x40a4bb
call fcn.0040c9cd
mov eax, dword [eax]
push str.Failed_to_open_the_initialization_file.
push eax
push 3
push 1
push edi
call fcn.0040bd80
add esp, 0x14
mov eax, 0xfffffffc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 2
push ebx
push esi
call fcn.0040c573
push esi
call fcn.0040c4a3
push 0
push 0
push esi
mov ebx, eax
call fcn.0040c573
add esp, 0x1c
cmp ebx, 1
jge 0x40a504
push esi
call fcn.0040c2f0
push str.Invalid_initialization_file.
push 0xfffffffffffffff6
push 3
push 3
push edi
call fcn.0040bd80
add esp, 0x18
mov eax, 0xfffffff6
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea edi, [ebx + 0xa]
push edi
call fcn.0040c292
mov edx, eax
add esp, 4
test edx, edx
mov dword [esp + 0x10], edx
push esi
jne 0x40a543
call fcn.0040c2f0
mov ecx, dword [ebp + 8]
push str.Memory_allocation_error_during_the_reading_of_the_intialization_fie.
push 0xfffffffffffffff3
push 3
push 3
push ecx
call fcn.0040bd80
add esp, 0x18
mov eax, 0xfffffff3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, edi
mov edi, edx
mov edx, ecx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
push ebx
rep stosb byte es:[edi], al
mov edi, dword [esp + 0x18]
push 1
push edi
call fcn.0040c19f
push esi
mov ebx, eax
call fcn.0040c2f0
push ebx
push edi
lea eax, [esp + 0x28]
push eax
push str.Password
call fcn.00401000
add esp, 0x24
test eax, eax
jne 0x40a5fd
mov edx, dword [esp + 0xc]
test edx, edx
je 0x40a5fd
mov ecx, 0x271
lea edi, [esp + 0x18]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
movsx ecx, byte [edx]
push ecx
xor esi, esi
call fcn.0040cc56
add esp, 4
test eax, eax
je 0x40a5d6
jmp 0x40a5b0
cmp esi, 0x9c5
jae 0x40a5d6
mov eax, dword [esp + 0xc]
mov dl, byte [esi + eax]
mov byte [esp + esi + 0x18], dl
movsx eax, byte [esi + eax + 1]
inc esi
push eax
call fcn.0040cc56
add esp, 4
test eax, eax
jne 0x40a5b0
push 0xf
lea ecx, [esp + 0x1c]
push str.NewKaseyaAgent
push ecx
call fcn.0040c830
add esp, 0xc
test eax, eax
jne 0x40a613
mov edx, dword [ebp + 8]
mov dword [edx + 0x23c], 1
jmp 0x40a613
push str.Failed_to_determine_if_initialization_file_may_be_updated.
push eax
mov eax, dword [ebp + 8]
push 3
push 3
push eax
call fcn.0040bd80
add esp, 0x14
mov ecx, dword [esp + 0x10]
push ebx
push ecx
lea edx, [esp + 0x14]
push edx
push str.User_Name
call fcn.00401000
add esp, 0x10
test eax, eax
je 0x40a64a
push str.Failed_to_determine_groupid_from_initialization_file.
push eax
mov eax, dword [ebp + 8]
push 1
push 3
push eax
call fcn.0040bd80
add esp, 0x14
jmp 0x40a6f9
mov edx, dword [esp + 0xc]
test edx, edx
je 0x40a6f9
xor eax, eax
mov ecx, 0x271
lea edi, [esp + 0x18]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov al, byte [edx]
xor esi, esi
cmp al, 0x2e
jne 0x40a6f9
inc edx
mov dword [esp + 0xc], edx
movsx ecx, byte [edx]
push ecx
call fcn.0040cc95
add esp, 4
test eax, eax
jne 0x40a6c1
mov edx, dword [esp + 0xc]
movsx eax, byte [esi + edx]
push eax
call fcn.0040cc1c
add esp, 4
test eax, eax
jne 0x40a6c1
cmp esi, 0x9c5
jae 0x40a6c1
mov eax, dword [esp + 0xc]
mov cl, byte [esi + eax]
mov byte [esp + esi + 0x18], cl
movsx edx, byte [esi + eax + 1]
inc esi
push edx
call fcn.0040cc95
add esp, 4
test eax, eax
je 0x40a686
lea eax, [esp + 0x18]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x40a6c8
sub eax, edx
cmp eax, 1
jbe 0x40a6f9
mov esi, dword [ebp + 8]
push 0x50
lea eax, [esp + 0x1c]
push eax
lea ecx, [esi + 0x2c4]
push ecx
call fcn.0040c870
add esp, 0xc
mov dword [esi + 0x2c0], 5
mov edx, dword [esp + 0x10]
push edx
call fcn.0040bef2
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
lea edi, [eax + 0x102]
push edi
lea ecx, [eax + 0xcf]
push ecx
add eax, 0x9c
push eax
push edx
call fcn.00401080
mov esi, eax
add esp, 0x14
test esi, esi
je 0x40a74b
mov eax, dword [ebp + 8]
push str.Failed_to_get_Adminstrator_credentials.
push esi
push 3
push 3
push eax
call fcn.0040bd80
add esp, 0x14
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [edi], 0
jne 0x40a764
lea ecx, [esp + 0x14]
push ecx
push edi
mov dword [esp + 0x1c], 0x33
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
mov edx, dword [ebp + 8]
push edx
call fcn.0040a3c0
add esp, 4
mov esi, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xfffffff8
pop ebx
mov esp, ebp
pop ebp
ret