Function at 0x4c0590
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x57b8a0
mov eax, dword fs:[0]
push eax
sub esp, 0x64
push ebx
push ebp
push esi
push edi
mov eax, dword [0x641030]
xor eax, esp
push eax
lea eax, [esp + 0x78]
mov dword fs:[0], eax
mov esi, ecx
mov ebp, dword [esp + 0xa8]
push str.TlsClientHello_buildMessage
push ebp
lea ecx, [esp + 0x20]
call fcn.00437740
lea ecx, [esp + 0x40]
mov dword [esp + 0x80], 0
call fcn.00447240
movzx eax, byte [esi + 0x2c]
push eax
lea ecx, [esp + 0x44]
mov byte [esp + 0x84], 1
call fcn.00447e40
movzx ecx, byte [esi + 0x30]
push ecx
lea ecx, [esp + 0x44]
call fcn.00447e40
lea edi, [esi + 0x34]
push edi
lea ecx, [esp + 0x44]
call fcn.00449d90
cmp byte [ebp + 0x122], 0
je 0x4c0673
mov edx, dword [esi + 0x2c]
push edx
push str.majorVersion
mov ecx, ebp
call fcn.004373b0
mov eax, dword [esi + 0x30]
push eax
push str.minorVersion
mov ecx, ebp
call fcn.004373b0
push edi
push str.clientRandom
mov ecx, ebp
call fcn.00437980
mov ecx, edi
call fcn.0051d090
push eax
push str.szClientRandom
mov ecx, ebp
call fcn.004373b0
lea ecx, [esi + 0x50]
call fcn.0051d090
push eax
push str.sessionIdSize
mov ecx, ebp
call fcn.004373b0
cmp byte [ebp + 0x123], 0
je 0x4c0690
mov ecx, dword [esp + 0x8c]
push ecx
push str.bIsAfterHelloRetryRequest
mov ecx, ebp
call fcn.00437380
lea edi, [esi + 0x50]
mov ecx, edi
call fcn.0051d090
push eax
lea ecx, [esp + 0x44]
call fcn.00447e40
mov ecx, edi
call fcn.0051d090
test eax, eax
je 0x4c06b9
push edi
lea ecx, [esp + 0x44]
call fcn.00449d90
cmp byte [ebp + 0x122], 0
je 0x4c06d9
lea ecx, [esi + 0x6c]
call fcn.0051d090
shr eax, 1
push eax
push str.numCipherSuites
mov ecx, ebp
call fcn.004373b0
lea edi, [esi + 0x6c]
mov ecx, edi
call fcn.0051d090
mov ebx, eax
mov edx, ebx
shr edx, 8
push edx
lea ecx, [esp + 0x44]
call fcn.00447e40
push ebx
lea ecx, [esp + 0x44]
call fcn.00447e40
push edi
lea ecx, [esp + 0x44]
call fcn.00449d90
cmp byte [ebp + 0x122], 0
je 0x4c0729
lea ecx, [esi + 0x88]
call fcn.0051d090
push eax
push str.numCompressionMethods
mov ecx, ebp
call fcn.004373b0
lea edi, [esi + 0x88]
mov ecx, edi
call fcn.0051d090
push eax
lea ecx, [esp + 0x44]
call fcn.00447e40
push edi
lea ecx, [esp + 0x44]
call fcn.00449d90
lea ecx, [esp + 0x24]
call fcn.00447240
cmp byte [esp + 0xa0], 0
mov byte [esp + 0x80], 2
je 0x4c082f
push 0
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0x2b
lea ecx, [esp + 0x28]
call fcn.00447e40
mov bl, byte [esp + 0x8c]
push 0
lea ecx, [esp + 0x28]
call fcn.00447e40
lea ecx, [esp + 0x24]
test bl, bl
je 0x4c07c3
push 3
call fcn.00447e40
push 2
lea ecx, [esp + 0x28]
call fcn.00447e40
push 3
lea ecx, [esp + 0x28]
call fcn.00447e40
push 4
lea ecx, [esp + 0x28]
call fcn.00447e40
jmp 0x4c0836
push 9
call fcn.00447e40
push 8
lea ecx, [esp + 0x28]
call fcn.00447e40
push 3
lea ecx, [esp + 0x28]
call fcn.00447e40
push 4
lea ecx, [esp + 0x28]
call fcn.00447e40
push 3
lea ecx, [esp + 0x28]
call fcn.00447e40
push 3
lea ecx, [esp + 0x28]
call fcn.00447e40
push 3
lea ecx, [esp + 0x28]
call fcn.00447e40
push 2
lea ecx, [esp + 0x28]
call fcn.00447e40
push 3
lea ecx, [esp + 0x28]
call fcn.00447e40
push 1
lea ecx, [esp + 0x28]
call fcn.00447e40
jmp 0x4c0836
mov bl, byte [esp + 0x8c]
cmp dword [esi + 0x2c], 3
jne 0x4c0991
mov esi, dword [esi + 0x30]
cmp esi, 3
je 0x4c0851
cmp esi, 4
jne 0x4c0991
push 0
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0xd
lea ecx, [esp + 0x28]
call fcn.00447e40
mov eax, 0xa
test bl, bl
je 0x4c0875
mov eax, 7
lea esi, [eax + eax]
lea edi, [esi + 2]
mov eax, edi
shr eax, 8
push eax
lea ecx, [esp + 0x28]
call fcn.00447e40
push edi
lea ecx, [esp + 0x28]
call fcn.00447e40
mov ecx, esi
shr ecx, 8
push ecx
lea ecx, [esp + 0x28]
call fcn.00447e40
push esi
lea ecx, [esp + 0x28]
call fcn.00447e40
push 4
lea ecx, [esp + 0x28]
call fcn.00447e40
push 1
lea ecx, [esp + 0x28]
call fcn.00447e40
push 5
lea ecx, [esp + 0x28]
call fcn.00447e40
push 1
lea ecx, [esp + 0x28]
call fcn.00447e40
push 6
lea ecx, [esp + 0x28]
call fcn.00447e40
push 1
lea ecx, [esp + 0x28]
call fcn.00447e40
push 8
lea ecx, [esp + 0x28]
call fcn.00447e40
push 4
lea ecx, [esp + 0x28]
call fcn.00447e40
push 8
lea ecx, [esp + 0x28]
call fcn.00447e40
push 5
lea ecx, [esp + 0x28]
call fcn.00447e40
push 8
lea ecx, [esp + 0x28]
call fcn.00447e40
push 6
lea ecx, [esp + 0x28]
call fcn.00447e40
test bl, bl
jne 0x4c094b
push 2
lea ecx, [esp + 0x28]
call fcn.00447e40
push 1
lea ecx, [esp + 0x28]
call fcn.00447e40
push 4
lea ecx, [esp + 0x28]
call fcn.00447e40
push 3
lea ecx, [esp + 0x28]
call fcn.00447e40
test bl, bl
jne 0x4c0991
push 2
lea ecx, [esp + 0x28]
call fcn.00447e40
push 3
lea ecx, [esp + 0x28]
call fcn.00447e40
push 1
lea ecx, [esp + 0x28]
call fcn.00447e40
push 1
lea ecx, [esp + 0x28]
call fcn.00447e40
cmp byte [esp + 0xa0], 0
je 0x4c0ac4
test bl, bl
je 0x4c0a77
mov edi, dword [esp + 0x88]
mov eax, dword [edi + 0x3a8]
test eax, eax
je 0x4c0a66
mov eax, dword [eax + 0x6c]
mov byte [esp + 0x14], 0
mov byte [esp + 0xa8], 0
cmp eax, 0x1d
jne 0x4c09d8
mov byte [esp + 0x14], 1
jmp 0x4c09e5
cmp eax, 0x17
jne 0x4c0a04
mov byte [esp + 0xa8], 1
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x14]
push ebp
lea edx, [esp + 0x28]
push edx
push eax
push ecx
mov ecx, edi
call fcn.004bdf20
jmp 0x4c0acb
mov edx, dword [ebp]
mov eax, dword [edx + 0x14]
push str.TLS_1.3_server_does_not_support_x25519_or_secp256r1_key_share_groups.
mov ecx, ebp
call eax
mov ecx, dword [edi + 0x3a8]
mov edx, dword [ecx + 0x6c]
push edx
push str.serverRequestedKeyShareGroup
mov ecx, ebp
call fcn.00437500
lea ecx, [esp + 0x24]
mov byte [esp + 0x80], 1
call fcn.004479b0
lea ecx, [esp + 0x40]
mov byte [esp + 0x80], 0
call fcn.004479b0
lea ecx, [esp + 0x18]
mov dword [esp + 0x80], 0xffffffff
call fcn.004377b0
xor al, al
jmp 0x4c1048
mov eax, dword [ebp]
mov edx, dword [eax + 0x14]
push str.No_previous_ServerHello_when_trying_to_build_2nd_TLS_1.3_ClientHello
mov ecx, ebp
call edx
jmp 0x4c0a29
push str.Tls13KeyShareSecp256r1
lea ecx, [ebp + 0x90]
mov byte [esp + 0x18], 1
mov byte [esp + 0xac], 0
call fcn.0042ef80
test al, al
je 0x4c0aa5
mov byte [esp + 0xa8], 1
mov byte [esp + 0x14], 0
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x14]
push ebp
lea eax, [esp + 0x28]
push eax
push ecx
mov ecx, dword [esp + 0x94]
push edx
call fcn.004bdf20
mov edi, dword [esp + 0x88]
cmp byte [esp + 0x9c], 0
je 0x4c0b73
push 0
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0xa
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0xa
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0
lea ecx, [esp + 0x28]
call fcn.00447e40
push 8
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0x1d
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0x17
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0x18
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0x19
lea ecx, [esp + 0x28]
call fcn.00447e40
mov ebx, dword [esp + 0x98]
mov ecx, ebx
call fcn.0042bab0
mov esi, eax
test esi, esi
jbe 0x4c0c2c
cmp byte [ebp + 0x122], 0
je 0x4c0ba1
push ebx
push str.SNI_hostname
mov ecx, ebp
call fcn.004370f0
push 0
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0
lea ecx, [esp + 0x28]
call fcn.00447e40
lea edi, [esi + 5]
mov eax, edi
shr eax, 8
push eax
lea ecx, [esp + 0x28]
call fcn.00447e40
push edi
lea ecx, [esp + 0x28]
call fcn.00447e40
lea edi, [esi + 3]
mov ecx, edi
shr ecx, 8
push ecx
lea ecx, [esp + 0x28]
call fcn.00447e40
push edi
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0
lea ecx, [esp + 0x28]
call fcn.00447e40
mov edx, esi
shr edx, 8
push edx
lea ecx, [esp + 0x28]
call fcn.00447e40
push esi
lea ecx, [esp + 0x28]
call fcn.00447e40
push esi
mov ecx, ebx
call fcn.0051b3b0
push eax
lea ecx, [esp + 0x2c]
call fcn.00448260
mov edi, dword [esp + 0x88]
cmp byte [esp + 0x8c], 0
jne 0x4c0d57
push 0
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0x17
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0xff
lea ecx, [esp + 0x28]
call fcn.00447e40
push 1
lea ecx, [esp + 0x28]
call fcn.00447e40
cmp byte [esp + 0x90], 0
jne 0x4c0cac
push 0
lea ecx, [esp + 0x28]
call fcn.00447e40
push 1
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0
lea ecx, [esp + 0x28]
call fcn.00447e40
jmp 0x4c0d0b
cmp byte [ebp + 0x122], 0
je 0x4c0cc4
mov eax, dword [ebp]
mov edx, dword [eax + 0x18]
push str.Adding_a_non_empty_renegotiation_info_extension_for_renegotiate...
mov ecx, ebp
call edx
mov ebx, dword [esp + 0x94]
mov ecx, ebx
call fcn.0051d090
mov esi, eax
lea edi, [esi + 1]
mov eax, edi
shr eax, 8
push eax
lea ecx, [esp + 0x28]
call fcn.00447e40
push edi
lea ecx, [esp + 0x28]
call fcn.00447e40
push esi
lea ecx, [esp + 0x28]
call fcn.00447e40
push ebx
lea ecx, [esp + 0x28]
call fcn.00449d90
mov edi, dword [esp + 0x88]
cmp byte [esp + 0x9c], 0
je 0x4c0d57
push 0
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0xb
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0
lea ecx, [esp + 0x28]
call fcn.00447e40
push 2
lea ecx, [esp + 0x28]
call fcn.00447e40
push 1
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0
lea ecx, [esp + 0x28]
call fcn.00447e40
mov eax, dword [edi + 0x78]
test eax, eax
je 0x4c0e21
lea ecx, [eax + 0xe64]
call fcn.0040fde0
test al, al
jne 0x4c0e21
cmp byte [ebp + 0x122], al
je 0x4c0d93
mov ecx, dword [edi + 0x78]
add ecx, 0xe64
push ecx
push str.ALPN_protocol
mov ecx, ebp
call fcn.004370a0
mov ecx, dword [edi + 0x78]
add ecx, 0xe64
call fcn.0040fe80
push 0
lea ecx, [esp + 0x28]
mov esi, eax
call fcn.00447e40
push 0x10
lea ecx, [esp + 0x28]
call fcn.00447e40
lea edi, [esi + 3]
mov edx, edi
shr edx, 8
push edx
lea ecx, [esp + 0x28]
call fcn.00447e40
push edi
lea ecx, [esp + 0x28]
call fcn.00447e40
lea edi, [esi + 1]
mov eax, edi
shr eax, 8
push eax
lea ecx, [esp + 0x28]
call fcn.00447e40
push edi
lea ecx, [esp + 0x28]
call fcn.00447e40
push esi
lea ecx, [esp + 0x28]
call fcn.00447e40
mov ecx, dword [esp + 0x88]
mov ecx, dword [ecx + 0x78]
add ecx, 0xe64
call fcn.0040f7f0
push eax
lea ecx, [esp + 0x28]
call fcn.00449e00
mov edi, dword [esp + 0x88]
cmp byte [esp + 0x8c], 0
jne 0x4c0e75
cmp byte [edi + 0x7d], 0
jne 0x4c0e75
push 0
lea ecx, [esp + 0x28]
call fcn.00447e40
push 5
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0
lea ecx, [esp + 0x28]
call fcn.00447e40
push 5
lea ecx, [esp + 0x28]
call fcn.00447e40
push 1
lea ecx, [esp + 0x28]
call fcn.00447e40
push 4
push 0
lea ecx, [esp + 0x2c]
call fcn.00447f70
cmp byte [esp + 0xa0], 0
je 0x4c0ec1
push 0
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0x2d
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0
lea ecx, [esp + 0x28]
call fcn.00447e40
push 2
lea ecx, [esp + 0x28]
call fcn.00447e40
push 1
lea ecx, [esp + 0x28]
call fcn.00447e40
push 1
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0x1c
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0
lea ecx, [esp + 0x28]
call fcn.00447e40
push 2
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0x40
lea ecx, [esp + 0x28]
call fcn.00447e40
push 1
lea ecx, [esp + 0x28]
call fcn.00447e40
lea ecx, [esp + 0x24]
call fcn.0051d090
lea ecx, [esp + 0x40]
mov esi, eax
call fcn.0051d090
lea edi, [esi + eax + 2]
cmp edi, 0x1f8
ja 0x4c0f99
push 0
lea ecx, [esp + 0x28]
call fcn.00447e40
push 0x15
lea ecx, [esp + 0x28]
call fcn.00447e40
mov esi, 0x1f8
sub esi, edi
mov edx, esi
shr edx, 8
push edx
lea ecx, [esp + 0x28]
call fcn.00447e40
push esi
lea ecx, [esp + 0x28]
call fcn.00447e40
test esi, esi
jbe 0x4c0f99
lea ecx, [esp + 0x5c]
call fcn.00447240
push esi
push 0
lea ecx, [esp + 0x64]
mov byte [esp + 0x88], 3
call fcn.00447f70
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x28]
call fcn.00449d90
lea ecx, [esp + 0x5c]
mov byte [esp + 0x80], 2
call fcn.004479b0
lea ecx, [esp + 0x24]
call fcn.0051d090
mov esi, eax
mov ecx, esi
shr ecx, 8
push ecx
lea ecx, [esp + 0x44]
call fcn.00447e40
push esi
lea ecx, [esp + 0x44]
call fcn.00447e40
lea edx, [esp + 0x24]
push edx
lea ecx, [esp + 0x44]
call fcn.00449d90
mov esi, dword [esp + 0xa4]
push 1
mov ecx, esi
call fcn.00447e40
lea ecx, [esp + 0x40]
call fcn.0051d090
push 0
mov ecx, esi
mov edi, eax
call fcn.00447e40
mov eax, edi
shr eax, 8
push eax
mov ecx, esi
call fcn.00447e40
push edi
mov ecx, esi
call fcn.00447e40
lea ecx, [esp + 0x40]
push ecx
mov ecx, esi
call fcn.00449d90
lea ecx, [esp + 0x24]
mov byte [esp + 0x80], 1
call fcn.004479b0
lea ecx, [esp + 0x40]
mov byte [esp + 0x80], 0
call fcn.004479b0
lea ecx, [esp + 0x18]
mov dword [esp + 0x80], 0xffffffff
call fcn.004377b0
mov al, 1
mov ecx, dword [esp + 0x78]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x70
ret 0x24