Function at 0x463d60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6c
mov eax, dword [0x4ff94c]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [ebp + 0x14]
push edi
mov edi, dword [ebp + 8]
cmp dword [edi + 0x188], 0
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x5c], esi
jne 0x463da3
push 0xe0
push 1
call fcn.00454380
add esp, 8
mov dword [edi + 0x188], eax
mov eax, dword [edi + 0x178]
mov ebx, dword [edi + 0x188]
mov dword [ebp - 0x60], ebx
cmp eax, 0x15dd
jg 0x46410e
je 0x4640a5
cmp eax, 0x1584
jg 0x463f63
je 0x463ef7
xor ecx, ecx
cmp eax, ecx
je 0x463eaf
cmp eax, 0x14d4
je 0x463e3f
cmp eax, 0x156b
jne 0x464845
cmp esi, ecx
je 0x463e23
push str.Unexpected_data_from_server_while_waiting_for_user_response
call fcn.004548f0
push 0
mov esi, eax
call fcn.00459a60
mov ecx, dword [edi + 0xd4]
push esi
push ecx
call fcn.00455060
mov edx, dword [edi + 0xd4]
push esi
push 0x4dbe64
push edx
jmp 0x463e84
cmp dword [ebp + 0x10], ecx
jg 0x465383
mov eax, edi
mov ecx, dword [eax + 0x282c]
mov dword [ebx + 0xd4], ecx
jmp 0x4653a5
cmp esi, ecx
je 0x464e28
mov edx, dword [ebp - 0x5c]
cmp dword [edx + 8], 0x14
je 0x464e48
push str.expected_key_exchange_packet_from_server
call fcn.004548f0
mov edi, dword [ebp - 0x48]
push 0
mov esi, eax
call fcn.00459a60
mov eax, dword [edi + 0xd4]
push esi
push eax
call fcn.00455060
mov ecx, dword [edi + 0xd4]
push esi
push 0x4dbe64
push ecx
call fcn.00454b30
push esi
call fcn.004544e0
mov dword [edi + 0x178], 0
add esp, 0x20
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b7f56
mov esp, ebp
pop ebp
ret
mov dword [ebx + 0x44], ecx
mov dword [ebx + 0x40], ecx
mov dword [ebx + 0x4c], ecx
mov dword [ebx + 0x48], ecx
mov dword [ebx + 0x54], ecx
mov dword [ebx + 0x50], ecx
mov dword [ebx + 0xcc], ecx
mov dword [ebx + 0xc8], ecx
test byte [edi + 0x50], 2
mov esi, 1
mov dword [ebx + 0x3c], 3
je 0x463eeb
mov dword [ebx + 0x38], 0x4f90dc
jmp 0x464904
mov dword [ebx + 0x38], 0x4f90d0
jmp 0x464904
test esi, esi
je 0x463f2d
push str.Unexpected_data_from_server_while_waiting_for_user_response
call fcn.004548f0
push 0
mov esi, eax
call fcn.00459a60
mov edx, dword [edi + 0xd4]
push esi
push edx
call fcn.00455060
mov eax, dword [edi + 0xd4]
push esi
push 0x4dbe64
push eax
jmp 0x463e84
cmp dword [ebp + 0x10], 0
jg 0x46542e
mov ecx, dword [edi + 0x282c]
mov dword [ebx + 0xd4], ecx
mov edi, dword [ebp - 0x48]
xor esi, esi
call fcn.00459a40
cmp dword [ebx + 0xd4], esi
jne 0x46544b
mov eax, str.User_aborted_at_cipher_warning
jmp 0x4653bc
sub eax, 0x159d
je 0x463f82
sub eax, 0x1c
jne 0x464843
test esi, esi
je 0x464085
mov esi, edi
jmp 0x4654b8
test esi, esi
jne 0x463efb
cmp dword [ebp + 0x10], esi
jg 0x465493
mov ecx, edi
mov edx, dword [ecx + 0x282c]
mov dword [ebx + 0xd4], edx
mov edi, dword [ebp - 0x48]
xor esi, esi
call fcn.00459a40
cmp dword [ebx + 0xd4], esi
je 0x463f59
mov esi, dword [ebp - 0x48]
mov edx, dword [esi + 0x90]
mov eax, dword [edx + 0x18]
mov ecx, dword [eax]
call ecx
mov dword [esi + 0xc], eax
mov esi, dword [esi + 4]
mov ecx, esi
lea edi, [ecx + 1]
mov edi, edi
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x463fd0
mov edx, dword [ebp - 0x48]
mov edx, dword [edx + 0x90]
sub ecx, edi
mov edi, dword [edx + 0x18]
push esi
mov ebx, ecx
mov esi, eax
call fcn.004589a0
mov ecx, dword [ebp - 0x48]
mov esi, dword [ecx + 8]
mov eax, esi
add esp, 4
lea edi, [eax + 1]
lea ecx, [ecx]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x464000
mov edx, dword [ecx + 0x90]
sub eax, edi
mov edi, dword [edx + 0x18]
push esi
mov esi, dword [ecx + 0xc]
mov ebx, eax
call fcn.004589a0
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax + 0x28]
mov ebx, dword [eax + 0x2c]
push ecx
mov ecx, dword [ebp - 0x48]
mov edx, dword [ecx + 0x90]
mov esi, dword [ecx + 0xc]
mov edi, dword [edx + 0x18]
call fcn.004589a0
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax + 0x28]
push ecx
call fcn.004544e0
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ecx]
add esp, 0xc
cmp eax, 5
jle 0x464075
mov edx, dword [ecx + 0x10]
lea ebx, [eax - 5]
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax + 0x90]
mov esi, dword [eax + 0xc]
mov edi, dword [ecx + 0x18]
add edx, 5
push edx
call fcn.004589a0
add esp, 4
mov edx, dword [ebp - 0x60]
cmp dword [edx + 0xdc], 0
je 0x4654b3
mov eax, dword [ebp - 0x48]
pop edi
pop esi
mov dword [eax + 0x178], 0x15b9
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b7f56
mov esp, ebp
pop ebp
ret
test esi, esi
je 0x465548
cmp dword [esi + 8], 0x1f
je 0x4640c2
push str.expected_key_exchange_group_packet_from_server
call fcn.004548f0
jmp 0x463e61
mov eax, esi
call fcn.00459260
mov dword [ebx + 0x14], eax
mov eax, esi
call fcn.00459260
mov ecx, dword [ebx + 0x14]
mov dword [ebx + 0x18], eax
test ecx, ecx
je 0x464104
test eax, eax
je 0x464104
push eax
push ecx
call fcn.0046d220
mov dword [edi + 0xbc], eax
add esp, 8
mov dword [ebx + 0x30], 0x20
mov dword [ebx + 0x34], 0x21
jmp 0x4655a1
push str.unable_to_read_mp_ints_from_incoming_group_packet
jmp 0x463f00
cmp eax, 0x16a6
jg 0x464837
je 0x464620
sub eax, 0x1600
je 0x46415a
sub eax, 0x3f
jne 0x464843
test esi, esi
je 0x46413d
push str.Unexpected_data_from_server_while_waiting_for_user_host_key_response
jmp 0x463df9
cmp dword [ebp + 0x10], 0
jg 0x4643a2
mov eax, edi
mov ecx, dword [eax + 0x282c]
mov dword [ebx + 0xd4], ecx
jmp 0x4643c4
test esi, esi
je 0x465610
mov edx, dword [esi + 8]
cmp edx, dword [ebx + 0x34]
je 0x464179
push str.expected_key_exchange_reply_packet_from_server
call fcn.004548f0
jmp 0x463e61
mov edx, edi
mov eax, dword [edx + 0xd4]
push 2
push eax
call fcn.00405aa0
mov eax, dword [ebp - 0x5c]
lea esi, [ebx + 0x68]
lea edi, [ebx + 0x58]
add esp, 8
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x64], edi
call fcn.00459170
call fcn.00459260
mov dword [ebx + 0x20], eax
test eax, eax
jne 0x4641be
push str.unable_to_parse_key_exchange_reply_packet
call fcn.004548f0
mov edi, dword [ebp - 0x48]
jmp 0x463dfe
mov eax, dword [ebp - 0x5c]
lea esi, [ebx + 0x6c]
lea edi, [ebx + 0x5c]
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x50], edi
call fcn.00459170
mov eax, dword [ebx + 0x20]
mov esi, dword [ebp - 0x48]
mov ecx, dword [esi + 0xbc]
push eax
push ecx
call fcn.0046d3f0
mov dword [ebx + 0x24], eax
mov edx, dword [esi + 0xd4]
push 0
push edx
call fcn.00405aa0
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax]
mov edx, dword [esi + 0x90]
mov eax, dword [ebp - 0x58]
mov ebx, dword [eax]
mov edi, dword [edx + 0x18]
push ecx
mov ecx, esi
mov esi, dword [ecx + 0xc]
call fcn.004589a0
mov ebx, dword [ebp - 0x48]
mov eax, dword [ebx + 0x90]
add esp, 0x14
cmp dword [eax + 8], 0
jne 0x464267
mov edx, dword [ebx + 0xc]
mov eax, dword [eax + 0x18]
mov esi, dword [ebp - 0x60]
push edx
push eax
mov eax, dword [esi + 4]
call fcn.004589e0
mov edx, dword [ebx + 0x90]
mov ecx, dword [esi + 0x14]
mov esi, dword [ebx + 0xc]
mov edi, dword [edx + 0x18]
add esp, 8
call fcn.004590d0
mov eax, dword [ebx + 0x90]
mov ecx, dword [ebp - 0x60]
mov ecx, dword [ecx + 0x18]
mov esi, dword [ebx + 0xc]
mov edi, dword [eax + 0x18]
call fcn.004590d0
mov edx, dword [ebx + 0x90]
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax + 0x1c]
mov esi, dword [ebx + 0xc]
mov edi, dword [edx + 0x18]
call fcn.004590d0
mov edx, dword [ebx + 0x90]
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax + 0x20]
mov esi, dword [ebx + 0xc]
mov edi, dword [edx + 0x18]
call fcn.004590d0
mov edx, dword [ebx + 0x90]
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax + 0x24]
mov esi, dword [ebx + 0xc]
mov edi, dword [edx + 0x18]
call fcn.004590d0
mov edi, dword [ebp - 0x60]
mov ecx, dword [ebx + 0x90]
mov edx, dword [ecx + 0x18]
mov eax, dword [ebx + 0xc]
mov ecx, dword [edx + 8]
lea esi, [edi + 0x74]
push esi
push eax
call ecx
mov edx, dword [ebx + 0xbc]
push edx
call fcn.0046d260
mov ecx, dword [ebp - 0x58]
mov eax, dword [ebx + 0x94]
mov dword [ebx + 0xbc], 0
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x64]
mov eax, dword [eax]
push edx
mov edx, dword [ecx]
push edx
call eax
add esp, 0x14
mov dword [edi + 0x70], eax
test eax, eax
je 0x4645d7
mov edx, dword [ebx + 0x90]
mov edx, dword [edx + 0x18]
mov edx, dword [edx + 0xc]
mov ecx, dword [ebx + 0x94]
push edx
mov edx, dword [ebp - 0x54]
mov edx, dword [edx]
push esi
push edx
mov edx, dword [ebp - 0x50]
mov edx, dword [edx]
push edx
push eax
mov eax, dword [ecx + 0x28]
call eax
add esp, 0x14
test eax, eax
je 0x4645d7
mov ecx, dword [ebx + 0x94]
mov edx, dword [edi + 0x70]
mov eax, dword [ecx + 8]
push edx
call eax
mov edx, dword [edi + 0x70]
mov dword [edi + 0x60], eax
mov ecx, dword [ebx + 0x94]
mov eax, dword [ecx + 0x24]
push edx
call eax
mov dword [edi + 0x64], eax
mov esi, 1
mov edi, ebx
call fcn.00459a40
mov esi, dword [ebp - 0x60]
mov ecx, dword [esi + 0x64]
mov edx, dword [esi + 0x60]
mov eax, dword [ebx + 0x94]
push ebx
push 0x463d00
push ecx
mov ecx, dword [eax + 0x34]
mov eax, dword [ebx + 0xc0]
push edx
mov edx, dword [ebx + 0xc4]
push ecx
mov ecx, dword [ebx + 0xd4]
push edx
push eax
push ecx
call fcn.00433030
add esp, 0x28
mov dword [esi + 0xd4], eax
test eax, eax
jns 0x4643c2
mov edx, dword [ebp - 0x48]
pop edi
pop esi
mov dword [edx + 0x178], 0x163f
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b7f56
mov esp, ebp
pop ebp
ret
mov ebx, esi
mov edi, dword [ebp - 0x48]
xor esi, esi
call fcn.00459a40
cmp dword [ebx + 0xd4], esi
jne 0x4643e0
mov eax, str.User_aborted_at_host_key_verification
jmp 0x4653bc
cmp dword [ebx + 0xc8], esi
mov esi, edi
jne 0x46440e
mov eax, dword [esi + 0xd4]
push str.Host_key_fingerprint_is:
push eax
call fcn.00455060
mov ecx, dword [ebx + 0x64]
mov edx, dword [esi + 0xd4]
push ecx
push edx
call fcn.00455060
add esp, 0x10
mov eax, dword [ebx + 0x64]
push eax
call fcn.004544e0
mov ecx, dword [ebx + 0x60]
push ecx
call fcn.004544e0
mov edx, dword [esi + 0x94]
mov eax, dword [ebx + 0x70]
mov ecx, dword [edx + 4]
push eax
call ecx
add esp, 0xc
cmp dword [ebx + 0xc8], 0
jne 0x46446b
mov eax, edi
mov edx, dword [eax + 0x90]
lea esi, [ebx + 0x74]
lea edi, [eax + 0x98]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [edx + 0x18]
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xb8], edx
mov dword [ebx + 0xc8], 1
mov esi, eax
push 0x15
call fcn.00458d80
push eax
push esi
mov dword [ebx + 0xd0], eax
call fcn.004658c0
mov eax, dword [esi + 0x68]
add esp, 0xc
mov dword [esi + 0x2c50], 0
test eax, eax
je 0x46449f
mov ecx, dword [esi + 0x60]
mov edx, dword [ecx + 4]
push eax
call edx
add esp, 4
mov eax, dword [ebx + 0x40]
mov dword [esi + 0x60], eax
mov eax, dword [eax]
call eax
mov dword [esi + 0x68], eax
mov eax, dword [esi + 0x78]
test eax, eax
je 0x4644bf
mov ecx, dword [esi + 0x70]
mov edx, dword [ecx + 4]
push eax
call edx
add esp, 4
mov eax, dword [ebx + 0x48]
mov dword [esi + 0x70], eax
mov eax, dword [eax]
call eax
mov dword [esi + 0x78], eax
mov eax, dword [esi + 0x88]
test eax, eax
je 0x4644e5
mov ecx, dword [esi + 0x80]
mov edx, dword [ecx + 8]
push eax
call edx
add esp, 4
mov eax, dword [ebx + 0x50]
mov dword [esi + 0x80], eax
mov eax, dword [eax + 4]
call eax
lea ecx, [ebp - 0x44]
push ecx
mov dword [esi + 0x88], eax
mov edx, dword [ebx + 0x24]
push 0x43
lea edi, [ebx + 0x74]
push edi
push edx
mov eax, esi
call fcn.0045a370
mov eax, dword [esi + 0x60]
mov edx, dword [esi + 0x68]
mov eax, dword [eax + 0xc]
lea ecx, [ebp - 0x44]
push ecx
push edx
call eax
mov edx, dword [ebx + 0x24]
lea ecx, [ebp - 0x44]
push ecx
push 0x41
push edi
push edx
mov eax, esi
call fcn.0045a370
mov eax, dword [esi + 0x60]
mov edx, dword [esi + 0x68]
mov eax, dword [eax + 8]
lea ecx, [ebp - 0x44]
push ecx
push edx
call eax
mov edx, dword [ebx + 0x24]
lea ecx, [ebp - 0x44]
push ecx
push 0x45
push edi
push edx
mov eax, esi
call fcn.0045a370
mov eax, dword [esi + 0x70]
mov edx, dword [esi + 0x78]
mov eax, dword [eax + 8]
add esp, 0x40
lea ecx, [ebp - 0x44]
push ecx
push edx
call eax
mov ecx, dword [esi + 0x60]
mov edx, dword [ecx + 0x28]
push edx
push str.Initialised__.200s_client__server_encryption
push esi
call fcn.00458490
mov eax, dword [esi + 0x70]
mov ecx, dword [eax + 0x1c]
push ecx
push str.Initialised__.200s_client__server_MAC_algorithm
push esi
call fcn.00458490
mov edx, dword [esi + 0x80]
mov eax, dword [edx + 0x20]
add esp, 0x20
test eax, eax
je 0x4645a8
push eax
push str.Initialised__s_compression
push esi
call fcn.00458490
add esp, 0xc
mov dword [esi + 0x120], 0
call fcn.0045c2d0
mov edx, dword [ebp - 0x48]
pop edi
pop esi
mov dword [edx + 0x178], 0x16a6
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b7f56
mov esp, ebp
pop ebp
ret
push str.Servers_host_key_did_not_match_the_signature_supplied
call fcn.004548f0
push 0
mov edi, ebx
mov esi, eax
call fcn.00459a60
mov eax, dword [ebx + 0xd4]
push esi
push eax
call fcn.00455060
mov ecx, dword [ebx + 0xd4]
push esi
push 0x4dbe64
push ecx
call fcn.00454b30
push esi
call fcn.004544e0
mov dword [ebx + 0x178], 0
jmp 0x463e99
test esi, esi
jne 0x464644
mov edx, dword [ebp - 0x48]
pop edi
pop esi
mov dword [edx + 0x178], 0x16a6
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b7f56
mov esp, ebp
pop ebp
ret
mov eax, esi
cmp dword [eax + 8], 0x15
je 0x464656
push str.expected_new_keys_packet_from_server
jmp 0x463df9
mov eax, dword [edi + 0x6c]
mov dword [edi + 0x2c4c], 0
test eax, eax
je 0x464673
mov ecx, dword [edi + 0x64]
mov edx, dword [ecx + 4]
push eax
call edx
add esp, 4
mov eax, dword [ebx + 0x44]
mov dword [edi + 0x64], eax
mov eax, dword [eax]
call eax
mov dword [edi + 0x6c], eax
mov eax, dword [edi + 0x7c]
test eax, eax
je 0x464693
mov ecx, dword [edi + 0x74]
mov edx, dword [ecx + 4]
push eax
call edx
add esp, 4
mov eax, dword [ebx + 0x4c]
mov dword [edi + 0x74], eax
mov eax, dword [eax]
call eax
mov dword [edi + 0x7c], eax
mov eax, dword [edi + 0x8c]
test eax, eax
je 0x4646b9
mov ecx, dword [edi + 0x84]
mov edx, dword [ecx + 0x14]
push eax
call edx
add esp, 4
mov eax, dword [ebx + 0x54]
mov dword [edi + 0x84], eax
mov eax, dword [eax + 0x10]
call eax
lea ecx, [ebp - 0x44]
push ecx
mov dword [edi + 0x8c], eax
mov edx, dword [ebx + 0x24]
push 0x44
lea esi, [ebx + 0x74]
push esi
push edx
mov eax, edi
call fcn.0045a370
mov eax, dword [edi + 0x64]
mov edx, dword [edi + 0x6c]
mov eax, dword [eax + 0xc]
lea ecx, [ebp - 0x44]
push ecx
push edx
call eax
mov edx, dword [ebx + 0x24]
lea ecx, [ebp - 0x44]
push ecx
push 0x42
push esi
push edx
mov eax, edi
call fcn.0045a370
mov eax, dword [edi + 0x64]
mov edx, dword [edi + 0x6c]
mov eax, dword [eax + 8]
lea ecx, [ebp - 0x44]
push ecx
push edx
call eax
mov edx, dword [ebx + 0x24]
lea ecx, [ebp - 0x44]
push ecx
push 0x46
push esi
push edx
mov eax, edi
call fcn.0045a370
mov eax, dword [edi + 0x74]
mov edx, dword [edi + 0x7c]
mov eax, dword [eax + 8]
add esp, 0x40
lea ecx, [ebp - 0x44]
push ecx
push edx
call eax
mov ecx, dword [edi + 0x64]
mov edx, dword [ecx + 0x28]
push edx
push str.Initialised__.200s_server__client_encryption
push edi
call fcn.00458490
mov eax, dword [edi + 0x74]
mov ecx, dword [eax + 0x1c]
push ecx
push str.Initialised__.200s_server__client_MAC_algorithm
push edi
call fcn.00458490
mov edx, dword [edi + 0x84]
mov eax, dword [edx + 0x20]
add esp, 0x20
test eax, eax
je 0x46477c
push eax
push str.Initialised__s_decompression
push edi
call fcn.00458490
add esp, 0xc
mov eax, dword [ebx + 0x20]
push eax
call fcn.00469b30
mov ecx, dword [ebx + 0x24]
push ecx
call fcn.00469b30
mov edx, dword [edi + 0x90]
xor esi, esi
add esp, 8
cmp dword [edx + 8], esi
jne 0x4647b3
mov eax, dword [ebx + 0x18]
push eax
call fcn.00469b30
mov ecx, dword [ebx + 0x14]
push ecx
call fcn.00469b30
add esp, 8
mov eax, dword [edi + 0x2c68]
cmp eax, esi
je 0x4647db
mov edx, dword [edi + 0xd4]
push eax
push edx
call fcn.00455060
add esp, 8
mov dword [ebp - 0x5c], esi
mov dword [edi + 0x2c68], esi
jmp 0x4648ff
mov dword [edi + 0x2c5c], esi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [edi + 0x2c64], eax
mov eax, dword [edi + 0xd38]
cmp eax, esi
je 0x464812
imul eax, eax, 0xea60
push edi
push 0x45ae60
push eax
call fcn.0047f180
add esp, 0xc
mov dword [edi + 0x2c60], eax
cmp dword [ebx + 0xcc], esi
je 0x46484d
mov dword [edi + 0x178], 0x1704
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b7f56
mov esp, ebp
pop ebp
ret
sub eax, 0x1704
je 0x46484d
sub eax, 0x12
je 0x46485a
xor ecx, ecx
mov dword [edi + 0x178], ecx
jmp 0x46486e
mov esi, dword [ebp - 0x5c]
mov dword [ebx + 0xcc], 1
test esi, esi
je 0x464884
cmp dword [esi + 8], 0x14
je 0x4648d7
mov dword [edi + 0x178], 0x1716
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b7f56
mov esp, ebp
pop ebp
ret
cmp dword [ebp + 0x10], 0xffffffff
jne 0x464864
test byte [edi + 0x50], 0x40
je 0x4648ed
mov ecx, dword [ebp - 0x58]
push ecx
push str.Server_bug_prevents_key_re_exchange___s_
push edi
call fcn.00458490
mov eax, dword [edi + 0xd38]
xor ecx, ecx
add esp, 0xc
mov dword [edi + 0x2c50], ecx
mov dword [edi + 0x2c4c], ecx
cmp eax, ecx
je 0x464864
imul eax, eax, 0xea60
push edi
push 0x45ae60
push eax
call fcn.0047f180
add esp, 0xc
mov dword [edi + 0x2c60], eax
jmp 0x464864
mov eax, dword [edi + 0xd4]
push str.Server_initiated_key_re_exchange
push eax
call fcn.00455060
add esp, 8
jmp 0x4648ff
mov edx, dword [ebp - 0x58]
push edx
push str.Initiating_key_re_exchange___s_
push edi
call fcn.00458490
add esp, 0xc
mov esi, 1
and dword [edi + 0x140], 0xfffffff0
xor ecx, ecx
mov dword [ebx + 0x94], ecx
lea edx, [edi + 0xd28]
lea esp, [esp]
mov eax, dword [edx]
cmp eax, 3
ja case.default.0x464927
jmp dword [eax*4 + 0x465630]
mov eax, dword [ebx + 0x94]
mov dword [ebx + eax*4 + 0x98], 0x4e2d64
jmp 0x46497d
mov eax, dword [ebx + 0x94]
mov dword [ebx + eax*4 + 0x98], 0x4e2d1c
jmp 0x46497d
mov eax, dword [ebx + 0x94]
mov dword [ebx + eax*4 + 0x98], 0x4e2cf4
jmp 0x46497d
cmp ecx, 3
jge case.default.0x464927
mov eax, dword [ebx + 0x94]
mov dword [ebx + eax*4 + 0x98], 0
add dword [ebx + 0x94], esi
add ecx, esi
add edx, 4
cmp ecx, 4
jl 0x464920
xor ecx, ecx
mov dword [ebx + 0xa8], ecx
lea edx, [edi + 0xd58]
jmp 0x4649a0
mov eax, dword [edx]
cmp eax, 5
ja case.default.0x4649ab
jmp dword [eax*4 + 0x465640]
mov eax, dword [ebx + 0xa8]
mov dword [ebx + eax*4 + 0xac], 0x4e1b04
jmp 0x464a30
cmp dword [edi + 0xe78], 0
je case.default.0x4649ab
mov eax, dword [ebx + 0xa8]
mov dword [ebx + eax*4 + 0xac], 0x4e2a78
jmp 0x464a30
mov eax, dword [ebx + 0xa8]
mov dword [ebx + eax*4 + 0xac], 0x4e2a68
jmp 0x464a30
mov eax, dword [ebx + 0xa8]
mov dword [ebx + eax*4 + 0xac], 0x4e0958
jmp 0x464a30
mov eax, dword [ebx + 0xa8]
mov dword [ebx + eax*4 + 0xac], 0x4e09f0
jmp 0x464a30
cmp ecx, 5
jge case.default.0x4649ab
mov eax, dword [ebx + 0xa8]
mov dword [ebx + eax*4 + 0xac], 0
add dword [ebx + 0xa8], esi
add ecx, esi
add edx, 4
cmp ecx, 6
jl 0x4649a0
cmp dword [edi + 0xd24], 0
je 0x464a59
mov dword [ebx + 0xc4], str.zlib
jmp 0x464a63
mov dword [ebx + 0xc4], str.none
push 0x14
mov dword [edi + 0x120], esi
mov dword [edi + 0x2c5c], esi
call fcn.00458d80
add esp, 4
mov dword [ebx + 0xd0], eax
mov edi, 0x10
call fcn.004717f0
mov ecx, dword [ebx + 0xd0]
push eax
push ecx
call fcn.00458ae0
add esp, 8
sub edi, esi
jne 0x464a84
mov esi, dword [ebx + 0xd0]
call fcn.00458b40
xor eax, eax
mov dword [ebp - 0x50], eax
cmp dword [ebx + 0x94], eax
jle 0x464b1e
lea edx, [ebx + 0x98]
mov dword [ebp - 0x4c], edx
mov edi, edi
mov ecx, dword [ebp - 0x4c]
mov ecx, dword [ecx]
mov dword [ebp - 0x54], ecx
test ecx, ecx
je 0x464b0b
xor edi, edi
mov edx, ecx
cmp dword [edx], edi
jle 0x464b0b
test eax, eax
je 0x464ae8
mov esi, dword [ebx + 0xd0]
mov edx, 0x4cfd00
call fcn.00458b60
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + edi*4]
mov edx, dword [edx]
mov esi, dword [ebx + 0xd0]
call fcn.00458b60
mov ecx, dword [ebp - 0x54]
inc edi
mov eax, 1
cmp edi, dword [ecx]
jl 0x464ad4
mov ecx, dword [ebp - 0x50]
add dword [ebp - 0x4c], 4
inc ecx
mov dword [ebp - 0x50], ecx
cmp ecx, dword [ebx + 0x94]
jl 0x464ac0
mov esi, dword [ebx + 0xd0]
call fcn.00458b40
xor edi, edi
jmp 0x464b30
mov edx, dword [edi*4 + 0x4f90c8]
mov edx, dword [edx + 0x30]
mov esi, dword [ebx + 0xd0]
call fcn.00458b60
cmp edi, 1
jae 0x464b5a
mov esi, dword [ebx + 0xd0]
mov edx, 0x4cfd00
call fcn.00458b60
inc edi
cmp edi, 2
jb 0x464b30
mov esi, dword [ebx + 0xd0]
call fcn.00458b40
xor eax, eax
mov dword [ebp - 0x50], eax
cmp dword [ebx + 0xa8], eax
jle 0x464bde
lea ecx, [ebx + 0xac]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x4c]
mov ecx, dword [edx]
mov dword [ebp - 0x54], ecx
test ecx, ecx
je 0x464bcb
xor edi, edi
cmp dword [ecx], edi
jle 0x464bcb
test eax, eax
je 0x464ba7
mov esi, dword [ebx + 0xd0]
mov edx, 0x4cfd00
call fcn.00458b60
mov edx, dword [ebp - 0x54]
mov eax, dword [edx + 4]
mov ecx, dword [eax + edi*4]
mov edx, dword [ecx + 0x18]
mov esi, dword [ebx + 0xd0]
call fcn.00458b60
mov edx, dword [ebp - 0x54]
inc edi
mov eax, 1
cmp edi, dword [edx]
jl 0x464b93
mov ecx, dword [ebp - 0x50]
add dword [ebp - 0x4c], 4
inc ecx
mov dword [ebp - 0x50], ecx
cmp ecx, dword [ebx + 0xa8]
jl 0x464b81
mov esi, dword [ebx + 0xd0]
call fcn.00458b40
xor eax, eax
mov dword [ebp - 0x50], eax
cmp dword [ebx + 0xa8], eax
jle 0x464c5d
lea ecx, [ebx + 0xac]
mov dword [ebp - 0x4c], ecx
nop
mov edx, dword [ebp - 0x4c]
mov ecx, dword [edx]
mov dword [ebp - 0x54], ecx
test ecx, ecx
je 0x464c4a
xor edi, edi
cmp dword [ecx], edi
jle 0x464c4a
test eax, eax
je 0x464c26
mov esi, dword [ebx + 0xd0]
mov edx, 0x4cfd00
call fcn.00458b60
mov edx, dword [ebp - 0x54]
mov eax, dword [edx + 4]
mov ecx, dword [eax + edi*4]
mov edx, dword [ecx + 0x18]
mov esi, dword [ebx + 0xd0]
call fcn.00458b60
mov edx, dword [ebp - 0x54]
inc edi
mov eax, 1
cmp edi, dword [edx]
jl 0x464c12
mov ecx, dword [ebp - 0x50]
add dword [ebp - 0x4c], 4
inc ecx
mov dword [ebp - 0x50], ecx
cmp ecx, dword [ebx + 0xa8]
jl 0x464c00
mov esi, dword [ebx + 0xd0]
call fcn.00458b40
xor edi, edi
cmp dword [ebx + 0x3c], edi
jle 0x464ca2
nop
mov eax, dword [ebx + 0x38]
mov ecx, dword [eax + edi*4]
mov edx, dword [ecx + 0x14]
mov esi, dword [ebx + 0xd0]
call fcn.00458b60
mov edx, dword [ebx + 0x3c]
dec edx
cmp edi, edx
jge 0x464c9c
mov esi, dword [ebx + 0xd0]
mov edx, 0x4cfd00
call fcn.00458b60
inc edi
cmp edi, dword [ebx + 0x3c]
jl 0x464c70
mov esi, dword [ebx + 0xd0]
call fcn.00458b40
xor edi, edi
cmp dword [ebx + 0x3c], edi
jle 0x464ce6
mov eax, dword [ebx + 0x38]
mov ecx, dword [eax + edi*4]
mov edx, dword [ecx + 0x14]
mov esi, dword [ebx + 0xd0]
call fcn.00458b60
mov edx, dword [ebx + 0x3c]
dec edx
cmp edi, edx
jge 0x464ce0
mov esi, dword [ebx + 0xd0]
mov edx, 0x4cfd00
call fcn.00458b60
inc edi
cmp edi, dword [ebx + 0x3c]
jl 0x464cb4
mov esi, dword [ebx + 0xd0]
call fcn.00458b40
mov eax, dword [ebx + 0xc4]
mov edx, dword [eax]
mov esi, dword [ebx + 0xd0]
call fcn.00458b60
xor eax, eax
mov dword [ebp - 0x58], eax
lea esp, [esp]
mov edi, dword [eax + 0x4f90e8]
cmp edi, dword [ebx + 0xc4]
je 0x464d3e
mov esi, dword [ebx + 0xd0]
mov edx, 0x4cfd00
call fcn.00458b60
mov edx, dword [edi]
mov esi, dword [ebx + 0xd0]
call fcn.00458b60
mov eax, dword [ebp - 0x58]
add eax, 4
mov dword [ebp - 0x58], eax
cmp eax, 8
jb 0x464d10
mov esi, dword [ebx + 0xd0]
call fcn.00458b40
mov ecx, dword [ebx + 0xc4]
mov edx, dword [ecx]
mov esi, dword [ebx + 0xd0]
call fcn.00458b60
xor edi, edi
lea esp, [esp]
mov eax, dword [edi + 0x4f90e8]
mov dword [ebp - 0x58], eax
cmp eax, dword [ebx + 0xc4]
je 0x464da1
mov esi, dword [ebx + 0xd0]
mov edx, 0x4cfd00
call fcn.00458b60
mov edx, dword [ebp - 0x58]
mov edx, dword [edx]
mov esi, dword [ebx + 0xd0]
call fcn.00458b60
add edi, 4
cmp edi, 8
jb 0x464d70
mov esi, dword [ebx + 0xd0]
call fcn.00458b40
mov esi, dword [ebx + 0xd0]
call fcn.00458b40
mov eax, dword [ebx + 0xd0]
push 0
push eax
call fcn.00458ae0
mov ecx, dword [ebx + 0xd0]
push ecx
xor eax, eax
call fcn.00458b00
mov edx, dword [ebx + 0xd0]
mov eax, dword [edx]
add eax, 0xfffffffb
push 1
push eax
mov dword [ebx + 0x2c], eax
call fcn.00454380
mov ecx, dword [ebx + 0x2c]
mov edx, dword [ebx + 0xd0]
push ecx
mov dword [ebx + 0x28], eax
mov ecx, dword [edx + 0x10]
add ecx, 5
push ecx
push eax
call sub.MSVCR100.dll_memcpy
mov edx, dword [ebx + 0xd0]
mov eax, dword [ebp - 0x48]
push edx
push eax
call fcn.004658c0
add esp, 0x28
cmp dword [ebp - 0x5c], 0
jne 0x463e47
mov ecx, dword [ebp - 0x48]
pop edi
pop esi
mov dword [ecx + 0x178], 0x14d4
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b7f56
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x48]
xor eax, eax
mov dword [ecx + 0x90], eax
mov dword [ecx + 0x94], eax
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x4c], eax
mov dword [ebx + 0x50], eax
mov dword [ebx + 0x54], eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0xc], eax
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x5c]
add dword [eax + 0x18], 0x10
lea esi, [ebp - 0x50]
lea edi, [ebp - 0x4c]
call fcn.00459170
xor eax, eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
cmp dword [ebx + 0x94], eax
jle 0x464f29
lea edx, [ebx + 0x98]
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x64]
mov eax, dword [eax]
test eax, eax
jne 0x464eb5
mov dword [ebx + 8], 1
jmp 0x464f06
mov ecx, dword [eax]
xor edi, edi
mov dword [ebp - 0x68], ecx
test ecx, ecx
jle 0x464f06
mov eax, dword [eax + 4]
mov dword [ebp - 0x6c], eax
mov esi, eax
cmp dword [ebp - 0x58], 0
jne 0x464ed5
mov ecx, dword [esi]
mov edx, dword [ecx]
mov dword [ebp - 0x58], edx
mov eax, dword [esi]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
push ecx
call fcn.0045a210
add esp, 4
test eax, eax
jne 0x464ef7
inc edi
add esi, 4
cmp edi, dword [ebp - 0x68]
jl 0x464ec8
jmp 0x464f06
mov edx, dword [ebp - 0x6c]
mov eax, dword [edx + edi*4]
mov ecx, dword [ebp - 0x48]
mov dword [ecx + 0x90], eax
mov edx, dword [ebp - 0x48]
cmp dword [edx + 0x90], 0
jne 0x464f29
mov eax, dword [ebp - 0x54]
add dword [ebp - 0x64], 4
inc eax
mov dword [ebp - 0x54], eax
cmp eax, dword [ebx + 0x94]
jl 0x464ea3
mov edi, dword [ebp - 0x48]
cmp dword [edi + 0x90], 0
jne 0x464f9a
mov eax, dword [ebp - 0x4c]
test eax, eax
jne 0x464f41
mov eax, str._null_
push eax
push str.Couldnt_agree_a_key_exchange_algorithm__available:__s_
call fcn.004548f0
push 0
mov esi, eax
call fcn.00459a60
mov eax, dword [edi + 0xd4]
push esi
push eax
call fcn.00455060
mov ecx, dword [edi + 0xd4]
push esi
push 0x4dbe64
push ecx
call fcn.00454b30
push esi
call fcn.004544e0
add esp, 0x24
mov dword [edi + 0x178], 0
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b7f56
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x50]
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x58]
push edx
call fcn.0045a2e0
mov ebx, dword [ebp - 0x60]
mov dword [ebx + 0xd8], eax
mov eax, dword [ebp - 0x5c]
add esp, 4
lea esi, [ebp - 0x50]
lea edi, [ebp - 0x4c]
call fcn.00459170
mov edi, dword [ebp - 0x50]
xor esi, esi
jmp 0x464fd0
mov eax, dword [esi*4 + 0x4f90c8]
mov ecx, dword [eax + 0x30]
mov eax, dword [ebp - 0x4c]
push ecx
mov edx, edi
call fcn.0045a210
add esp, 4
test eax, eax
jne 0x464ff4
inc esi
cmp esi, 2
jb 0x464fd0
jmp 0x465004
mov edx, dword [esi*4 + 0x4f90c8]
mov eax, dword [ebp - 0x48]
mov dword [eax + 0x94], edx
cmp dword [ebx + 0xd8], 0
je 0x465030
mov ecx, dword [0x4f90c8]
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ecx + 0x30]
push edi
call fcn.0045a2e0
mov ebx, dword [ebp - 0x60]
add esp, 4
test eax, eax
je 0x465030
mov eax, 1
jmp 0x465032
xor eax, eax
mov dword [ebx + 0xd8], eax
mov eax, dword [ebp - 0x5c]
lea esi, [ebp - 0x50]
lea edi, [ebp - 0x4c]
call fcn.00459170
cmp dword [ebx + 0xa8], 0
mov dword [ebp - 0x54], 0
jle 0x4650ca
lea edx, [ebx + 0xac]
mov dword [ebp - 0x58], edx
nop
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
test eax, eax
jne 0x465072
mov dword [ebx + 0xc], 1
jmp 0x4650b1
mov ecx, dword [eax]
xor esi, esi
mov dword [ebp - 0x6c], ecx
test ecx, ecx
jle 0x4650b1
mov eax, dword [eax + 4]
mov dword [ebp - 0x68], eax
mov edi, eax
mov ecx, dword [edi]
mov edx, dword [ecx + 0x18]
mov eax, dword [ebp - 0x4c]
push edx
mov edx, dword [ebp - 0x50]
call fcn.0045a210
add esp, 4
test eax, eax
jne 0x4650a8
inc esi
add edi, 4
cmp esi, dword [ebp - 0x6c]
jl 0x465085
jmp 0x4650b1
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax + esi*4]
mov dword [ebx + 0x40], ecx
cmp dword [ebx + 0x40], 0
jne 0x465112
mov eax, dword [ebp - 0x54]
add dword [ebp - 0x58], 4
inc eax
mov dword [ebp - 0x54], eax
cmp eax, dword [ebx + 0xa8]
jl 0x465060
cmp dword [ebx + 0x40], 0
jne 0x465112
mov eax, dword [ebp - 0x4c]
test eax, eax
jne 0x4650dc
mov eax, str._null_
push eax
push str.Couldnt_agree_a_client_to_server_cipher__available:__s_
call fcn.004548f0
mov edi, dword [ebp - 0x48]
push 0
mov esi, eax
call fcn.00459a60
mov edx, dword [edi + 0xd4]
push esi
push edx
call fcn.00455060
mov eax, dword [edi + 0xd4]
push esi
push 0x4dbe64
push eax
jmp 0x464f6f
mov eax, dword [ebp - 0x5c]
lea esi, [ebp - 0x50]
lea edi, [ebp - 0x4c]
call fcn.00459170
cmp dword [ebx + 0xa8], 0
mov dword [ebp - 0x54], 0
jle 0x4651aa
lea ecx, [ebx + 0xac]
mov dword [ebp - 0x58], ecx
lea esp, [esp]
mov edx, dword [ebp - 0x58]
mov eax, dword [edx]
test eax, eax
jne 0x465152
mov dword [ebx + 0x10], 1
jmp 0x465191
mov ecx, dword [eax]
xor esi, esi
mov dword [ebp - 0x6c], ecx
test ecx, ecx
jle 0x465191
mov eax, dword [eax + 4]
mov dword [ebp - 0x68], eax
mov edi, eax
mov eax, dword [edi]
mov ecx, dword [eax + 0x18]
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
push ecx
call fcn.0045a210
add esp, 4
test eax, eax
jne 0x465188
inc esi
add edi, 4
cmp esi, dword [ebp - 0x6c]
jl 0x465165
jmp 0x465191
mov edx, dword [ebp - 0x68]
mov eax, dword [edx + esi*4]
mov dword [ebx + 0x44], eax
cmp dword [ebx + 0x44], 0
jne 0x4651f2
mov eax, dword [ebp - 0x54]
add dword [ebp - 0x58], 4
inc eax
mov dword [ebp - 0x54], eax
cmp eax, dword [ebx + 0xa8]
jl 0x465140
cmp dword [ebx + 0x44], 0
jne 0x4651f2
mov eax, dword [ebp - 0x4c]
test eax, eax
jne 0x4651bc
mov eax, str._null_
push eax
push str.Couldnt_agree_a_server_to_client_cipher__available:__s_
call fcn.004548f0
mov edi, dword [ebp - 0x48]
push 0
mov esi, eax
call fcn.00459a60
mov ecx, dword [edi + 0xd4]
push esi
push ecx
call fcn.00455060
mov edx, dword [edi + 0xd4]
push esi
push 0x4dbe64
push edx
jmp 0x464f6f
mov eax, dword [ebp - 0x5c]
lea esi, [ebp - 0x50]
lea edi, [ebp - 0x4c]
call fcn.00459170
xor esi, esi
cmp dword [ebx + 0x3c], esi
jle 0x46523c
mov edi, dword [ebx + 0x38]
lea ebx, [ebx]
mov eax, dword [edi]
mov ecx, dword [eax + 0x14]
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
push ecx
call fcn.0045a210
add esp, 4
test eax, eax
jne 0x465233
inc esi
add edi, 4
cmp esi, dword [ebx + 0x3c]
jl 0x465210
jmp 0x46523c
mov eax, dword [ebx + 0x38]
mov edx, dword [eax + esi*4]
mov dword [ebx + 0x48], edx
mov eax, dword [ebp - 0x5c]
lea esi, [ebp - 0x50]
lea edi, [ebp - 0x4c]
call fcn.00459170
xor esi, esi
cmp dword [ebx + 0x3c], esi
jle 0x465280
mov edi, dword [ebx + 0x38]
mov eax, dword [edi]
mov ecx, dword [eax + 0x14]
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
push ecx
call fcn.0045a210
add esp, 4
test eax, eax
jne 0x465277
inc esi
add edi, 4
cmp esi, dword [ebx + 0x3c]
jl 0x465254
jmp 0x465280
mov eax, dword [ebx + 0x38]
mov edx, dword [eax + esi*4]
mov dword [ebx + 0x4c], edx
mov eax, dword [ebp - 0x5c]
lea esi, [ebp - 0x50]
lea edi, [ebp - 0x4c]
call fcn.00459170
xor esi, esi
test esi, esi
jne 0x46529c
mov edi, dword [ebx + 0xc4]
jmp 0x4652a3
mov edi, dword [esi*4 + 0x4f90e4]
mov eax, dword [edi]
mov edx, dword [ebp - 0x50]
push eax
mov eax, dword [ebp - 0x4c]
call fcn.0045a210
add esp, 4
test eax, eax
jne 0x4652c0
inc esi
cmp esi, 3
jb 0x465290
jmp 0x4652c3
mov dword [ebx + 0x50], edi
mov eax, dword [ebp - 0x5c]
lea esi, [ebp - 0x50]
lea edi, [ebp - 0x4c]
call fcn.00459170
xor esi, esi
test esi, esi
jne 0x4652df
mov edi, dword [ebx + 0xc4]
jmp 0x4652e6
mov edi, dword [esi*4 + 0x4f90e4]
mov ecx, dword [edi]
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
push ecx
call fcn.0045a210
add esp, 4
test eax, eax
jne 0x465303
inc esi
cmp esi, 3
jb 0x4652d3
jmp 0x465306
mov dword [ebx + 0x54], edi
mov eax, dword [ebp - 0x5c]
lea esi, [ebp - 0x50]
lea edi, [ebp - 0x4c]
call fcn.00459170
call fcn.00459170
mov ecx, eax
call fcn.00459140
test eax, eax
je 0x465334
cmp dword [ebx + 0xd8], 0
jne 0x465334
mov eax, 1
jmp 0x465336
xor eax, eax
cmp dword [ebx + 8], 0
mov dword [ebx + 0xdc], eax
je 0x4653e7
mov edi, dword [ebp - 0x48]
mov esi, 1
call fcn.00459a40
mov edx, dword [edi + 0x90]
mov eax, dword [edx]
mov ecx, dword [edi + 0xd4]
push edi
push 0x463d00
push eax
push str.key_exchange_algorithm
push ecx
call fcn.00433030
mov edx, dword [ebp - 0x60]
add esp, 0x14
mov dword [edx + 0xd4], eax
test eax, eax
jns 0x4653a3
mov eax, dword [ebp - 0x48]
pop edi
pop esi
mov dword [eax + 0x178], 0x156b
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b7f56
mov esp, ebp
pop ebp
ret
mov ebx, edx
mov edi, dword [ebp - 0x48]
xor esi, esi
call fcn.00459a40
cmp dword [ebx + 0xd4], esi
jne 0x4653ea
mov eax, str.User_aborted_at_kex_warning
push 1
mov esi, edi
push 0
xor ebx, ebx
mov ecx, esi
call fcn.0045c3b0
add esp, 8
pop edi
mov dword [esi + 0x178], ebx
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b7f56
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp - 0x60]
cmp dword [ebx + 0xc], 0
je 0x46544b
mov edi, dword [ebp - 0x48]
mov esi, 1
call fcn.00459a40
mov ecx, dword [ebx + 0x40]
mov edx, dword [ecx + 0x18]
mov eax, edi
push eax
mov eax, dword [eax + 0xd4]
push 0x463d00
push edx
push str.client_to_server_cipher
push eax
call fcn.00433030
add esp, 0x14
mov dword [ebx + 0xd4], eax
test eax, eax
jns 0x463f43
mov dword [edi + 0x178], 0x1584
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b7f56
mov esp, ebp
pop ebp
ret
cmp dword [ebx + 0x10], 0
je 0x463fb3
mov edi, dword [ebp - 0x48]
mov esi, 1
call fcn.00459a40
mov ecx, dword [ebx + 0x44]
mov edx, dword [ecx + 0x18]
mov eax, edi
push eax
mov eax, dword [eax + 0xd4]
push 0x463d00
push edx
push str.server_to_client_cipher
push eax
call fcn.00433030
add esp, 0x14
mov dword [ebx + 0xd4], eax
test eax, eax
jns 0x463fa1
mov ecx, dword [ebp - 0x48]
pop edi
pop esi
mov dword [ecx + 0x178], 0x159d
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b7f56
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 0x48]
mov ebx, edx
mov ecx, dword [ebx + 0x40]
mov eax, dword [ecx + 0x20]
mov edx, dword [ebx + 0x44]
mov ecx, dword [edx + 0x20]
cmp eax, ecx
jle 0x4654ca
mov ecx, eax
mov dword [ebx], ecx
mov eax, dword [esi + 0x90]
mov edx, dword [eax + 0x18]
mov eax, dword [edx + 0xc]
add eax, eax
add eax, eax
add eax, eax
cmp ecx, eax
jle 0x4654e4
mov dword [ebx], eax
mov eax, dword [esi + 0x90]
cmp dword [eax + 8], 0
jne 0x465565
mov eax, dword [esi + 0xd4]
push str.Doing_Diffie_Hellman_group_exchange
push eax
call fcn.00455060
or dword [esi + 0x140], 2
mov eax, dword [ebx]
dec eax
cdq
and edx, 0x3f
lea ecx, [edx + eax]
sar ecx, 6
mov edx, 0x200
shl edx, cl
push 0x1e
mov dword [ebx + 4], edx
call fcn.00458d80
mov dword [ebx + 0xd0], eax
push eax
mov eax, dword [ebx + 4]
call fcn.00458b00
mov eax, dword [ebx + 0xd0]
push eax
push esi
call fcn.004658c0
mov edi, dword [ebp - 0x48]
add esp, 0x18
mov dword [edi + 0x178], 0x15dd
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004b7f56
mov esp, ebp
pop ebp
ret
or dword [esi + 0x140], 1
push eax
call fcn.0046d1d0
mov dword [esi + 0xbc], eax
mov dword [ebx + 0x30], 0x1e
mov dword [ebx + 0x34], 0x1f
mov ecx, dword [esi + 0x90]
mov edx, dword [ecx + 4]
push edx
push str.Using_Diffie_Hellman_with_standard_group___s_
push esi
call fcn.00458490
mov edi, dword [ebp - 0x48]
add esp, 0x10
mov eax, dword [edi + 0x90]
mov ecx, dword [eax + 0x18]
mov edx, dword [ecx + 0x10]
push edx
push str.Doing_Diffie_Hellman_key_exchange_with_hash__s
push edi
call fcn.00458490
mov eax, dword [edi + 0xd4]
push 2
push eax
call fcn.00405aa0
mov ecx, dword [ebx]
mov edx, dword [edi + 0xbc]
add ecx, ecx
push ecx
push edx
call fcn.0046d2b0
mov dword [ebx + 0x1c], eax
mov eax, dword [ebx + 0x30]
push eax
call fcn.00458d80
mov ecx, dword [ebx + 0x1c]
mov dword [ebx + 0xd0], eax
call fcn.00458d10
mov ecx, dword [ebx + 0xd0]
push ecx
push edi
call fcn.004658c0
mov edx, dword [edi + 0xd4]
push 1
push edx
call fcn.00405aa0
add esp, 0x30
mov ecx, dword [ebp - 4]
mov dword [edi + 0x178], 0x1600
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.004b7f56
mov esp, ebp
pop ebp
ret