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

Disassembly:
sub esp, 0x64
mov eax, dword [0x4832b0]
xor eax, esp
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x6c]
push ebx
mov ebx, dword [esp + 0x6c]
push ebp
push esi
push edi
mov edi, dword [esp + 0x84]
xor esi, esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edi
cmp dword [ebx + 0x18c], esi
jne 0x41fb4c
push 0xf8
push 1
call fcn.0040c6e0
add esp, 8
mov dword [ebx + 0x18c], eax
mov eax, dword [ebx + 0x17c]
cmp eax, 0x177d
mov ebp, dword [ebx + 0x18c]
mov ecx, 3
jg 0x420221
je 0x42005e
cmp eax, 0x1700
jg 0x41fd61
je 0x41fd1d
cmp eax, esi
je 0x41fcd0
cmp eax, 0x163e
je 0x41fc5c
cmp eax, 0x16e7
jne 0x420b10
cmp edi, esi
je 0x41fbf8
push str.Unexpected_data_from_server_while_waiting_for_user_response
call fcn.0040cc90
push esi
mov edi, ebx
mov ebp, eax
call fcn.00415090
mov ecx, dword [ebx + 0xd4]
push ebp
push ecx
call fcn.00445970
mov edx, dword [ebx + 0xd4]
push ebp
push 0x46ef38
push edx
call fcn.00446480
push ebp
call fcn.0040c850
add esp, 0x20
pop edi
mov dword [ebx + 0x17c], esi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00456f82
add esp, 0x64
ret
cmp dword [esp + 0x80], esi
jg 0x42175a
mov eax, dword [ebx + 0x2dd4]
mov dword [ebp + 0xec], eax
mov ebx, dword [esp + 0x10]
xor esi, esi
mov edi, ebx
call fcn.00415070
cmp dword [ebp + 0xec], esi
jne 0x42177d
mov eax, str.User_aborted_at_kex_warning
push 1
mov esi, edi
push 0
xor ebx, ebx
mov ecx, esi
call fcn.00417cd0
add esp, 8
pop edi
mov dword [esi + 0x17c], ebx
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00456f82
add esp, 0x64
ret
cmp edi, esi
je 0x42114c
mov eax, dword [esp + 0x1c]
cmp dword [eax + 8], 0x14
je 0x42116f
push str.expected_key_exchange_packet_from_server
call fcn.0040cc90
mov edi, dword [esp + 0x14]
push 0
mov esi, eax
call fcn.00415090
mov ecx, dword [edi + 0xd4]
push esi
push ecx
call fcn.00445970
mov edx, dword [edi + 0xd4]
push esi
push 0x46ef38
push edx
call fcn.00446480
push esi
call fcn.0040c850
add esp, 0x20
mov dword [edi + 0x17c], 0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00456f82
add esp, 0x64
ret
mov dword [ebp + 0x44], esi
mov dword [ebp + 0x40], esi
mov dword [ebp + 0x4c], esi
mov dword [ebp + 0x48], esi
mov dword [ebp + 0x54], esi
mov dword [ebp + 0x50], esi
mov dword [ebp + 0xe4], esi
mov dword [ebp + 0xe0], esi
mov dword [ebp + 0xd8], esi
mov dword [ebp + 0xdc], esi
test byte [ebx + 0x50], 2
mov esi, ebx
mov dword [ebp + 0x3c], ecx
je 0x41fd11
mov dword [ebp + 0x38], 0x4830f4
jmp 0x420c00
mov dword [ebp + 0x38], 0x4830e8
jmp 0x420c00
cmp edi, esi
jne 0x41fba1
cmp dword [esp + 0x80], esi
jg 0x4217be
mov eax, dword [ebx + 0x2dd4]
mov dword [ebp + 0xec], eax
mov ebx, dword [esp + 0x10]
xor esi, esi
mov edi, ebx
call fcn.00415070
cmp dword [ebp + 0xec], esi
jne 0x4217e1
mov eax, str.User_aborted_at_cipher_warning
jmp 0x41fc2f
sub eax, 0x1719
je 0x41fee0
sub eax, 0x1c
je 0x41fe0b
sub eax, 0x25
jne 0x420b10
cmp edi, esi
je 0x41fec1
cmp dword [edi + 8], 0x1f
je 0x41fd96
push str.expected_key_exchange_group_packet_from_server
jmp 0x41fba6
mov eax, edi
call fcn.00414750
mov dword [ebp + 0x14], eax
mov eax, edi
call fcn.00414750
mov ecx, dword [ebp + 0x14]
mov dword [ebp + 0x18], eax
cmp ecx, esi
je 0x41fdd8
cmp eax, esi
je 0x41fdd8
push eax
push ecx
call fcn.00429fe0
mov dword [ebx + 0xbc], eax
add esp, 8
mov dword [ebp + 0x30], 0x20
mov dword [ebp + 0x34], 0x21
jmp 0x421887
push str.unable_to_read_mp_ints_from_incoming_group_packet
call fcn.0040cc90
push esi
mov edi, ebx
mov ebp, eax
call fcn.00415090
mov eax, dword [ebx + 0xd4]
push ebp
push eax
call fcn.00445970
mov ecx, dword [ebx + 0xd4]
push ebp
push 0x46ef38
push ecx
jmp 0x41fbcf
cmp edi, esi
je 0x42003b
mov esi, dword [esp + 0x10]
mov eax, dword [esi + 0x90]
cmp dword [eax + 8], 0
jne 0x421916
mov eax, dword [ebp + 0x40]
mov ecx, dword [ebp + 0x44]
mov eax, dword [eax + 0x20]
mov ecx, dword [ecx + 0x20]
cmp eax, ecx
jle 0x41fe39
mov ecx, eax
mov dword [ebp], ecx
mov edx, dword [esi + 0x90]
mov eax, dword [edx + 0x1c]
mov eax, dword [eax + 0xc]
add eax, eax
add eax, eax
add eax, eax
cmp ecx, eax
jle 0x41fe55
mov dword [ebp], eax
mov eax, dword [esi + 0x90]
cmp dword [eax + 0xc], 0
jne 0x421849
mov ecx, dword [esi + 0xd4]
push str.Doing_Diffie_Hellman_group_exchange
push ecx
call fcn.00445970
mov dword [esi + 0x140], 2
mov eax, dword [ebp]
dec eax
cdq
and edx, 0x3f
add eax, edx
mov ecx, eax
sar ecx, 6
mov edx, 0x200
shl edx, cl
push 0x1e
mov dword [ebp + 4], edx
call fcn.00414290
mov dword [ebp + 0xe8], eax
push eax
mov eax, dword [ebp + 4]
call fcn.00414020
mov eax, dword [ebp + 0xe8]
push eax
push esi
call fcn.00421bd0
add esp, 0x18
mov ebx, esi
pop edi
pop esi
pop ebp
mov dword [ebx + 0x17c], 0x175a
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00456f82
add esp, 0x64
ret
cmp edi, esi
je 0x41ff3b
push str.Unexpected_data_from_server_while_waiting_for_user_response
call fcn.0040cc90
push esi
mov edi, ebx
mov ebp, eax
call fcn.00415090
mov edx, dword [ebx + 0xd4]
push ebp
push edx
call fcn.00445970
mov eax, dword [ebx + 0xd4]
push ebp
push 0x46ef38
push eax
call fcn.00446480
push ebp
call fcn.0040c850
add esp, 0x20
pop edi
mov dword [ebx + 0x17c], esi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00456f82
add esp, 0x64
ret
cmp dword [esp + 0x80], esi
jg 0x421826
mov ecx, dword [ebx + 0x2dd4]
mov dword [ebp + 0xec], ecx
mov ebx, dword [esp + 0x10]
xor esi, esi
mov edi, ebx
call fcn.00415070
cmp dword [ebp + 0xec], esi
je 0x41fd57
mov ecx, dword [ebx + 0x90]
mov edx, dword [ecx + 0x1c]
mov eax, dword [edx]
call eax
mov esi, dword [ebx + 4]
mov ecx, esi
mov dword [ebx + 0xc], eax
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x41ff85
mov edx, dword [esp + 0x10]
mov edx, dword [edx + 0x90]
sub ecx, edi
mov edi, dword [edx + 0x1c]
push esi
mov ebx, ecx
mov esi, eax
call fcn.00413ec0
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 8]
mov eax, ecx
add esp, 4
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x41ffb4
push ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0x90]
mov edi, dword [edx + 0x1c]
sub eax, esi
mov esi, dword [ecx + 0xc]
mov ebx, eax
call fcn.00413ec0
mov eax, dword [ebp + 0x28]
mov ebx, dword [ebp + 0x2c]
push eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x90]
mov esi, dword [eax + 0xc]
mov edi, dword [ecx + 0x1c]
call fcn.00413ec0
mov edx, dword [ebp + 0x28]
push edx
call fcn.0040c850
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
add esp, 0xc
cmp eax, 5
jle 0x42002e
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx + 0x10]
lea ebx, [eax - 5]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x90]
mov esi, dword [eax + 0xc]
mov edi, dword [ecx + 0x1c]
add edx, 5
push edx
call fcn.00413ec0
add esp, 4
cmp dword [ebp + 0xf4], 0
je 0x41fe13
mov edx, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x17c], 0x1735
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00456f82
add esp, 0x64
ret
cmp edi, esi
je 0x4218f7
mov edx, dword [edi + 8]
cmp edx, dword [ebp + 0x34]
je 0x420078
push str.expected_key_exchange_reply_packet_from_server
jmp 0x41fddd
mov edx, dword [ebx + 0xd4]
push 2
push edx
call fcn.00446440
mov eax, dword [esp + 0x24]
lea esi, [ebp + 0x6c]
lea edi, [ebp + 0x58]
call fcn.00414670
mov ecx, dword [ebp + 0x6c]
mov eax, dword [ebx + 0x94]
mov edx, dword [ebp + 0x58]
mov eax, dword [eax]
push ecx
push edx
call eax
mov dword [ebp + 0x78], eax
mov eax, dword [esp + 0x2c]
add esp, 0x10
call fcn.00414750
mov dword [ebp + 0x20], eax
test eax, eax
jne 0x420119
push str.unable_to_parse_key_exchange_reply_packet
call fcn.0040cc90
push 0
mov edi, ebx
mov esi, eax
call fcn.00415090
mov ecx, dword [ebx + 0xd4]
push esi
push ecx
call fcn.00445970
mov edx, dword [ebx + 0xd4]
push esi
push 0x46ef38
push edx
call fcn.00446480
push esi
call fcn.0040c850
add esp, 0x20
pop edi
pop esi
pop ebp
mov dword [ebx + 0x17c], 0
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00456f82
add esp, 0x64
ret
mov eax, dword [esp + 0x1c]
lea esi, [ebp + 0x70]
lea edi, [ebp + 0x5c]
call fcn.00414670
mov eax, dword [ebp + 0x20]
mov esi, ebx
mov ecx, dword [esi + 0xbc]
push eax
push ecx
call fcn.0042a1a0
mov dword [ebp + 0x24], eax
mov edx, dword [esi + 0xd4]
push 0
push edx
call fcn.00446440
mov ecx, dword [esi + 0x90]
mov eax, dword [ebp + 0x58]
mov ebx, dword [ebp + 0x6c]
mov edi, dword [ecx + 0x1c]
mov edx, esi
mov esi, dword [edx + 0xc]
push eax
call fcn.00413ec0
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x90]
mov ebx, dword [esp + 0x24]
add esp, 0x14
cmp dword [eax + 0xc], 0
jne 0x4201b7
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax + 0x1c]
mov eax, dword [ebp + 4]
push ecx
push edx
call fcn.00413f00
mov eax, dword [ebx + 0x90]
mov ecx, dword [ebp + 0x14]
mov esi, dword [ebx + 0xc]
mov edi, dword [eax + 0x1c]
add esp, 8
call fcn.004145d0
mov edx, dword [ebx + 0x90]
mov ecx, dword [ebp + 0x18]
mov esi, dword [ebx + 0xc]
mov edi, dword [edx + 0x1c]
call fcn.004145d0
mov eax, dword [ebx + 0x90]
mov ecx, dword [ebp + 0x1c]
mov esi, dword [ebx + 0xc]
mov edi, dword [eax + 0x1c]
call fcn.004145d0
mov edx, dword [ebx + 0x90]
mov ecx, dword [ebp + 0x20]
mov esi, dword [ebx + 0xc]
mov edi, dword [edx + 0x1c]
call fcn.004145d0
mov eax, dword [ebx + 0xbc]
push eax
call fcn.0042a020
mov ecx, dword [ebp + 0x20]
push ecx
call fcn.00425da0
mov edx, dword [ebx + 0x90]
add esp, 8
cmp dword [edx + 0xc], 0
jne 0x42031e
mov eax, dword [ebp + 0x18]
push eax
call fcn.00425da0
mov ecx, dword [ebp + 0x14]
push ecx
call fcn.00425da0
add esp, 8
jmp 0x42031e
cmp eax, 0x188f
jg 0x420b04
je 0x4208ce
sub eax, 0x17a9
je 0x42061d
sub eax, 0x52
je 0x420295
sub eax, 0x2d
jne 0x420b10
cmp edi, esi
je 0x420259
push str.Unexpected_data_from_server_while_waiting_for_user_host_key_response
jmp 0x420630
cmp dword [esp + 0x80], esi
jg 0x420401
mov ecx, dword [ebx + 0x2dd4]
mov dword [ebp + 0xec], ecx
mov ebx, dword [esp + 0x10]
xor esi, esi
mov edi, ebx
call fcn.00415070
cmp dword [ebp + 0xec], esi
jne 0x420424
mov eax, str.User_aborted_at_host_key_verification
jmp 0x41fc2f
cmp edi, esi
je 0x4208af
cmp dword [edi + 8], 0x20
je 0x420303
mov edx, dword [ebp + 0x60]
push edx
call fcn.0040c850
push str.expected_signature_packet_from_server
call fcn.0040cc90
push esi
mov edi, ebx
mov ebp, eax
call fcn.00415090
mov eax, dword [ebx + 0xd4]
push ebp
push eax
call fcn.00445970
mov ecx, dword [ebx + 0xd4]
push ebp
push 0x46ef38
push ecx
call fcn.00446480
push ebp
call fcn.0040c850
add esp, 0x24
pop edi
mov dword [ebx + 0x17c], esi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00456f82
add esp, 0x64
ret
mov eax, dword [esp + 0x1c]
lea esi, [ebp + 0x70]
lea edi, [ebp + 0x5c]
call fcn.00414670
mov edx, dword [ebp + 0x60]
push edx
call fcn.0040c850
add esp, 4
mov eax, dword [ebx + 0x90]
mov ecx, dword [ebp + 0x24]
mov esi, dword [ebx + 0xc]
mov edi, dword [eax + 0x1c]
call fcn.004145d0
mov ecx, dword [ebx + 0x90]
mov edx, dword [ecx + 0x1c]
mov eax, dword [ebx + 0xc]
mov ecx, dword [edx + 8]
lea edi, [ebp + 0x80]
push edi
push eax
call ecx
xor esi, esi
mov dword [ebx + 0xbc], esi
mov eax, dword [ebp + 0x78]
add esp, 8
cmp eax, esi
je 0x420613
mov ecx, dword [ebx + 0x90]
mov ecx, dword [ecx + 0x1c]
mov ecx, dword [ecx + 0xc]
mov edx, dword [ebx + 0x94]
mov edx, dword [edx + 0x28]
push ecx
mov ecx, dword [ebp + 0x70]
push edi
push ecx
mov ecx, dword [ebp + 0x5c]
push ecx
push eax
call edx
add esp, 0x14
test eax, eax
je 0x420613
mov eax, dword [ebx + 0x94]
mov ecx, dword [ebp + 0x78]
mov edx, dword [eax + 8]
push ecx
call edx
mov ecx, dword [ebp + 0x78]
mov dword [ebp + 0x64], eax
mov eax, dword [ebx + 0x94]
mov edx, dword [eax + 0x24]
push ecx
call edx
mov esi, 1
mov edi, ebx
mov dword [ebp + 0x68], eax
call fcn.00415070
mov eax, dword [ebp + 0x68]
mov ecx, dword [ebp + 0x64]
mov edx, dword [ebx + 0x94]
push ebx
push 0x41fac0
push eax
mov eax, dword [edx + 0x34]
mov edx, dword [ebx + 0xc0]
push ecx
mov ecx, dword [ebx + 0xc4]
push eax
mov eax, dword [ebx + 0xd4]
push ecx
push edx
push eax
call fcn.00445b60
add esp, 0x28
mov dword [ebp + 0xec], eax
test eax, eax
jge 0x420272
mov ecx, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x17c], 0x1828
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00456f82
add esp, 0x64
ret
cmp dword [ebp + 0xe0], 0
jne 0x420451
mov edx, dword [ebx + 0xd4]
push str.Host_key_fingerprint_is:
push edx
call fcn.00445970
mov eax, dword [ebp + 0x68]
mov ecx, dword [ebx + 0xd4]
push eax
push ecx
call fcn.00445970
add esp, 0x10
mov edx, dword [ebp + 0x68]
push edx
call fcn.0040c850
mov eax, dword [ebp + 0x64]
push eax
call fcn.0040c850
mov ecx, dword [ebx + 0x94]
mov edx, dword [ebp + 0x78]
mov eax, dword [ecx + 4]
push edx
call eax
add esp, 0xc
cmp dword [ebp + 0xe0], 0
jne 0x4204ad
lea esi, [ebp + 0x80]
lea edi, [ebx + 0x98]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0x90]
mov edx, dword [ecx + 0x1c]
mov eax, dword [edx + 0xc]
mov dword [ebx + 0xb8], eax
mov dword [ebp + 0xe0], 1
push 0x15
call fcn.00414290
push eax
push ebx
mov dword [ebp + 0xe8], eax
call fcn.00421bd0
mov eax, dword [ebx + 0x68]
add esp, 0xc
mov dword [ebx + 0x31f8], 0
test eax, eax
je 0x4204e1
mov ecx, dword [ebx + 0x60]
mov edx, dword [ecx + 4]
push eax
call edx
add esp, 4
mov eax, dword [ebp + 0x40]
mov dword [ebx + 0x60], eax
mov eax, dword [eax]
call eax
mov dword [ebx + 0x68], eax
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x420501
mov ecx, dword [ebx + 0x70]
mov edx, dword [ecx + 4]
push eax
call edx
add esp, 4
mov eax, dword [ebp + 0x48]
mov dword [ebx + 0x70], eax
mov eax, dword [eax]
call eax
mov dword [ebx + 0x78], eax
mov eax, dword [ebx + 0x88]
test eax, eax
je 0x420527
mov ecx, dword [ebx + 0x80]
mov edx, dword [ecx + 0xc]
push eax
call edx
add esp, 4
mov eax, dword [ebp + 0x50]
mov esi, ebx
mov dword [esi + 0x80], eax
mov eax, dword [eax + 8]
call eax
push 0x43
mov dword [esi + 0x88], eax
mov ecx, dword [ebp + 0x24]
lea edi, [ebp + 0x80]
push edi
push ecx
push esi
lea ebx, [esp + 0x40]
call fcn.004159d0
mov edx, dword [esi + 0x60]
mov ecx, dword [esi + 0x68]
mov edx, dword [edx + 0xc]
mov eax, ebx
push eax
push ecx
call edx
mov eax, dword [ebp + 0x24]
push 0x41
push edi
push eax
push esi
call fcn.004159d0
mov ecx, dword [esi + 0x60]
mov eax, dword [esi + 0x68]
mov ecx, dword [ecx + 8]
mov edx, ebx
push edx
push eax
call ecx
mov edx, dword [ebp + 0x24]
push 0x45
push edi
push edx
push esi
call fcn.004159d0
mov eax, dword [esi + 0x70]
mov edx, dword [esi + 0x78]
mov eax, dword [eax + 8]
add esp, 0x40
mov ecx, ebx
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.004139c0
mov eax, dword [esi + 0x70]
mov ecx, dword [eax + 0x2c]
push ecx
push str.Initialised__.200s_client__server_MAC_algorithm
push esi
call fcn.004139c0
mov edx, dword [esi + 0x80]
mov eax, dword [edx + 0x24]
add esp, 0x20
test eax, eax
je 0x4205e1
push eax
push str.Initialised__s_compression
push esi
call fcn.004139c0
add esp, 0xc
mov dword [esi + 0x120], 0
call fcn.00417bf0
mov ecx, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x17c], 0x188f
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00456f82
add esp, 0x64
ret
push str.Servers_host_key_did_not_match_the_signature_supplied
jmp 0x41fddd
cmp edi, esi
je 0x421937
cmp dword [edi + 8], 0x1e
je 0x42065e
push str.expected_RSA_public_key_packet_from_server
call fcn.0040cc90
push esi
mov edi, ebx
mov ebp, eax
call fcn.00415090
mov edx, dword [ebx + 0xd4]
push ebp
push edx
call fcn.00445970
mov eax, dword [ebx + 0xd4]
push ebp
push 0x46ef38
push eax
jmp 0x41fbcf
mov eax, dword [esp + 0x1c]
lea esi, [ebp + 0x6c]
lea edi, [ebp + 0x58]
call fcn.00414670
mov ecx, dword [edi]
mov edx, ebx
mov eax, dword [edx + 0x90]
mov ebx, dword [esi]
mov edi, dword [eax + 0x1c]
push ecx
mov ecx, edx
mov esi, dword [ecx + 0xc]
call fcn.00413ec0
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x94]
mov ecx, dword [ebp + 0x6c]
mov edx, dword [ebp + 0x58]
mov eax, dword [eax]
push ecx
push edx
call eax
mov dword [ebp + 0x78], eax
mov eax, dword [esp + 0x28]
lea esi, [ebp + 0x74]
lea edi, [esp + 0x24]
call fcn.00414670
mov ecx, dword [esi]
push 1
push ecx
call fcn.0040c6e0
mov edx, dword [esi]
mov ecx, dword [esp + 0x2c]
push edx
push ecx
push eax
mov dword [ebp + 0x60], eax
call fcn.00456ba0
mov edx, dword [esi]
mov eax, dword [ebp + 0x60]
push edx
push eax
call fcn.00430230
mov ecx, dword [ebp + 0x60]
add esp, 0x28
mov dword [ebp + 0x7c], eax
push ecx
test eax, eax
jne 0x420720
call fcn.0040c850
push str.unable_to_parse_RSA_public_key_from_server
call fcn.0040cc90
mov edi, dword [esp + 0x18]
push 0
mov esi, eax
call fcn.00415090
mov edx, dword [edi + 0xd4]
push esi
push edx
call fcn.00445970
mov eax, dword [edi + 0xd4]
push esi
push 0x46ef38
push eax
jmp 0x4212ac
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x90]
mov ebx, dword [esi]
mov esi, dword [eax + 0xc]
mov edi, dword [edx + 0x1c]
call fcn.00413ec0
mov eax, dword [ebp + 0x7c]
push eax
call fcn.00430250
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x90]
mov ecx, dword [edx + 0x1c]
mov edx, dword [ecx + 0xc]
mov esi, eax
shl edx, 4
sub esi, edx
mov dword [esp + 0x30], eax
sub esi, 0x31
lea eax, [esi - 1]
xor ebx, ebx
push eax
mov dword [esp + 0x24], ebx
call fcn.00427450
add esp, 0xc
cmp esi, ebx
mov dword [ebp + 0x24], eax
jle 0x4207a5
mov edi, ebx
and edi, 7
jne 0x420787
call fcn.0042e910
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x18]
mov eax, dword [ebp + 0x24]
mov ecx, edi
sar edx, cl
and edx, 1
push edx
push ebx
push eax
call fcn.00426ce0
inc ebx
add esp, 0xc
cmp ebx, esi
jl 0x420777
mov edx, dword [ebp + 0x24]
lea ecx, [esp + 0x18]
push ecx
push edx
call fcn.00414190
mov ebx, dword [esp + 0x20]
mov edi, eax
lea eax, [ebx + 4]
push 1
push eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], eax
call fcn.0040c6e0
mov esi, eax
mov eax, ebx
sar eax, 0x18
push ebx
mov byte [esi], al
mov ecx, ebx
mov edx, ebx
lea eax, [esi + 4]
sar ecx, 0x10
sar edx, 8
push edi
push eax
mov dword [esp + 0x40], esi
mov byte [esi + 1], cl
mov byte [esi + 2], dl
mov byte [esi + 3], bl
call fcn.00456ba0
mov eax, dword [esp + 0x44]
add eax, 7
cdq
and edx, 7
add eax, edx
mov edi, eax
sar edi, 3
push 1
push edi
call fcn.0040c6e0
mov ecx, dword [ebp + 0x7c]
mov edx, dword [esp + 0x3c]
push ecx
mov ebx, eax
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0x90]
push edi
push ebx
push edx
mov edx, dword [ecx + 0x1c]
push esi
push edx
mov dword [esp + 0x64], ebx
call fcn.00430340
push 0x1f
call fcn.00414290
add esp, 0x40
mov esi, eax
mov dword [ebp + 0xe8], eax
call fcn.00414060
mov esi, dword [ebp + 0xe8]
mov eax, ebx
call fcn.004140e0
mov eax, dword [ebp + 0xe8]
mov esi, dword [esp + 0x10]
push eax
push esi
call fcn.00421bd0
mov ecx, dword [esi + 0x90]
push ebx
mov edx, esi
mov esi, dword [edx + 0xc]
mov ebx, edi
mov edi, dword [ecx + 0x1c]
call fcn.00413ec0
mov eax, dword [esp + 0x30]
push eax
call fcn.0040c850
mov ecx, dword [esp + 0x24]
push ecx
call fcn.0040c850
mov edx, dword [esp + 0x3c]
push edx
call fcn.0040c850
mov eax, dword [ebp + 0x7c]
push eax
call fcn.00430240
mov ebx, dword [esp + 0x2c]
add esp, 0x1c
pop edi
pop esi
pop ebp
mov dword [ebx + 0x17c], 0x17fb
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00456f82
add esp, 0x64
ret
cmp edi, esi
jne 0x4208f5
mov ecx, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x17c], 0x188f
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00456f82
add esp, 0x64
ret
mov edx, edi
cmp dword [edx + 8], 0x15
je 0x420956
push str.expected_new_keys_packet_from_server
call fcn.0040cc90
mov edi, dword [esp + 0x14]
push esi
mov ebx, eax
call fcn.00415090
mov eax, dword [edi + 0xd4]
push ebx
push eax
call fcn.00445970
mov ecx, dword [edi + 0xd4]
push ebx
push 0x46ef38
push ecx
call fcn.00446480
push ebx
call fcn.0040c850
add esp, 0x20
mov dword [edi + 0x17c], esi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00456f82
add esp, 0x64
ret
mov eax, dword [ebx + 0x6c]
mov dword [ebx + 0x31f4], esi
cmp eax, esi
je 0x42096f
mov edx, dword [ebx + 0x64]
push eax
mov eax, dword [edx + 4]
call eax
add esp, 4
mov eax, dword [ebp + 0x44]
mov dword [ebx + 0x64], eax
mov ecx, dword [eax]
call ecx
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x7c]
cmp eax, esi
je 0x42098f
mov edx, dword [ebx + 0x74]
push eax
mov eax, dword [edx + 4]
call eax
add esp, 4
mov eax, dword [ebp + 0x4c]
mov dword [ebx + 0x74], eax
mov ecx, dword [eax]
call ecx
mov dword [ebx + 0x7c], eax
mov eax, dword [ebx + 0x8c]
cmp eax, esi
je 0x4209b5
mov edx, dword [ebx + 0x84]
push eax
mov eax, dword [edx + 0x18]
call eax
add esp, 4
mov eax, dword [ebp + 0x54]
mov esi, ebx
mov dword [esi + 0x84], eax
mov ecx, dword [eax + 0x14]
call ecx
push 0x44
mov dword [esi + 0x8c], eax
mov edx, dword [ebp + 0x24]
lea edi, [ebp + 0x80]
push edi
push edx
push esi
lea ebx, [esp + 0x40]
call fcn.004159d0
mov eax, dword [esi + 0x64]
mov edx, dword [esi + 0x6c]
mov eax, dword [eax + 0xc]
mov ecx, ebx
push ecx
push edx
call eax
mov ecx, dword [ebp + 0x24]
push 0x42
push edi
push ecx
push esi
call fcn.004159d0
mov edx, dword [esi + 0x64]
mov ecx, dword [esi + 0x6c]
mov edx, dword [edx + 8]
mov eax, ebx
push eax
push ecx
call edx
mov eax, dword [ebp + 0x24]
push 0x46
push edi
push eax
push esi
call fcn.004159d0
mov ecx, dword [esi + 0x74]
mov eax, dword [esi + 0x7c]
mov ecx, dword [ecx + 8]
add esp, 0x40
mov edx, ebx
push edx
push eax
call ecx
mov edx, dword [esi + 0x64]
mov eax, dword [edx + 0x28]
push eax
push str.Initialised__.200s_server__client_encryption
push esi
call fcn.004139c0
mov ecx, dword [esi + 0x74]
mov edx, dword [ecx + 0x2c]
push edx
push str.Initialised__.200s_server__client_MAC_algorithm
push esi
call fcn.004139c0
mov eax, dword [esi + 0x84]
mov eax, dword [eax + 0x24]
xor edi, edi
add esp, 0x20
cmp eax, edi
je 0x420a71
push eax
push str.Initialised__s_decompression
push esi
call fcn.004139c0
add esp, 0xc
mov ecx, dword [ebp + 0x24]
push ecx
call fcn.00425da0
mov eax, dword [esi + 0x3210]
add esp, 4
cmp eax, edi
je 0x420aa6
mov edx, dword [esi + 0xd4]
push eax
push edx
call fcn.00445970
add esp, 8
mov dword [esp + 0x1c], edi
mov dword [esi + 0x3210], edi
jmp 0x420c00
mov dword [esi + 0x3204], edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x320c], eax
mov eax, dword [esi + 0xf40]
cmp eax, edi
je 0x420add
imul eax, eax, 0xea60
push esi
push 0x416420
push eax
call fcn.0043f400
add esp, 0xc
mov dword [esi + 0x3208], eax
cmp dword [ebp + 0xe4], edi
je 0x420b18
pop edi
mov dword [esi + 0x17c], 0x18e8
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00456f82
add esp, 0x64
ret
sub eax, 0x18e8
je 0x420b18
sub eax, 0x16
je 0x420b2c
mov dword [ebx + 0x17c], esi
jmp 0x420b44
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
mov dword [ebp + 0xe4], 1
xor esi, esi
cmp edi, esi
je 0x420b5c
cmp dword [edi + 8], 0x14
je 0x420bd3
mov dword [ebx + 0x17c], 0x18fe
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00456f82
add esp, 0x64
ret
mov eax, dword [esp + 0x80]
cmp eax, esi
jge 0x420b3a
cmp eax, 0xfffffffe
jne 0x420b84
mov dword [ebp + 0xd8], 1
cmp dword [ebp + 0xdc], esi
je 0x420b3a
mov dword [ebp + 0xdc], esi
test byte [ebx + 0x50], 0x40
je 0x420be9
mov ecx, dword [esp + 0x18]
push ecx
push str.Server_bug_prevents_key_re_exchange___s_
push ebx
call fcn.004139c0
mov eax, dword [ebx + 0xf40]
add esp, 0xc
mov dword [ebx + 0x31f8], esi
mov dword [ebx + 0x31f4], esi
cmp eax, esi
je 0x420b3a
imul eax, eax, 0xea60
push ebx
push 0x416420
push eax
call fcn.0043f400
add esp, 0xc
mov dword [ebx + 0x3208], eax
jmp 0x420b3a
mov eax, dword [ebx + 0xd4]
push str.Server_initiated_key_re_exchange
push eax
call fcn.00445970
add esp, 8
jmp 0x420bfc
mov edx, dword [esp + 0x18]
push edx
push str.Initiating_key_re_exchange___s_
push ebx
call fcn.004139c0
add esp, 0xc
mov esi, dword [esp + 0x10]
xor ecx, ecx
mov dword [esi + 0x140], ecx
mov dword [ebp + 0xa0], ecx
lea edx, [esi + 0xf2c]
mov ebx, 0x478d04
lea edi, [ecx + 1]
lea esp, [esp]
mov eax, dword [edx]
cmp eax, 4
ja case.default.0x420c27
jmp dword [eax*4 + 0x421958]
mov eax, dword [ebp + 0xa0]
mov dword [ebp + eax*4 + 0xa4], 0x4788ec
jmp 0x420c8c
mov eax, dword [ebp + 0xa0]
mov dword [ebp + eax*4 + 0xa4], 0x47889c
jmp 0x420c8c
mov eax, dword [ebp + 0xa0]
mov dword [ebp + eax*4 + 0xa4], 0x478870
jmp 0x420c8c
mov eax, dword [ebp + 0xa0]
mov dword [ebp + eax*4 + 0xa4], ebx
jmp 0x420c8c
cmp ecx, 4
jge case.default.0x420c27
mov eax, dword [ebp + 0xa0]
mov dword [ebp + eax*4 + 0xa4], 0
add dword [ebp + 0xa0], edi
add ecx, edi
add edx, 4
cmp ecx, 5
jl 0x420c20
xor ecx, ecx
mov dword [ebp + 0xb8], ecx
lea edx, [esi + 0xf60]
mov ebx, 0x476568
nop
mov eax, dword [edx]
cmp eax, 5
ja case.default.0x420cbb
jmp dword [eax*4 + 0x42196c]
mov eax, dword [ebp + 0xb8]
mov dword [ebp + eax*4 + 0xbc], 0x47767c
jmp 0x420d3c
cmp dword [esi + 0x1080], 0
je case.default.0x420cbb
mov eax, dword [ebp + 0xb8]
mov dword [ebp + eax*4 + 0xbc], 0x4785f0
jmp 0x420d3c
mov eax, dword [ebp + 0xb8]
mov dword [ebp + eax*4 + 0xbc], 0x4785e0
jmp 0x420d3c
mov eax, dword [ebp + 0xb8]
mov dword [ebp + eax*4 + 0xbc], 0x4764d0
jmp 0x420d3c
mov eax, dword [ebp + 0xb8]
mov dword [ebp + eax*4 + 0xbc], ebx
jmp 0x420d3c
cmp ecx, 5
jge case.default.0x420cbb
mov eax, dword [ebp + 0xb8]
mov dword [ebp + eax*4 + 0xbc], 0
add dword [ebp + 0xb8], edi
add ecx, edi
add edx, 4
cmp ecx, 6
jl 0x420cb0
cmp dword [esi + 0xf28], 0
je 0x420d65
mov dword [ebp + 0xd4], str.zlib
jmp 0x420d6f
mov dword [ebp + 0xd4], str.none
push 0x14
mov dword [esi + 0x120], edi
mov dword [esi + 0x3204], edi
call fcn.00414290
add esp, 4
mov dword [ebp + 0xe8], eax
mov esi, 0x10
call fcn.0042e910
mov ecx, dword [ebp + 0xe8]
push eax
push ecx
call fcn.00414000
add esp, 8
sub esi, edi
jne 0x420d90
mov esi, dword [ebp + 0xe8]
call fcn.00414060
xor eax, eax
cmp dword [ebp + 0xa0], eax
mov dword [esp + 0x14], eax
jle 0x420e27
lea edx, [ebp + 0xa4]
mov dword [esp + 0x24], edx
lea esp, [esp]
mov ecx, dword [esp + 0x24]
mov edi, dword [ecx]
test edi, edi
je 0x420e11
xor ebx, ebx
cmp dword [edi], ebx
jle 0x420e11
test eax, eax
je 0x420df4
mov esi, dword [ebp + 0xe8]
mov edx, 0x46f7e0
call fcn.00414080
mov edx, dword [edi + 4]
mov eax, dword [edx + ebx*4]
mov edx, dword [eax]
mov esi, dword [ebp + 0xe8]
call fcn.00414080
inc ebx
cmp ebx, dword [edi]
mov eax, 1
jl 0x420de0
mov ecx, dword [esp + 0x14]
add dword [esp + 0x24], 4
inc ecx
cmp ecx, dword [ebp + 0xa0]
mov dword [esp + 0x14], ecx
jl 0x420dd0
mov esi, dword [ebp + 0xe8]
call fcn.00414060
xor edi, edi
jmp 0x420e40
mov ecx, dword [edi*4 + 0x4830e0]
mov edx, dword [ecx + 0x30]
mov esi, dword [ebp + 0xe8]
call fcn.00414080
cmp edi, 1
jae 0x420e6a
mov esi, dword [ebp + 0xe8]
mov edx, 0x46f7e0
call fcn.00414080
inc edi
cmp edi, 2
jb 0x420e40
mov esi, dword [ebp + 0xe8]
call fcn.00414060
xor eax, eax
cmp dword [ebp + 0xb8], eax
mov dword [esp + 0x14], eax
jle 0x420eeb
lea edx, [ebp + 0xbc]
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0x24]
mov edi, dword [ecx]
test edi, edi
je 0x420ed5
xor ebx, ebx
cmp dword [edi], ebx
jle 0x420ed5
test eax, eax
je 0x420eb7
mov esi, dword [ebp + 0xe8]
mov edx, 0x46f7e0
call fcn.00414080
mov edx, dword [edi + 4]
mov eax, dword [edx + ebx*4]
mov edx, dword [eax + 0x18]
mov esi, dword [ebp + 0xe8]
call fcn.00414080
inc ebx
cmp ebx, dword [edi]
mov eax, 1
jl 0x420ea3
mov ecx, dword [esp + 0x14]
add dword [esp + 0x24], 4
inc ecx
cmp ecx, dword [ebp + 0xb8]
mov dword [esp + 0x14], ecx
jl 0x420e93
mov esi, dword [ebp + 0xe8]
call fcn.00414060
xor eax, eax
cmp dword [ebp + 0xb8], eax
mov dword [esp + 0x14], eax
jle 0x420f68
lea ecx, [ebp + 0xbc]
mov dword [esp + 0x24], ecx
mov edi, edi
mov edx, dword [esp + 0x24]
mov edi, dword [edx]
test edi, edi
je 0x420f52
xor ebx, ebx
cmp dword [edi], ebx
jle 0x420f52
test eax, eax
je 0x420f34
mov esi, dword [ebp + 0xe8]
mov edx, 0x46f7e0
call fcn.00414080
mov eax, dword [edi + 4]
mov ecx, dword [eax + ebx*4]
mov edx, dword [ecx + 0x18]
mov esi, dword [ebp + 0xe8]
call fcn.00414080
inc ebx
cmp ebx, dword [edi]
mov eax, 1
jl 0x420f20
mov ecx, dword [esp + 0x14]
add dword [esp + 0x24], 4
inc ecx
cmp ecx, dword [ebp + 0xb8]
mov dword [esp + 0x14], ecx
jl 0x420f10
mov esi, dword [ebp + 0xe8]
call fcn.00414060
xor edi, edi
cmp dword [ebp + 0x3c], edi
jle 0x420fb2
lea ebx, [ebx]
mov edx, dword [ebp + 0x38]
mov eax, dword [edx + edi*4]
mov edx, dword [eax + 0x24]
mov esi, dword [ebp + 0xe8]
call fcn.00414080
mov ecx, dword [ebp + 0x3c]
dec ecx
cmp edi, ecx
jge 0x420fac
mov esi, dword [ebp + 0xe8]
mov edx, 0x46f7e0
call fcn.00414080
inc edi
cmp edi, dword [ebp + 0x3c]
jl 0x420f80
mov esi, dword [ebp + 0xe8]
call fcn.00414060
xor edi, edi
cmp dword [ebp + 0x3c], edi
jle 0x420ff6
mov edx, dword [ebp + 0x38]
mov eax, dword [edx + edi*4]
mov edx, dword [eax + 0x24]
mov esi, dword [ebp + 0xe8]
call fcn.00414080
mov ecx, dword [ebp + 0x3c]
dec ecx
cmp edi, ecx
jge 0x420ff0
mov esi, dword [ebp + 0xe8]
mov edx, 0x46f7e0
call fcn.00414080
inc edi
cmp edi, dword [ebp + 0x3c]
jl 0x420fc4
mov dword [esp + 0x18], 2
mov edi, edi
mov esi, dword [ebp + 0xe8]
call fcn.00414060
mov edx, dword [ebp + 0xd4]
mov edx, dword [edx]
mov esi, dword [ebp + 0xe8]
call fcn.00414080
cmp dword [ebp + 0xd8], 0
je 0x421057
mov eax, dword [ebp + 0xd4]
cmp dword [eax + 4], 0
je 0x421057
mov esi, dword [ebp + 0xe8]
mov edx, 0x46f7e0
call fcn.00414080
mov ecx, dword [ebp + 0xd4]
mov edx, dword [ecx + 4]
mov esi, dword [ebp + 0xe8]
call fcn.00414080
xor edi, edi
lea esp, [esp]
mov ebx, dword [edi + 0x483100]
cmp ebx, dword [ebp + 0xd4]
je 0x4210b8
mov esi, dword [ebp + 0xe8]
mov edx, 0x46f7e0
call fcn.00414080
mov edx, dword [ebx]
mov esi, dword [ebp + 0xe8]
call fcn.00414080
cmp dword [ebp + 0xd8], 0
je 0x4210b8
cmp dword [ebx + 4], 0
je 0x4210b8
mov esi, dword [ebp + 0xe8]
mov edx, 0x46f7e0
call fcn.00414080
mov edx, dword [ebx + 4]
mov esi, dword [ebp + 0xe8]
call fcn.00414080
add edi, 4
cmp edi, 8
jb 0x421060
sub dword [esp + 0x18], 1
jne 0x421000
mov esi, dword [ebp + 0xe8]
call fcn.00414060
mov esi, dword [ebp + 0xe8]
call fcn.00414060
mov edx, dword [ebp + 0xe8]
push 0
push edx
call fcn.00414000
mov eax, dword [ebp + 0xe8]
push eax
xor eax, eax
call fcn.00414020
mov ecx, dword [ebp + 0xe8]
mov eax, dword [ecx]
add eax, 0xfffffffb
push 1
push eax
mov dword [ebp + 0x2c], eax
call fcn.0040c6e0
mov edx, dword [ebp + 0x2c]
mov ecx, dword [ebp + 0xe8]
push edx
mov dword [ebp + 0x28], eax
mov edx, dword [ecx + 0x10]
add edx, 5
push edx
push eax
call fcn.00456ba0
mov eax, dword [ebp + 0xe8]
mov ecx, dword [esp + 0x30]
push eax
push ecx
call fcn.00421bd0
add esp, 0x28
cmp dword [esp + 0x1c], 0
jne 0x41fc64
mov edx, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x17c], 0x163e
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00456f82
add esp, 0x64
ret
mov ecx, dword [esp + 0x10]
xor eax, eax
mov dword [ecx + 0x90], eax
mov dword [ecx + 0x94], eax
mov dword [ebp + 0x40], eax
mov dword [ebp + 0x44], eax
mov dword [ebp + 0x48], eax
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x54], eax
mov dword [ebp + 0x10], eax
mov dword [ebp + 0xc], eax
mov dword [ebp + 8], eax
mov eax, dword [esp + 0x1c]
add dword [eax + 0x18], 0x10
lea esi, [esp + 0x14]
lea edi, [esp + 0x20]
call fcn.00414670
xor eax, eax
cmp dword [ebp + 0xa0], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], eax
jle 0x421260
lea eax, [ebp + 0xa4]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx]
test eax, eax
jne 0x4211e4
mov dword [ebp + 8], 1
jmp 0x421239
mov ebx, dword [eax]
xor edi, edi
test ebx, ebx
jle 0x421239
mov eax, dword [eax + 4]
mov dword [esp + 0x2c], eax
mov esi, eax
cmp dword [esp + 0x18], 0
jne 0x421204
mov edx, dword [esi]
mov eax, dword [edx]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esi]
mov eax, dword [edx]
push ecx
push eax
mov eax, dword [esp + 0x28]
call fcn.00415880
add esp, 8
test eax, eax
jne 0x421228
inc edi
add esi, 4
cmp edi, ebx
jl 0x4211f5
jmp 0x421239
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + edi*4]
mov eax, dword [esp + 0x10]
mov dword [eax + 0x90], edx
mov ecx, dword [esp + 0x10]
cmp dword [ecx + 0x90], 0
jne 0x421260
mov eax, dword [esp + 0x24]
add dword [esp + 0x28], 4
inc eax
cmp eax, dword [ebp + 0xa0]
mov dword [esp + 0x24], eax
jl 0x4211d1
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x90], 0
jne 0x4212d9
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x42127a
mov eax, 0x473b74
push eax
push str.Couldnt_agree_a_key_exchange_algorithm__available:__s_
call fcn.0040cc90
mov edi, dword [esp + 0x18]
push 0
mov esi, eax
call fcn.00415090
mov eax, dword [edi + 0xd4]
push esi
push eax
call fcn.00445970
mov ecx, dword [edi + 0xd4]
push esi
push 0x46ef38
push ecx
call fcn.00446480
push esi
call fcn.0040c850
add esp, 0x24
mov dword [edi + 0x17c], 0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00456f82
add esp, 0x64
ret
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
push edx
call fcn.00415940
mov dword [ebp + 0xf0], eax
mov eax, dword [esp + 0x20]
add esp, 4
lea esi, [esp + 0x14]
lea edi, [esp + 0x20]
call fcn.00414670
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
xor esi, esi
nop
mov eax, dword [esi*4 + 0x4830e0]
mov ecx, dword [eax + 0x30]
push ebx
push ecx
mov eax, edi
call fcn.00415880
add esp, 8
test eax, eax
jne 0x421332
inc esi
cmp esi, 2
jb 0x421310
jmp 0x421343
mov edx, dword [esi*4 + 0x4830e0]
mov eax, dword [esp + 0x10]
mov dword [eax + 0x94], edx
cmp dword [ebp + 0xf0], 0
je 0x421369
mov ecx, dword [0x4830e0]
mov eax, dword [ecx + 0x30]
push edi
call fcn.00415940
add esp, 4
test eax, eax
je 0x421369
mov eax, 1
jmp 0x42136b
xor eax, eax
mov dword [ebp + 0xf0], eax
mov eax, dword [esp + 0x1c]
lea esi, [esp + 0x14]
lea edi, [esp + 0x20]
call fcn.00414670
cmp dword [ebp + 0xb8], 0
mov dword [esp + 0x24], 0
jle 0x421410
lea edx, [ebp + 0xbc]
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
test eax, eax
jne 0x4213b4
mov dword [ebp + 0xc], 1
jmp 0x4213f4
mov ebx, dword [eax]
xor esi, esi
test ebx, ebx
jle 0x4213f4
mov eax, dword [eax + 4]
mov dword [esp + 0x2c], eax
mov edi, eax
mov ecx, dword [esp + 0x14]
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
push ecx
push eax
mov eax, dword [esp + 0x28]
call fcn.00415880
add esp, 8
test eax, eax
jne 0x4213ea
inc esi
add edi, 4
cmp esi, ebx
jl 0x4213c5
jmp 0x4213f4
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + esi*4]
mov dword [ebp + 0x40], edx
cmp dword [ebp + 0x40], 0
jne 0x421410
mov eax, dword [esp + 0x24]
add dword [esp + 0x18], 4
inc eax
cmp eax, dword [ebp + 0xb8]
mov dword [esp + 0x24], eax
jl 0x4213a1
xor ebx, ebx
cmp dword [ebp + 0x40], ebx
jne 0x42147e
mov eax, dword [esp + 0x20]
cmp eax, ebx
jne 0x421424
mov eax, 0x473b74
push eax
push str.Couldnt_agree_a_client_to_server_cipher__available:__s_
call fcn.0040cc90
mov edi, dword [esp + 0x18]
push ebx
mov esi, eax
call fcn.00415090
mov eax, dword [edi + 0xd4]
push esi
push eax
call fcn.00445970
mov ecx, dword [edi + 0xd4]
push esi
push 0x46ef38
push ecx
call fcn.00446480
push esi
call fcn.0040c850
add esp, 0x24
mov dword [edi + 0x17c], ebx
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00456f82
add esp, 0x64
ret
mov eax, dword [esp + 0x1c]
lea esi, [esp + 0x14]
lea edi, [esp + 0x20]
call fcn.00414670
cmp dword [ebp + 0xb8], ebx
mov dword [esp + 0x24], ebx
jle 0x42151f
lea edx, [ebp + 0xbc]
mov dword [esp + 0x18], edx
lea esp, [esp]
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
test eax, eax
jne 0x4214c3
mov dword [ebp + 0x10], 1
jmp 0x421503
mov ebx, dword [eax]
xor esi, esi
test ebx, ebx
jle 0x421503
mov eax, dword [eax + 4]
mov dword [esp + 0x2c], eax
mov edi, eax
mov ecx, dword [esp + 0x14]
mov edx, dword [edi]
mov eax, dword [edx + 0x18]
push ecx
push eax
mov eax, dword [esp + 0x28]
call fcn.00415880
add esp, 8
test eax, eax
jne 0x4214f9
inc esi
add edi, 4
cmp esi, ebx
jl 0x4214d4
jmp 0x421503
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx + esi*4]
mov dword [ebp + 0x44], edx
cmp dword [ebp + 0x44], 0
jne 0x42153d
mov eax, dword [esp + 0x24]
add dword [esp + 0x18], 4
inc eax
cmp eax, dword [ebp + 0xb8]
mov dword [esp + 0x24], eax
jl 0x4214b0
cmp dword [ebp + 0x44], 0
jne 0x42153d
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x421532
mov eax, 0x473b74
push eax
push str.Couldnt_agree_a_server_to_client_cipher__available:__s_
jmp 0x421280
mov eax, dword [esp + 0x1c]
lea esi, [esp + 0x14]
lea edi, [esp + 0x20]
call fcn.00414670
xor esi, esi
cmp dword [ebp + 0x3c], esi
jle 0x42158b
mov edi, dword [ebp + 0x38]
mov ebx, dword [esp + 0x14]
lea esp, [esp]
mov edx, dword [edi]
mov eax, dword [edx + 0x24]
push ebx
push eax
mov eax, dword [esp + 0x28]
call fcn.00415880
add esp, 8
test eax, eax
jne 0x421582
inc esi
add edi, 4
cmp esi, dword [ebp + 0x3c]
jl 0x421560
jmp 0x42158b
mov eax, dword [ebp + 0x38]
mov ecx, dword [eax + esi*4]
mov dword [ebp + 0x48], ecx
mov eax, dword [esp + 0x1c]
lea esi, [esp + 0x14]
lea edi, [esp + 0x20]
call fcn.00414670
xor esi, esi
cmp dword [ebp + 0x3c], esi
jle 0x4215db
mov edi, dword [ebp + 0x38]
mov ebx, dword [esp + 0x14]
lea ebx, [ebx]
mov edx, dword [edi]
mov eax, dword [edx + 0x24]
push ebx
push eax
mov eax, dword [esp + 0x28]
call fcn.00415880
add esp, 8
test eax, eax
jne 0x4215d2
inc esi
add edi, 4
cmp esi, dword [ebp + 0x3c]
jl 0x4215b0
jmp 0x4215db
mov eax, dword [ebp + 0x38]
mov ecx, dword [eax + esi*4]
mov dword [ebp + 0x4c], ecx
mov eax, dword [esp + 0x1c]
lea esi, [esp + 0x14]
lea edi, [esp + 0x20]
call fcn.00414670
mov ebx, dword [esp + 0x14]
xor edi, edi
test edi, edi
jne 0x4215fe
mov esi, dword [ebp + 0xd4]
jmp 0x421605
mov esi, dword [edi*4 + 0x4830fc]
mov edx, dword [esi]
mov eax, dword [esp + 0x20]
push ebx
push edx
call fcn.00415880
add esp, 8
test eax, eax
jne 0x421649
mov eax, dword [esi + 4]
push ebx
push eax
mov eax, dword [esp + 0x28]
call fcn.00415880
add esp, 8
test eax, eax
je 0x421641
cmp dword [ebp + 0xd8], 0
jne 0x421649
mov dword [ebp + 0xdc], 1
inc edi
cmp edi, 3
jb 0x4215f2
jmp 0x42164c
mov dword [ebp + 0x50], esi
mov eax, dword [esp + 0x1c]
lea esi, [esp + 0x14]
lea edi, [esp + 0x20]
call fcn.00414670
mov ebx, dword [esp + 0x14]
xor edi, edi
test edi, edi
jne 0x42166f
mov esi, dword [ebp + 0xd4]
jmp 0x421676
mov esi, dword [edi*4 + 0x4830fc]
mov ecx, dword [esi]
mov eax, dword [esp + 0x20]
push ebx
push ecx
call fcn.00415880
add esp, 8
test eax, eax
jne 0x4216ba
mov edx, dword [esi + 4]
mov eax, dword [esp + 0x20]
push ebx
push edx
call fcn.00415880
add esp, 8
test eax, eax
je 0x4216b2
cmp dword [ebp + 0xd8], 0
jne 0x4216ba
mov dword [ebp + 0xdc], 1
inc edi
cmp edi, 3
jb 0x421663
jmp 0x4216bd
mov dword [ebp + 0x54], esi
cmp dword [ebp + 0xdc], 0
mov ebx, dword [esp + 0x10]
je 0x4216de
mov eax, dword [ebx + 0xd4]
push str.Server_supports_delayed_compression__will_try_this_later
push eax
call fcn.00445970
add esp, 8
mov eax, dword [esp + 0x1c]
lea esi, [esp + 0x14]
lea edi, [esp + 0x20]
call fcn.00414670
call fcn.00414670
mov ecx, eax
call fcn.00414640
test eax, eax
je 0x42170f
cmp dword [ebp + 0xf0], 0
jne 0x42170f
mov eax, 1
jmp 0x421711
xor eax, eax
cmp dword [ebp + 8], 0
mov dword [ebp + 0xf4], eax
je 0x42177d
mov esi, 1
mov edi, ebx
call fcn.00415070
mov ecx, dword [ebx + 0x90]
mov edx, dword [ecx]
mov eax, dword [ebx + 0xd4]
push ebx
push 0x41fac0
push edx
push str.key_exchange_algorithm
push eax
call fcn.00445c80
add esp, 0x14
mov dword [ebp + 0xec], eax
test eax, eax
jge 0x41fc11
mov ecx, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x17c], 0x16e7
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00456f82
add esp, 0x64
ret
cmp dword [ebp + 0xc], 0
je 0x4217e1
mov esi, 1
mov edi, ebx
call fcn.00415070
mov edx, dword [ebp + 0x40]
mov eax, dword [edx + 0x18]
mov ecx, dword [ebx + 0xd4]
push ebx
push 0x41fac0
push eax
push str.client_to_server_cipher
push ecx
call fcn.00445c80
add esp, 0x14
mov dword [ebp + 0xec], eax
test eax, eax
jge 0x41fd3e
mov edx, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [edx + 0x17c], 0x1700
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00456f82
add esp, 0x64
ret
cmp dword [ebp + 0x10], 0
je 0x41ff6d
mov esi, 1
mov edi, ebx
call fcn.00415070
mov eax, dword [ebp + 0x44]
mov ecx, dword [eax + 0x18]
mov edx, dword [ebx + 0xd4]
push ebx
push 0x41fac0
push ecx
push str.server_to_client_cipher
push edx
call fcn.00445c80
add esp, 0x14
mov dword [ebp + 0xec], eax
test eax, eax
jge 0x41ff54
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
mov dword [eax + 0x17c], 0x1719
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00456f82
add esp, 0x64
ret
push eax
mov dword [esi + 0x140], 1
call fcn.00429fa0
mov dword [esi + 0xbc], eax
mov dword [ebp + 0x30], 0x1e
mov dword [ebp + 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.004139c0
add esp, 0x10
mov ebx, esi
mov eax, dword [ebx + 0x90]
mov ecx, dword [eax + 0x1c]
mov edx, dword [ecx + 0x10]
push edx
push str.Doing_Diffie_Hellman_key_exchange_with_hash__s
push ebx
call fcn.004139c0
mov eax, dword [ebx + 0xd4]
push 2
push eax
call fcn.00446440
mov ecx, dword [ebp]
mov edx, dword [ebx + 0xbc]
add ecx, ecx
push ecx
push edx
call fcn.0042a070
mov dword [ebp + 0x1c], eax
mov eax, dword [ebp + 0x30]
push eax
call fcn.00414290
mov ecx, dword [ebp + 0x1c]
mov dword [ebp + 0xe8], eax
call fcn.00414220
mov ecx, dword [ebp + 0xe8]
push ecx
push ebx
call fcn.00421bd0
mov edx, dword [ebx + 0xd4]
push 1
push edx
call fcn.00446440
add esp, 0x30
pop edi
pop esi
pop ebp
mov dword [ebx + 0x17c], 0x177d
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.00456f82
add esp, 0x64
ret
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + 0x10]
push ecx
push str.Doing_RSA_key_exchange_with_hash__s
push esi
call fcn.004139c0
add esp, 0xc
mov dword [esi + 0x140], 3
mov ebx, esi
mov ecx, dword [esp + 0x70]
pop edi
pop esi
pop ebp
mov dword [ebx + 0x17c], 0x17a9
pop ebx
xor ecx, esp
xor eax, eax
call fcn.00456f82
add esp, 0x64
ret