Function at 0x5f2840
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x657d00
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x64
push ebx
push ebp
mov ebp, dword [esp + 0x9c]
push esi
push edi
mov esi, ecx
push str.TlsClientHello_buildMessage
push ebp
lea ecx, [esp + 0x1c]
call fcn.004f0370
lea ecx, [esp + 0x3c]
mov dword [esp + 0x7c], 0
call fcn.004dfe70
mov al, byte [esi + 0x2c]
lea ecx, [esp + 0x3c]
push eax
mov byte [esp + 0x80], 1
call fcn.004e0da0
mov cl, byte [esi + 0x30]
push ecx
lea ecx, [esp + 0x40]
call fcn.004e0da0
lea edi, [esi + 0x34]
lea ecx, [esp + 0x3c]
push edi
call fcn.004de6c0
mov al, byte [ebp + 0x122]
test al, al
je 0x5f2914
mov edx, dword [esi + 0x2c]
mov ecx, ebp
push edx
push str.majorVersion
call fcn.004effe0
mov eax, dword [esi + 0x30]
mov ecx, ebp
push eax
push str.minorVersion
call fcn.004effe0
push edi
push str.clientRandom
mov ecx, ebp
call fcn.004ef410
mov ecx, edi
call fcn.005a8750
push eax
push str.szClientRandom
mov ecx, ebp
call fcn.004effe0
lea ecx, [esi + 0x50]
call fcn.005a8750
push eax
push str.sessionIdSize
mov ecx, ebp
call fcn.004effe0
mov al, byte [ebp + 0x123]
test al, al
je 0x5f2932
mov ecx, dword [esp + 0x88]
push ecx
push str.bIsAfterHelloRetryRequest
mov ecx, ebp
call fcn.004effb0
lea edi, [esi + 0x50]
mov ecx, edi
call fcn.005a8750
push eax
lea ecx, [esp + 0x40]
call fcn.004e0da0
mov ecx, edi
call fcn.005a8750
test eax, eax
je 0x5f295b
push edi
lea ecx, [esp + 0x40]
call fcn.004de6c0
mov al, byte [ebp + 0x122]
test al, al
je 0x5f297c
lea ecx, [esi + 0x6c]
call fcn.005a8750
shr eax, 1
push eax
push str.numCipherSuites
mov ecx, ebp
call fcn.004effe0
lea edi, [esi + 0x6c]
mov ecx, edi
call fcn.005a8750
mov ebx, eax
lea ecx, [esp + 0x3c]
mov edx, ebx
shr edx, 8
push edx
call fcn.004e0da0
push ebx
lea ecx, [esp + 0x40]
call fcn.004e0da0
push edi
lea ecx, [esp + 0x40]
call fcn.004de6c0
mov al, byte [ebp + 0x122]
test al, al
je 0x5f29cd
lea ecx, [esi + 0x88]
call fcn.005a8750
push eax
push str.numCompressionMethods
mov ecx, ebp
call fcn.004effe0
lea edi, [esi + 0x88]
mov ecx, edi
call fcn.005a8750
push eax
lea ecx, [esp + 0x40]
call fcn.004e0da0
push edi
lea ecx, [esp + 0x40]
call fcn.004de6c0
lea ecx, [esp + 0x20]
call fcn.004dfe70
mov al, byte [esp + 0x9c]
mov byte [esp + 0x7c], 2
test al, al
je 0x5f2ada
push 0
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0x2b
lea ecx, [esp + 0x24]
call fcn.004e0da0
mov bl, byte [esp + 0x88]
push 0
test bl, bl
lea ecx, [esp + 0x24]
je 0x5f2a65
call fcn.004e0da0
push 3
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 2
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 3
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 4
lea ecx, [esp + 0x24]
call fcn.004e0da0
jmp 0x5f2ae1
call fcn.004e0da0
push 9
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 8
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 3
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 4
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 3
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 3
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 3
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 2
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 3
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 1
lea ecx, [esp + 0x24]
call fcn.004e0da0
jmp 0x5f2ae1
mov bl, byte [esp + 0x88]
cmp dword [esi + 0x2c], 3
jne 0x5f2c3d
mov esi, dword [esi + 0x30]
cmp esi, 3
je 0x5f2afc
cmp esi, 4
jne 0x5f2c3d
push 0
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0xd
lea ecx, [esp + 0x24]
call fcn.004e0da0
test bl, bl
mov edi, 0xa
je 0x5f2b20
mov edi, 7
lea esi, [edi + edi + 2]
lea ecx, [esp + 0x20]
mov eax, esi
shr eax, 8
push eax
call fcn.004e0da0
push esi
lea ecx, [esp + 0x24]
call fcn.004e0da0
lea esi, [edi + edi]
mov ecx, esi
shr ecx, 8
push ecx
lea ecx, [esp + 0x24]
call fcn.004e0da0
push esi
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 4
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 1
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 5
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 1
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 6
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 1
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 8
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 4
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 8
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 5
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 8
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 6
lea ecx, [esp + 0x24]
call fcn.004e0da0
test bl, bl
jne 0x5f2bf7
push 2
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 1
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 4
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 3
lea ecx, [esp + 0x24]
call fcn.004e0da0
test bl, bl
jne 0x5f2c3d
push 2
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 3
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 1
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 1
lea ecx, [esp + 0x24]
call fcn.004e0da0
mov al, byte [esp + 0x9c]
test al, al
je 0x5f2d60
test bl, bl
je 0x5f2d13
mov edi, dword [esp + 0x84]
mov eax, dword [edi + 0x3ac]
test eax, eax
je 0x5f2cd2
mov eax, dword [eax + 0x6c]
mov byte [esp + 0x10], 0
cmp eax, 0x1d
mov byte [esp + 0xa4], 0
jne 0x5f2c81
mov byte [esp + 0x10], 1
jmp 0x5f2c8e
cmp eax, 0x17
jne 0x5f2cad
mov byte [esp + 0xa4], 1
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x20]
push ebp
push edx
push eax
push ecx
mov ecx, edi
call fcn.005e6c20
jmp 0x5f2d67
mov edx, dword [ebp]
push str.TLS_1.3_server_does_not_support_x25519_or_secp256r1_key_share_groups.
mov ecx, ebp
call dword [edx + 0x14]
mov eax, dword [edi + 0x3ac]
mov ecx, dword [eax + 0x6c]
push ecx
push str.serverRequestedKeyShareGroup
mov ecx, ebp
call fcn.004f00d0
jmp 0x5f2cdf
mov edx, dword [ebp]
push str.No_previous_ServerHello_when_trying_to_build_2nd_TLS_1.3_ClientHello
mov ecx, ebp
call dword [edx + 0x14]
lea ecx, [esp + 0x20]
mov byte [esp + 0x7c], 1
call fcn.004e0890
lea ecx, [esp + 0x3c]
mov byte [esp + 0x7c], 0
call fcn.004e0890
lea ecx, [esp + 0x14]
mov dword [esp + 0x7c], 0xffffffff
call fcn.004f03e0
xor al, al
jmp 0x5f32e4
push str.Tls13KeyShareSecp256r1
lea ecx, [ebp + 0x90]
mov byte [esp + 0x14], 1
mov byte [esp + 0xa8], 0
call fcn.004e8fc0
test al, al
je 0x5f2d41
mov byte [esp + 0xa4], 1
mov byte [esp + 0x10], 0
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x20]
push ebp
push eax
push ecx
mov ecx, dword [esp + 0x90]
push edx
call fcn.005e6c20
mov edi, dword [esp + 0x84]
mov al, byte [esp + 0x98]
test al, al
je 0x5f2e10
push 0
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0xa
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0xa
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 8
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0x1d
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0x17
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0x18
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0x19
lea ecx, [esp + 0x24]
call fcn.004e0da0
mov ebx, dword [esp + 0x94]
mov ecx, ebx
call fcn.004e2930
mov esi, eax
test esi, esi
jbe 0x5f2eca
mov al, byte [ebp + 0x122]
test al, al
je 0x5f2e3f
push ebx
push str.SNI_hostname
mov ecx, ebp
call fcn.004efcb0
push 0
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0
lea ecx, [esp + 0x24]
call fcn.004e0da0
lea edi, [esi + 5]
lea ecx, [esp + 0x20]
mov eax, edi
shr eax, 8
push eax
call fcn.004e0da0
push edi
lea ecx, [esp + 0x24]
call fcn.004e0da0
lea edi, [esi + 3]
mov ecx, edi
shr ecx, 8
push ecx
lea ecx, [esp + 0x24]
call fcn.004e0da0
push edi
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0
lea ecx, [esp + 0x24]
call fcn.004e0da0
mov edx, esi
lea ecx, [esp + 0x20]
shr edx, 8
push edx
call fcn.004e0da0
push esi
lea ecx, [esp + 0x24]
call fcn.004e0da0
push esi
mov ecx, ebx
call fcn.004dda00
push eax
lea ecx, [esp + 0x28]
call fcn.004e1260
mov edi, dword [esp + 0x84]
mov al, byte [esp + 0x88]
test al, al
jne 0x5f2ff7
push 0
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0x17
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0xff
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 1
lea ecx, [esp + 0x24]
call fcn.004e0da0
mov al, byte [esp + 0x8c]
test al, al
jne 0x5f2f4c
push 0
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 1
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0
lea ecx, [esp + 0x24]
call fcn.004e0da0
jmp 0x5f2faa
mov al, byte [ebp + 0x122]
test al, al
je 0x5f2f63
mov eax, dword [ebp]
push str.Adding_a_non_empty_renegotiation_info_extension_for_renegotiate...
mov ecx, ebp
call dword [eax + 0x18]
mov ebx, dword [esp + 0x90]
mov ecx, ebx
call fcn.005a8750
mov esi, eax
lea edi, [esi + 1]
mov ecx, edi
shr ecx, 8
push ecx
lea ecx, [esp + 0x24]
call fcn.004e0da0
push edi
lea ecx, [esp + 0x24]
call fcn.004e0da0
push esi
lea ecx, [esp + 0x24]
call fcn.004e0da0
push ebx
lea ecx, [esp + 0x24]
call fcn.004de6c0
mov edi, dword [esp + 0x84]
mov al, byte [esp + 0x98]
test al, al
je 0x5f2ff7
push 0
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0xb
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 2
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 1
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0
lea ecx, [esp + 0x24]
call fcn.004e0da0
mov eax, dword [edi + 0x7c]
test eax, eax
je 0x5f30c3
lea ecx, [eax + 0xe68]
call fcn.004dc460
test al, al
jne 0x5f30c3
mov al, byte [ebp + 0x122]
test al, al
je 0x5f3035
mov edx, dword [edi + 0x7c]
mov ecx, ebp
add edx, 0xe68
push edx
push str.ALPN_protocol
call fcn.004efc60
mov ecx, dword [edi + 0x7c]
add ecx, 0xe68
call fcn.004dc540
push 0
lea ecx, [esp + 0x24]
mov esi, eax
call fcn.004e0da0
push 0x10
lea ecx, [esp + 0x24]
call fcn.004e0da0
lea edi, [esi + 3]
lea ecx, [esp + 0x20]
mov eax, edi
shr eax, 8
push eax
call fcn.004e0da0
push edi
lea ecx, [esp + 0x24]
call fcn.004e0da0
lea edi, [esi + 1]
mov ecx, edi
shr ecx, 8
push ecx
lea ecx, [esp + 0x24]
call fcn.004e0da0
push edi
lea ecx, [esp + 0x24]
call fcn.004e0da0
push esi
lea ecx, [esp + 0x24]
call fcn.004e0da0
mov edx, dword [esp + 0x84]
mov ecx, dword [edx + 0x7c]
add ecx, 0xe68
call fcn.004dbab0
push eax
lea ecx, [esp + 0x24]
call fcn.004de7c0
mov edi, dword [esp + 0x84]
mov al, byte [esp + 0x88]
test al, al
jne 0x5f311c
mov al, byte [edi + 0x81]
test al, al
jne 0x5f311c
push 0
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 5
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 5
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 1
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 4
push 0
lea ecx, [esp + 0x28]
call fcn.004e0ed0
mov al, byte [esp + 0x9c]
test al, al
je 0x5f3169
push 0
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0x2d
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 2
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 1
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 1
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0x1c
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 2
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0x40
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 1
lea ecx, [esp + 0x24]
call fcn.004e0da0
lea ecx, [esp + 0x20]
call fcn.005a8750
lea ecx, [esp + 0x3c]
mov esi, eax
call fcn.005a8750
lea edi, [esi + eax + 2]
cmp edi, 0x1f8
ja 0x5f323e
push 0
lea ecx, [esp + 0x24]
call fcn.004e0da0
push 0x15
lea ecx, [esp + 0x24]
call fcn.004e0da0
mov esi, 0x1f8
lea ecx, [esp + 0x20]
sub esi, edi
mov eax, esi
shr eax, 8
push eax
call fcn.004e0da0
push esi
lea ecx, [esp + 0x24]
call fcn.004e0da0
test esi, esi
jbe 0x5f323e
lea ecx, [esp + 0x58]
call fcn.004dfe70
push esi
push 0
lea ecx, [esp + 0x60]
mov byte [esp + 0x84], 3
call fcn.004e0ed0
lea ecx, [esp + 0x58]
push ecx
lea ecx, [esp + 0x24]
call fcn.004de6c0
lea ecx, [esp + 0x58]
mov byte [esp + 0x7c], 2
call fcn.004e0890
lea ecx, [esp + 0x20]
call fcn.005a8750
mov esi, eax
lea ecx, [esp + 0x3c]
mov edx, esi
shr edx, 8
push edx
call fcn.004e0da0
push esi
lea ecx, [esp + 0x40]
call fcn.004e0da0
lea eax, [esp + 0x20]
lea ecx, [esp + 0x3c]
push eax
call fcn.004de6c0
mov esi, dword [esp + 0xa0]
push 1
mov ecx, esi
call fcn.004e0da0
lea ecx, [esp + 0x3c]
call fcn.005a8750
push 0
mov ecx, esi
mov edi, eax
call fcn.004e0da0
mov ecx, edi
shr ecx, 8
push ecx
mov ecx, esi
call fcn.004e0da0
push edi
mov ecx, esi
call fcn.004e0da0
lea edx, [esp + 0x3c]
mov ecx, esi
push edx
call fcn.004de6c0
lea ecx, [esp + 0x20]
mov byte [esp + 0x7c], 1
call fcn.004e0890
lea ecx, [esp + 0x3c]
mov byte [esp + 0x7c], 0
call fcn.004e0890
lea ecx, [esp + 0x14]
mov dword [esp + 0x7c], 0xffffffff
call fcn.004f03e0
mov al, 1
mov ecx, dword [esp + 0x74]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x70
ret 0x24