Function at 0x4067c0
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4458bf
mov eax, dword fs:[0]
push eax
sub esp, 0x9c
mov eax, dword [0x45c3a4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x5c], ebx
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov dword [ebx], vtable.CRemoteFileInfo.0
xor ecx, ecx
mov dword [ebx + 0x18], 7
mov dword [ebx + 0x14], 0
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x84], edi
mov word [ebx + 4], cx
mov dword [ebp - 4], ecx
xor eax, eax
mov dword [ebx + 0x30], 7
mov dword [ebx + 0x2c], ecx
mov word [ebx + 0x1c], ax
mov dword [ebx + 0x48], 7
mov dword [ebx + 0x44], eax
mov word [ebx + 0x34], cx
lea eax, [ebx + 0x5c]
mov byte [ebp - 4], 2
mov dword [ebp - 0x7c], eax
mov dword [eax], ecx
mov dword [eax + 4], ecx
call fcn.00405240
mov dword [ebx + 0x5c], eax
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x60]
cmp dword [eax + 0x10], 0
jne 0x40688f
mov dword [ebp - 0x60], str.Invalid_base_url
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp - 0x6c]
call fcn.0041bb11
push 0x4589e8
lea eax, [ebp - 0x6c]
push eax
mov dword [ebp - 0x6c], vtable.std::runtime_error.0
call fcn.0041de2b
test edi, edi
jne 0x40689c
mov dword [ebp - 0x60], str.Invalid_file_element
jmp 0x40686e
push str.name
mov ecx, edi
call fcn.004119f0
test eax, eax
jne 0x4068b4
mov dword [ebp - 0x88], eax
jmp 0x4068c2
lea ecx, [eax + 0x10]
call fcn.00410620
mov dword [ebp - 0x88], eax
push str.path
mov ecx, edi
call fcn.004119f0
test eax, eax
je 0x4068da
lea ecx, [eax + 0x10]
call fcn.00410620
mov ecx, dword [ebp - 0x88]
mov dword [ebp - 0x80], eax
test ecx, ecx
je 0x406dd0
test eax, eax
je 0x406dd0
push ecx
lea ecx, [ebp - 0x78]
call fcn.00403fd0
lea edx, [ebp - 0x78]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 4
call fcn.0040f0e0
push eax
lea ecx, [ebx + 4]
call fcn.00402d40
lea ecx, [ebp - 0x28]
call fcn.00401f60
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 3
call fcn.00404030
push dword [ebp - 0x80]
lea ecx, [ebp - 0x78]
call fcn.00403fd0
lea edx, [ebp - 0x78]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 5
call fcn.0040f0e0
push eax
lea ecx, [ebx + 0x1c]
call fcn.00402d40
lea ecx, [ebp - 0x28]
call fcn.00401f60
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 3
call fcn.00404030
push str._SYSTEMDRIVE_KingsKOS_
lea ecx, [ebp - 0x40]
call fcn.00403b10
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x30]
or edx, 0xffffffff
cmp ecx, 0xffffffff
cmovb edx, ecx
cmp dword [ebp - 0x2c], 8
push edx
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
push eax
push ecx
push ecx
lea ecx, [ebx + 0x1c]
call fcn.00407120
test eax, eax
jne 0x4069b9
push 0xffffffffffffffff
push dword [ebp - 0x30]
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebx + 0x1c]
call fcn.00406f80
push eax
lea ecx, [ebx + 0x1c]
call fcn.00402d40
lea ecx, [ebp - 0x28]
call fcn.00401f60
lea edx, [ebx + 0x1c]
lea ecx, [ebp - 0x28]
call fcn.004159b0
push eax
lea ecx, [ebx + 0x1c]
call fcn.00402d40
lea ecx, [ebp - 0x28]
call fcn.00401f60
cmp dword [ebx + 0x14], 0
je 0x406dc1
cmp dword [ebx + 0x2c], 0
je 0x406dc1
lea eax, [ebx + 0x4c]
push eax
push str.major
mov ecx, edi
call fcn.00407870
test eax, eax
jne 0x406dc1
lea eax, [ebx + 0x50]
push eax
push str.minor
mov ecx, edi
call fcn.00407870
test eax, eax
jne 0x406dc1
lea eax, [ebx + 0x54]
push eax
push str.build
mov ecx, edi
call fcn.00407870
test eax, eax
jne 0x406dc1
lea eax, [ebx + 0x58]
push eax
push str.revision
mov ecx, edi
call fcn.00407870
test eax, eax
jne 0x406dc1
push str.DownloadURL
mov ecx, edi
call fcn.00410f40
test eax, eax
je 0x406a99
mov ecx, eax
call fcn.00411a60
test eax, eax
je 0x406a99
push eax
lea ecx, [ebp - 0x78]
call fcn.00403fd0
lea edx, [ebp - 0x78]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 7
call fcn.0040f0e0
push eax
lea ecx, [ebx + 0x34]
call fcn.00402d40
lea ecx, [ebp - 0x28]
call fcn.00401f60
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 6
call fcn.00404030
push str.Hash
mov ecx, edi
call fcn.00410f40
test eax, eax
je 0x406bb1
mov esi, dword [eax + 0x18]
test esi, esi
je 0x406ac8
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov edi, eax
test edi, edi
jne 0x406ad2
mov esi, dword [esi + 0x24]
test esi, esi
jne 0x406ab4
xor edi, edi
test edi, edi
je 0x406bab
mov ebx, dword [ebp - 0x7c]
lea ecx, [edi + 0xc]
call fcn.00410620
mov ecx, edi
mov dword [ebp - 0x7c], eax
call fcn.00411a60
mov esi, eax
mov eax, dword [ebp - 0x7c]
test eax, eax
je 0x406b7f
test esi, esi
je 0x406b7f
push eax
lea ecx, [ebp - 0x78]
call fcn.00403fd0
lea edx, [ebp - 0x78]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 8
call fcn.0040f0e0
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0xa
call fcn.00404030
push esi
lea ecx, [ebp - 0xa0]
call fcn.00403fd0
lea edx, [ebp - 0xa0]
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xb
call fcn.0040f0e0
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0xd
call fcn.00404030
lea eax, [ebp - 0x28]
push eax
mov ecx, ebx
call fcn.00406fc0
lea ecx, [ebp - 0x58]
cmp eax, ecx
je 0x406b6b
push 0xffffffffffffffff
push 0
push ecx
mov ecx, eax
call fcn.004036a0
lea ecx, [ebp - 0x58]
call fcn.00401f60
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 6
call fcn.00401f60
mov esi, dword [edi + 0x24]
test esi, esi
je 0x406b9e
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov edi, eax
test edi, edi
jne 0x406ad5
mov esi, dword [esi + 0x24]
test esi, esi
jne 0x406b86
xor edi, edi
test edi, edi
jne 0x406ad5
mov ebx, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x84]
push str.SHA256
lea ecx, [ebp - 0x28]
call fcn.00403b10
lea eax, [ebp - 0x28]
push eax
mov ecx, ebx
mov byte [ebp - 4], 0xe
call fcn.00406eb0
mov esi, eax
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x5c], esi
mov byte [ebp - 4], 6
call fcn.00401f60
test esi, esi
je 0x406db2
mov ecx, esi
lea edx, [ecx + 2]
jmp 0x406bf0
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x406bf0
sub ecx, edx
sar ecx, 1
cmp ecx, 0x40
jne 0x406db2
cmp dword [ebx + 0x44], 0
jne 0x406d64
lea esi, [ebx + 0x34]
push 0x104
mov ecx, esi
call fcn.00404970
mov eax, dword [ebp - 0x60]
cmp esi, eax
je 0x406c34
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
call fcn.004036a0
cmp dword [ebx + 0x44], 0
je 0x406c4f
mov ecx, esi
call fcn.00406f60
cmp word [eax], 0x2f
je 0x406c4f
push ecx
mov ecx, esi
call fcn.00407820
push str.UpdateV2_
mov ecx, esi
call fcn.00402d80
push 0xffffffffffffffff
push 0
lea eax, [ebx + 4]
push eax
mov ecx, esi
call fcn.00403020
push 0x44e634
mov ecx, esi
call fcn.00402d80
mov edx, dword [ebx + 0x4c]
lea ecx, [ebp - 0xa0]
call fcn.00407680
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov byte [ebp - 4], 0xf
call fcn.00403020
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 6
call fcn.00401f60
push 0x44e334
mov ecx, esi
call fcn.00402d80
mov edx, dword [ebx + 0x50]
lea ecx, [ebp - 0xa0]
call fcn.00407680
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov byte [ebp - 4], 0x10
call fcn.00403020
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 6
call fcn.00401f60
push 0x44e334
mov ecx, esi
call fcn.00402d80
mov edx, dword [ebx + 0x54]
lea ecx, [ebp - 0xa0]
call fcn.00407680
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov byte [ebp - 4], 0x11
call fcn.00403020
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 6
call fcn.00401f60
push 0x44e334
mov ecx, esi
call fcn.00402d80
mov edx, dword [ebx + 0x58]
lea ecx, [ebp - 0xa0]
call fcn.00407680
push 0xffffffffffffffff
push 0
push eax
mov ecx, esi
mov byte [ebp - 4], 0x12
call fcn.00403020
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 6
call fcn.00401f60
push 0x44e634
mov ecx, esi
call fcn.00402d80
push dword [ebp - 0x5c]
mov ecx, esi
call fcn.00402d80
lea eax, [ebx + 0x65]
push eax
push str.compressed
mov ecx, edi
mov byte [eax], 0
call fcn.00407640
lea edx, [ebx + 0x64]
push edx
push str.x64Only
mov ecx, edi
mov byte [edx], 0
call fcn.00407640
lea ecx, [ebp - 0x40]
call fcn.00401f60
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041b8d4
mov esp, ebp
pop ebp
ret 8
mov dword [ebp - 0x5c], str.Invalid_SHA256_hash_value
lea eax, [ebp - 0x5c]
jmp 0x406871
mov dword [ebp - 0x5c], str.No_version_information
lea eax, [ebp - 0x5c]
jmp 0x406871
mov dword [ebp - 0x5c], str.No_file_path_information
lea eax, [ebp - 0x5c]
jmp 0x406871