Function at 0x414960
Capabilities:
Get hostname

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x473712
mov eax, dword fs:[0]
push eax
sub esp, 0x6a8
mov eax, dword [0x4936d0]
xor eax, esp
mov dword [esp + 0x670], eax
push ebx
push esi
push edi
mov eax, dword [0x4936d0]
xor eax, esp
push eax
lea eax, [esp + 0x6b8]
mov dword fs:[0], eax
mov ebx, ecx
push 0x467
mov dword [esp + 0x44], ebx
call fcn.00426507
test eax, eax
je 0x4149ee
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x280]
push ecx
mov dword [esp + 0x3c], 0xff
call dword [sym.imp.KERNEL32.dll_GetComputerNameW]
test eax, eax
je 0x4149ee
lea edx, [esp + 0x27c]
push edx
push 0x467
mov ecx, ebx
call fcn.00426507
mov ecx, eax
call fcn.0042661f
push 0x468
mov ecx, ebx
call fcn.00426507
test eax, eax
je 0x414b29
mov eax, dword [0x4ced18]
mov ecx, dword [0x4ced14]
xor edi, edi
push edi
push eax
push ecx
push 0x398
call fcn.004028e0
cmp eax, edi
je 0x414a2c
push 0xa3
call fcn.00402870
jmp 0x414a2e
xor eax, eax
mov ecx, eax
mov dword [esp + 0x78], 0xf
mov dword [esp + 0x74], edi
mov byte [esp + 0x64], 0
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x414a44
sub ecx, esi
push ecx
push eax
lea ecx, [esp + 0x68]
call fcn.00407360
push 1
push 0x486120
lea edx, [esp + 0x68]
push edx
xor eax, eax
mov dword [esp + 0x6cc], edi
call fcn.00415300
mov esi, eax
cmp esi, 0xffffffff
je 0x414aad
lea esp, [esp]
push 2
push 0x486124
push 1
mov eax, esi
lea edi, [esp + 0x6c]
call fcn.00415130
push 1
push 0x486120
mov ecx, edi
lea eax, [esi + 2]
push ecx
call fcn.00415300
mov esi, eax
cmp esi, 0xffffffff
jne 0x414a80
mov ecx, dword [esp + 0x64]
mov edi, 0x10
cmp dword [esp + 0x78], edi
jae 0x414ac0
lea ecx, [esp + 0x64]
lea edx, [esp + 0x44]
push edx
call fcn.00402c30
mov esi, 8
mov byte [esp + 0x6c0], 1
cmp dword [eax + 0x18], esi
jb 0x414ae1
mov eax, dword [eax + 4]
jmp 0x414ae4
add eax, 4
push eax
push 0x468
mov ecx, ebx
call fcn.00426507
mov ecx, eax
call fcn.0042661f
cmp dword [esp + 0x5c], esi
jb 0x414b0b
mov eax, dword [esp + 0x48]
push eax
call fcn.0041d58d
add esp, 4
mov dword [esp + 0x6c0], 0xffffffff
cmp dword [esp + 0x78], edi
jb 0x414b29
mov ecx, dword [esp + 0x64]
push ecx
call fcn.0041d58d
add esp, 4
push 0x462
mov ecx, ebx
call fcn.00426507
test eax, eax
je 0x414c38
call fcn.0041dff0
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x414b57
push 0x80004005
call fcn.00401020
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x30], eax
mov esi, 0x10
mov dword [esp + 0x6c0], 2
call fcn.0041cf30
mov esi, eax
cmp esi, 0x400
mov dword [esp + 0x34], esi
jl 0x414bae
fild dword [esp + 0x34]
sub esp, 8
lea ecx, [esp + 0x38]
fmul qword [0x486a90]
fstp qword [esp]
push str._0.1f_GB
push ecx
call fcn.00401be0
add esp, 0x10
jmp 0x414bc1
push esi
lea edx, [esp + 0x34]
push str._d_MB
push edx
call fcn.00401be0
add esp, 0xc
mov edi, dword [esp + 0x30]
push edi
push 0x462
mov ecx, ebx
call fcn.00426507
mov ecx, eax
call fcn.0042661f
cmp esi, 0x1f0
jle 0x414be5
push 3
jmp 0x414bfc
cmp esi, 0xf0
jle 0x414bf1
push 2
jmp 0x414bfc
cmp esi, 0x70
jle 0x414bfa
push 1
jmp 0x414bfc
push 0
push 0x466
mov ecx, ebx
call fcn.00426507
push eax
call fcn.004146f0
lea eax, [edi - 0x10]
add esp, 8
mov dword [esp + 0x6c0], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414c38
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x461
mov ecx, ebx
call fcn.00426507
test eax, eax
je 0x414d45
call fcn.0041dff0
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x414c66
push 0x80004005
call fcn.00401020
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x30], eax
mov dword [esp + 0x6c0], 3
call fcn.0041d250
mov esi, eax
cmp esi, 0x400
mov dword [esp + 0x34], esi
jl 0x414cb8
fild dword [esp + 0x34]
sub esp, 8
lea ecx, [esp + 0x38]
fmul qword [0x486a90]
fstp qword [esp]
push str._0.1f_GB
push ecx
call fcn.00401be0
add esp, 0x10
jmp 0x414ccb
push esi
lea edx, [esp + 0x34]
push str._d_MB
push edx
call fcn.00401be0
add esp, 0xc
mov edi, dword [esp + 0x30]
push edi
push 0x461
mov ecx, ebx
call fcn.00426507
mov ecx, eax
call fcn.0042661f
cmp esi, 0xb54
jle 0x414cef
push 3
jmp 0x414d09
cmp esi, 0x76c
jle 0x414cfb
push 2
jmp 0x414d09
cmp esi, 0x3e8
jle 0x414d07
push 1
jmp 0x414d09
push 0
push 0x465
mov ecx, ebx
call fcn.00426507
push eax
call fcn.004146f0
lea eax, [edi - 0x10]
add esp, 8
mov dword [esp + 0x6c0], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x414d45
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x460
mov ecx, ebx
call fcn.00426507
test eax, eax
je 0x414eff
call fcn.0041dff0
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x414d73
push 0x80004005
call fcn.00401020
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x30], eax
mov dword [esp + 0x6c0], 4
call fcn.0041d2c0
fstp dword [esp + 0x34]
call fcn.0041d2d0
fstp dword [esp + 0x38]
mov esi, 0x10
call fcn.0041cf30
push 0x400
lea ecx, [esp + 0x280]
push 0
push ecx
mov edi, eax
call fcn.0043ecf0
add esp, 0xc
lea esi, [esp + 0x44]
call fcn.0041d290
cmp dword [eax + 0x18], 0x10
jb 0x414dd7
mov eax, dword [eax + 4]
jmp 0x414dda
add eax, 4
push 0x200
lea edx, [esp + 0x280]
push edx
push 0xffffffffffffffff
push eax
push 8
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
setne byte [esp + 0x3f]
cmp dword [esp + 0x5c], 0x10
jb 0x414e0f
mov eax, dword [esp + 0x48]
push eax
call fcn.0041d58d
add esp, 4
call fcn.0041d2d0
sub esp, 8
fstp qword [esp]
call fcn.0041d2c0
sub esp, 8
cmp byte [esp + 0x4f], 0
fstp qword [esp]
je 0x414e48
lea ecx, [esp + 0x28c]
push ecx
lea edx, [esp + 0x44]
push 0x486148
push edx
call fcn.00401be0
add esp, 0x1c
jmp 0x414e5a
lea eax, [esp + 0x40]
push 0x486178
push eax
call fcn.00401be0
add esp, 0x18
mov esi, dword [esp + 0x30]
push esi
push 0x460
mov ecx, ebx
call fcn.00426507
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextW]
fld dword [0x486a24]
fcom dword [esp + 0x34]
fnstsw ax
test ah, 0x41
jp 0x414ebf
fcomp dword [esp + 0x38]
fnstsw ax
test ah, 0x41
jp 0x414eb6
call fcn.0041d4f0
test al, al
je 0x414eb6
cmp edi, 0x1f0
jle 0x414ea6
push 3
jmp 0x414ec3
test al, al
je 0x414eb6
cmp edi, 0xf0
jle 0x414eb6
push 2
jmp 0x414ec3
cmp edi, 0x70
jle 0x414ec1
push 1
jmp 0x414ec3
fstp st(0)
push 0
push 0x464
mov ecx, ebx
call fcn.00426507
push eax
call fcn.004146f0
lea eax, [esi - 0x10]
add esp, 8
mov dword [esp + 0x6c0], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x414eff
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0x45f
mov ecx, ebx
call fcn.00426507
test eax, eax
je 0x4150c7
call fcn.0041dff0
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x414f2d
push 0x80004005
call fcn.00401020
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x30], eax
mov dword [esp + 0x6c0], 5
call fcn.0041d3f0
fstp dword [esp + 0x34]
call fcn.0041d4b0
push 0x200
lea ecx, [esp + 0x80]
mov edi, eax
push 0
push ecx
mov dword [esp + 0x44], edi
call fcn.0043ecf0
add esp, 0xc
lea esi, [esp + 0x44]
call fcn.0041d2e0
cmp dword [eax + 0x18], 0x10
jb 0x414f87
mov eax, dword [eax + 4]
jmp 0x414f8a
add eax, 4
push 0x100
lea edx, [esp + 0x80]
push edx
push 0xffffffffffffffff
push eax
push 8
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
setne bl
cmp dword [esp + 0x5c], 0x10
jb 0x414fbd
mov eax, dword [esp + 0x48]
push eax
call fcn.0041d58d
add esp, 4
fld dword [esp + 0x34]
sub esp, 8
fstp qword [esp]
mov dword [esp + 0x64], 0xf
mov dword [esp + 0x60], 0
mov byte [esp + 0x50], 0
push edi
test bl, bl
je 0x414ffd
lea ecx, [esp + 0x88]
push ecx
lea edx, [esp + 0x40]
push str._s_x__d
push edx
call fcn.00401be0
add esp, 0x18
jmp 0x41500f
lea eax, [esp + 0x3c]
push str.core_x__d
push eax
call fcn.00401be0
add esp, 0x14
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x40]
push ebx
push 0x45f
mov ecx, esi
call fcn.00426507
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextW]
fild dword [esp + 0x38]
call fcn.0046daf0
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fmul dword [esp + 0x34]
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
fcom qword [0x486a88]
fnstsw ax
test ah, 0x41
jne 0x415063
cmp edi, 1
jle 0x415063
fstp st(0)
push 3
jmp 0x41508b
fld dword [0x486a80]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x415078
fstp st(0)
push 2
jmp 0x41508b
fcomp qword [0x486a78]
fnstsw ax
test ah, 0x41
jne 0x415089
push 1
jmp 0x41508b
push 0
push 0x463
mov ecx, esi
call fcn.00426507
push eax
call fcn.004146f0
lea eax, [ebx - 0x10]
add esp, 8
mov dword [esp + 0x6c0], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4150c7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov esi, dword [esp + 0x40]
mov eax, dword [esi + 0x20]
call fcn.0040c6a0
mov ecx, esi
call fcn.0041ef5f
mov ecx, dword [esp + 0x6b8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x670]
xor ecx, esp
call fcn.0043bc1b
mov esp, ebp
pop ebp
ret