Function at 0x1003e450
Capabilities:
Get hostname

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1009876b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x440
push ebx
mov ebx, dword [ebp + 8]
test ebx, ebx
push esi
push edi
je 0x1003e7cc
push str.BGN_FCI
push 2
call fcn.1006ac00
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov dword [ebx], ecx
mov dword [ebx + 4], 0xd
mov edx, dword [eax + 0x6c]
mov dword [ebx + 0x474], edx
lea esi, [eax + 8]
lea edi, [ebx + 0x410]
mov ecx, 0x19
rep movsd dword es:[edi], dword [esi]
lea esi, [eax + 0x70]
lea edi, [ebx + 0x478]
mov ecx, 0x19
rep movsd dword es:[edi], dword [esi]
lea esi, [eax + 0xd8]
lea edi, [ebx + 0x4dc]
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edx, [eax + 0x11e]
mov esi, dword [edx]
lea ecx, [ebx + 0x1722]
mov dword [ecx], esi
mov esi, dword [edx + 4]
mov dword [ecx + 4], esi
mov esi, dword [edx + 8]
mov dword [ecx + 8], esi
mov esi, dword [edx + 0xc]
mov dword [ecx + 0xc], esi
mov edx, dword [edx + 0x10]
mov dword [ecx + 0x10], edx
lea esi, [eax + 0x132]
lea edx, [eax + 0x182]
lea edi, [ebx + 0x1736]
mov ecx, 0xa
rep movsd dword es:[edi], dword [esi]
lea esi, [eax + 0x15a]
lea edi, [ebx + 0x175e]
mov ecx, 0xa
rep movsd dword es:[edi], dword [esi]
mov esi, dword [edx]
lea ecx, [ebx + 0x1786]
mov dword [ecx], esi
mov esi, dword [edx + 4]
mov dword [ecx + 4], esi
mov esi, dword [edx + 8]
mov dword [ecx + 8], esi
mov esi, dword [edx + 0xc]
mov dword [ecx + 0xc], esi
mov dx, word [edx + 0x10]
mov word [ecx + 0x10], dx
mov ecx, dword [eax + 0x194]
mov dword [ebx + 0x1798], ecx
lea esi, [eax + 0x198]
lea edi, [ebx + 0x179c]
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea esi, [eax + 0x1ca]
lea edi, [ebx + 0x17ce]
mov ecx, 0xc
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
xor eax, eax
mov byte [esp + 0x28], 0
mov ecx, 0xf
lea edi, [esp + 0x29]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
add esp, 8
lea edx, [esp + 0x1c]
stosb byte es:[edi], al
push edx
lea eax, [esp + 0x24]
push eax
mov dword [esp + 0x24], 0x40
call dword [sym.imp.KERNEL32.dll_GetComputerNameA]
call fcn.1008cdb1
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x14], eax
xor edx, edx
lea eax, [ebx + 0x70e]
mov dword [esp + 0x454], edx
lea esi, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1003e5e0
sub eax, esi
inc eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x10], edx
lea esi, [ebx + 0x2040]
jmp 0x1003e600
mov edx, dword [esp + 0x10]
mov edi, edi
xor eax, eax
mov ecx, 0xfa
lea edi, [esp + 0x60]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x18]
sub eax, edx
cmp eax, 0x3e7
mov edi, eax
jl 0x1003e621
mov edi, 0x3e7
push edi
lea eax, [ebx + edx + 0x70e]
push eax
lea ecx, [esp + 0x68]
push ecx
call fcn.10077eba
mov edx, dword [esp + 0x1c]
mov ecx, dword [ebx]
add esp, 0xc
test ecx, ecx
lea eax, [edx + edi + 1]
mov dword [esp + 0x10], eax
je 0x1003e6de
lea eax, [ebx + 0x17ce]
push eax
lea eax, [ebx + 0x179c]
push eax
mov eax, dword [ebx + 0x1798]
push esi
lea edx, [esp + 0x2c]
push edx
push 0x100f08d0
push eax
mov edx, dword [ebx + 0x474]
lea eax, [ebx + 0x1786]
push eax
lea eax, [ebx + 0x175e]
push eax
lea eax, [ebx + 0x1736]
push eax
lea eax, [ebx + 0x1722]
push eax
lea eax, [ebx + 0x170e]
push eax
lea eax, [ebx + 0x4dc]
push eax
lea eax, [ebx + 0x478]
push eax
push edx
mov edx, dword [ebx + 0x40c]
lea eax, [ebx + 0x410]
push eax
lea eax, [ebx + 0x50e]
push eax
lea eax, [esp + 0xa0]
push eax
push edx
mov edx, dword [ebx + 4]
lea eax, [ebx + 0xc]
push eax
mov eax, dword [ebx + 8]
push eax
push edx
push ecx
push 0x100a0da8
lea eax, [esp + 0x70]
push eax
jmp 0x1003e763
push 0x100f07ca
push 0x100f0798
push esi
lea ecx, [esp + 0x2c]
push ecx
push 0x100f08d0
mov dword [ebx], 9
mov edx, dword [0x100f0794]
push edx
push 0x100f0782
push 0x100f075a
push 0x100f0732
mov edx, dword [ebx + 0x40c]
push 0x100f071e
lea eax, [ebx + 0x170e]
push eax
push 0x100f06d8
lea eax, [ebx + 0x478]
push eax
mov eax, dword [ebx + 0x474]
push eax
lea eax, [ebx + 0x410]
push eax
lea eax, [ebx + 0x50e]
push eax
lea ecx, [esp + 0xa0]
push ecx
mov ecx, dword [ebx + 4]
push edx
lea eax, [ebx + 0xc]
push eax
mov eax, dword [ebx + 8]
push eax
push ecx
push 9
push 0x100a0da8
lea edx, [esp + 0x70]
push edx
call fcn.10002d50
mov edi, dword [esp + 0x74]
add esp, 0x60
push edi
push str.F_C____s
push 2
call fcn.1006ac00
push 0
push 1
push edi
push 1
call fcn.1003d3a0
push str.END_F_C_I
push 2
call fcn.1006ac00
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
add esp, 0x24
cmp eax, ecx
jle 0x1003e5fa
lea eax, [edi - 0x10]
mov dword [esp + 0x454], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x1003e7cc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov ecx, dword [esp + 0x44c]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret