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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
mov esi, edx
push ebx
sub esp, 0xec
mov ebx, dword [ebp + 8]
mov dword [ebp - 0xac], eax
mov eax, dword [eax + 0x188]
test eax, eax
mov dword [ebp - 0xb8], eax
je 0x416130
mov edi, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xac]
mov eax, dword [edi + 0x178]
add ecx, 0x178
mov dword [ebp - 0xb0], ecx
cmp eax, 0x15b8
je 0x416160
jg 0x4160e0
cmp eax, 0x156a
je 0x4165a2
jle 0x41624b
cmp eax, 0x1583
je 0x416ab8
cmp eax, 0x159c
je 0x416f54
lea esi, [esi]
mov eax, dword [ebp - 0xb0]
mov dword [eax], 0
add esp, 0xec
mov eax, 1
pop ebx
pop esi
pop edi
pop ebp
ret
cmp eax, 0x163e
je 0x416532
jg 0x4162e5
cmp eax, 0x15dc
je 0x416a94
cmp eax, 0x15ff
jne 0x4160c0
mov ebx, dword [ebp + 0xc]
test ebx, ebx
je 0x41651f
mov ebx, dword [ebp - 0xb8]
mov esi, dword [ebp + 0xc]
mov eax, dword [ebx + 0x34]
cmp dword [esi + 8], eax
je 0x417409
mov dword [esp], str.expected_key_exchange_reply_packet_from_server
jmp 0x416544
mov dword [esp], 1
mov edi, 0xe0
mov dword [esp + 4], edi
call fcn.00403a80
mov dword [ebp - 0xb8], eax
mov edx, dword [ebp - 0xac]
mov dword [edx + 0x188], eax
jmp 0x41606b
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x4166cb
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0x40]
mov ecx, dword [eax + 0x20]
mov eax, dword [edx + 0x44]
mov edx, dword [eax + 0x20]
cmp edx, ecx
jl 0x4163ed
mov ecx, dword [ebp - 0xb8]
mov ebx, dword [ebp - 0xac]
mov dword [ecx], edx
mov ecx, dword [ebx + 0x90]
mov eax, dword [ecx + 0x18]
mov eax, dword [eax + 0xc]
shl eax, 3
cmp edx, eax
jle 0x4161ae
mov esi, dword [ebp - 0xb8]
mov dword [esi], eax
mov esi, dword [ecx + 8]
test esi, esi
jne 0x4163f4
mov ebx, str.Doing_Diffie_Hellman_group_exchange
mov dword [esp + 4], ebx
mov edi, dword [ebp - 0xac]
mov eax, dword [edi + 0xd4]
mov dword [esp], eax
call fcn.0043b570
or dword [edi + 0x140], 2
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx]
mov ecx, eax
dec ecx
js 0x416fc4
sar ecx, 6
mov eax, 0x200
shl eax, cl
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 4], eax
mov eax, 0x1e
call fcn.004135d0
mov ebx, dword [ebp - 0xb8]
mov edx, dword [ebx + 4]
mov dword [ebx + 0xd0], eax
call fcn.00413050
mov edx, dword [ebx + 0xd0]
mov eax, dword [ebp - 0xac]
call fcn.00418630
mov esi, dword [ebp - 0xb0]
xor eax, eax
mov dword [esi], 0x15dc
nop
add esp, 0xec
pop ebx
pop esi
pop edi
pop ebp
ret
test eax, eax
je 0x4166de
cmp eax, 0x14d3
jne 0x4160c0
mov ebx, dword [ebp + 0xc]
test ebx, ebx
je 0x417a0e
mov edi, dword [ebp + 0xc]
cmp dword [edi + 8], 0x14
je 0x417847
mov dword [esp], str.expected_key_exchange_packet_from_server
call fcn.00403e90
mov ebx, eax
mov eax, dword [ebp - 0xac]
xor edx, edx
call fcn.00414020
mov dword [esp + 4], ebx
mov edx, dword [ebp - 0xac]
mov eax, dword [edx + 0xd4]
mov dword [esp], eax
call fcn.0043b570
mov dword [esp + 8], ebx
mov eax, 0x44c185
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ecx + 0xd4]
mov dword [esp], eax
call fcn.0040b8d0
mov dword [esp], ebx
call fcn.00403f40
mov ebx, dword [ebp - 0xb0]
xor eax, eax
mov dword [ebx], 0
jmp 0x416240
cmp eax, 0x1703
je 0x416a7e
jle 0x41691d
cmp eax, 0x1715
jne 0x4160c0
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x416311
mov edi, dword [ebp + 0xc]
cmp dword [edi + 8], 0x14
je 0x416327
mov eax, dword [ebp + 0xc]
test eax, eax
setne al
inc ebx
setne dl
or eax, edx
test al, 1
jne 0x417022
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x4171d3
mov ecx, dword [ebp - 0xac]
test byte [ecx + 0x50], 0x40
jne 0x416fcc
mov dword [esp + 8], esi
mov ebx, str.Initiating_key_re_exchange___s_
mov dword [esp + 4], ebx
mov esi, dword [ebp - 0xac]
mov dword [esp], esi
call fcn.00412690
mov ebx, dword [ebp - 0xac]
xor eax, eax
mov esi, dword [ebp - 0xb8]
and dword [ebx + 0x140], 0xfffffff0
xor ebx, ebx
mov dword [esi + 0x94], eax
lea esi, [esi]
mov edi, dword [ebp - 0xac]
mov eax, dword [edi + ebx*4 + 0xd28]
cmp eax, 1
je 0x4169ca
jle 0x416a12
cmp eax, 2
je 0x4169ee
cmp eax, 3
je 0x416a5a
nop
inc ebx
cmp ebx, 3
jle 0x416380
mov eax, dword [ebp - 0xb8]
xor edi, edi
xor ebx, ebx
mov dword [eax + 0xa8], edi
lea esi, [esi]
lea edi, [edi]
mov edx, dword [ebp - 0xac]
mov eax, dword [edx + ebx*4 + 0xd58]
cmp eax, 5
ja case.default.0x4163e6
jmp dword [eax*4 + 0x44ced8]
mov edx, ecx
jmp 0x416185
mov esi, dword [ebp - 0xac]
or dword [esi + 0x140], 1
mov dword [esp], ecx
call fcn.0042cfa0
mov dword [esi + 0xbc], eax
mov eax, dword [esi + 0x90]
mov edi, dword [ebp - 0xb8]
mov eax, dword [eax + 4]
mov dword [edi + 0x30], 0x1e
mov dword [edi + 0x34], 0x1f
mov dword [esp + 8], eax
mov eax, str.Using_Diffie_Hellman_with_standard_group___s_
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00412690
mov edx, dword [ebp - 0xac]
mov edi, 2
mov eax, dword [edx + 0x90]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0x10]
mov dword [esp], edx
mov dword [esp + 8], eax
mov eax, str.Doing_Diffie_Hellman_key_exchange_with_hash__s
mov dword [esp + 4], eax
call fcn.00412690
mov dword [esp + 4], edi
mov ecx, dword [ebp - 0xac]
mov eax, dword [ecx + 0xd4]
mov dword [esp], eax
call fcn.0043b060
mov ebx, dword [ebp - 0xb8]
mov eax, dword [ebx]
add eax, eax
mov dword [esp + 4], eax
mov esi, dword [ebp - 0xac]
mov eax, dword [esi + 0xbc]
mov dword [esp], eax
call fcn.0042d0b0
mov dword [ebx + 0x1c], eax
mov eax, dword [ebx + 0x30]
call fcn.004135d0
mov edi, dword [ebp - 0xb8]
mov ebx, eax
lea edx, [ebp - 0xa4]
mov dword [edi + 0xd0], eax
mov eax, dword [edi + 0x1c]
call fcn.00413500
mov esi, eax
mov eax, ebx
call fcn.004131e0
mov eax, dword [ebp - 0xa4]
mov edx, esi
mov dword [esp], eax
mov eax, ebx
call fcn.004132a0
mov dword [esp], esi
mov esi, 1
call fcn.00403f40
mov edx, dword [edi + 0xd0]
mov eax, dword [ebp - 0xac]
call fcn.00418630
mov dword [esp + 4], esi
mov edx, dword [ebp - 0xac]
mov eax, dword [edx + 0xd4]
mov dword [esp], eax
call fcn.0043b060
mov ecx, dword [ebp - 0xb0]
xor eax, eax
mov dword [ecx], 0x15ff
jmp 0x416240
mov edi, dword [ebp + 0xc]
test edi, edi
je 0x416acf
mov dword [esp], str.Unexpected_data_from_server_while_waiting_for_user_host_key_response
call fcn.00403e90
mov ebx, eax
mov eax, dword [ebp - 0xac]
xor edx, edx
call fcn.00414020
mov dword [esp + 4], ebx
mov edi, dword [ebp - 0xac]
mov eax, dword [edi + 0xd4]
mov dword [esp], eax
call fcn.0043b570
mov dword [esp + 8], ebx
mov eax, 0x44c185
mov dword [esp + 4], eax
mov eax, dword [edi + 0xd4]
mov dword [esp], eax
call fcn.0040b8d0
mov dword [esp], ebx
call fcn.00403f40
xor eax, eax
mov dword [edi + 0x178], eax
xor eax, eax
jmp 0x416240
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x4165b2
mov dword [esp], str.Unexpected_data_from_server_while_waiting_for_user_response
jmp 0x416544
test ebx, ebx
jg 0x4171a5
mov edx, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xb8]
mov eax, dword [edx + 0x282c]
mov dword [ecx + 0xd4], eax
mov eax, dword [ebp - 0xac]
xor edx, edx
call fcn.00413fd0
mov ebx, dword [ebp - 0xb8]
mov edx, dword [ebx + 0xd4]
test edx, edx
je 0x417468
mov edi, dword [ebp - 0xb8]
mov eax, dword [edi + 0xc]
test eax, eax
jne 0x41739e
mov edx, dword [ebp - 0xb8]
mov ecx, dword [edx + 0x10]
test ecx, ecx
jne 0x4174a1
mov esi, dword [ebp - 0xac]
mov eax, dword [esi + 0x90]
mov eax, dword [eax + 0x18]
call dword [eax]
mov edi, dword [ebp - 0xac]
mov ebx, dword [edi + 4]
mov dword [edi + 0xc], eax
mov esi, eax
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov edx, dword [edi + 0x90]
mov ecx, dword [edx + 0x18]
mov edx, esi
mov dword [esp + 4], eax
mov eax, ecx
mov dword [esp], ebx
call fcn.00413150
mov ebx, dword [edi + 8]
mov dword [esp], ebx
call sub.msvcrt.dll_strlen
mov ecx, dword [edi + 0x90]
mov edx, dword [edi + 0xc]
mov ecx, dword [ecx + 0x18]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov eax, ecx
call fcn.00413150
mov ebx, dword [ebp - 0xb8]
mov eax, dword [edi + 0x90]
mov edx, dword [edi + 0xc]
mov ecx, dword [ebx + 0x2c]
mov eax, dword [eax + 0x18]
mov dword [esp + 4], ecx
mov ecx, dword [ebx + 0x28]
mov dword [esp], ecx
call fcn.00413150
mov eax, dword [ebx + 0x28]
mov dword [esp], eax
call fcn.00403f40
mov esi, dword [ebp + 0xc]
mov ecx, dword [esi]
cmp ecx, 5
jg 0x41752c
mov edi, dword [ebp - 0xb8]
mov eax, dword [edi + 0xdc]
test eax, eax
je 0x41616b
mov eax, dword [ebp - 0xb0]
mov dword [eax], 0x15b8
xor eax, eax
jmp 0x416240
mov eax, dword [ebp - 0xb8]
xor edx, edx
xor ecx, ecx
mov dword [eax + 0xc8], edx
mov edx, dword [ebp - 0xac]
mov dword [eax + 0xcc], ecx
mov dword [eax + 0x44], 0
test byte [edx + 0x50], 2
mov dword [eax + 0x40], 0
mov dword [eax + 0x4c], 0
mov dword [eax + 0x48], 0
mov dword [eax + 0x54], 0
mov dword [eax + 0x50], 0
je 0x4169b1
mov dword [eax + 0x38], 0x4462e0
mov dword [eax + 0x3c], 3
jmp 0x41635d
mov esi, dword [ebp - 0xb8]
mov ecx, 0x4515b0
mov eax, dword [esi + 0xa8]
mov dword [esi + eax*4 + 0xac], ecx
inc eax
mov dword [esi + 0xa8], eax
inc ebx
cmp ebx, 5
jle 0x4163d0
mov eax, dword [ebp - 0xac]
mov eax, dword [eax + 0xd24]
test eax, eax
je 0x416a44
mov edx, dword [ebp - 0xb8]
mov eax, 0x454650
mov dword [edx + 0xc4], eax
mov ebx, dword [ebp - 0xac]
mov esi, 1
mov edi, 1
mov eax, 0x14
mov dword [ebx + 0x2c5c], esi
mov dword [ebx + 0x120], edi
mov ebx, 0xf
call fcn.004135d0
mov esi, dword [ebp - 0xb8]
mov dword [esi + 0xd0], eax
lea esi, [esi]
lea edi, [edi]
call fcn.00432310
mov edi, dword [ebp - 0xb8]
movzx edx, al
mov eax, dword [edi + 0xd0]
call fcn.00412ff0
dec ebx
jns 0x4167d0
mov eax, dword [edi + 0xd0]
xor ebx, ebx
call fcn.004131e0
mov eax, dword [edi + 0x94]
xor edx, edx
cmp eax, 0
jle 0x416e8c
mov ecx, dword [ebp - 0xb8]
mov esi, dword [ecx + ebx*4 + 0x98]
test esi, esi
je 0x41686c
mov ecx, dword [esi]
xor edi, edi
test ecx, ecx
jle 0x41686c
test edx, edx
je 0x41683d
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0xd0]
mov edx, 0x44c8e4
call fcn.00413200
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xb8]
mov edx, dword [eax + edi*4]
mov eax, dword [ecx + 0xd0]
inc edi
mov edx, dword [edx]
call fcn.00413200
cmp dword [esi], edi
mov edx, 1
jg 0x416827
mov esi, dword [ebp - 0xb8]
mov eax, dword [esi + 0x94]
inc ebx
cmp eax, ebx
jmp 0x416804
mov ecx, dword [ebp - 0xb8]
mov esi, 0x44f030
mov eax, dword [ecx + 0xa8]
mov dword [ecx + eax*4 + 0xac], esi
inc eax
mov dword [ecx + 0xa8], eax
jmp case.default.0x4163e6
mov ecx, dword [ebp - 0xb8]
mov esi, 0x4516b0
mov eax, dword [ecx + 0xa8]
jmp 0x416882
mov edx, dword [ebp - 0xb8]
mov edi, 0x452dbc
mov eax, dword [edx + 0xa8]
mov dword [edx + eax*4 + 0xac], edi
inc eax
mov dword [edx + 0xa8], eax
jmp case.default.0x4163e6
cmp ebx, 4
jg case.default.0x4163e6
mov edi, dword [ebp - 0xb8]
xor edx, edx
mov eax, dword [edi + 0xa8]
mov dword [edi + eax*4 + 0xac], edx
inc eax
mov dword [edi + 0xa8], eax
jmp case.default.0x4163e6
mov esi, dword [ebp - 0xac]
mov ecx, dword [esi + 0xe78]
test ecx, ecx
je case.default.0x4163e6
mov edi, dword [ebp - 0xb8]
mov edx, 0x452d30
mov eax, dword [edi + 0xa8]
jmp 0x4168e3
cmp eax, 0x16a5
jne 0x4160c0
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x416e79
mov edi, dword [ebp + 0xc]
cmp dword [edi + 8], 0x15
je 0x417552
mov dword [esp], str.expected_new_keys_packet_from_server
call fcn.00403e90
mov ebx, eax
mov eax, dword [ebp - 0xac]
xor edx, edx
call fcn.00414020
mov dword [esp + 4], ebx
mov edx, dword [ebp - 0xac]
mov eax, dword [edx + 0xd4]
mov dword [esp], eax
call fcn.0043b570
mov dword [esp + 8], ebx
mov eax, 0x44c185
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ecx + 0xd4]
mov dword [esp], eax
call fcn.0040b8d0
mov dword [esp], ebx
call fcn.00403f40
mov ebx, dword [ebp - 0xac]
xor eax, eax
mov dword [ebx + 0x178], eax
xor eax, eax
jmp 0x416240
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x38], 0x4462d4
mov dword [ecx + 0x3c], 3
jmp 0x41635d
mov esi, dword [ebp - 0xb8]
mov ecx, 0x453af0
mov eax, dword [esi + 0x94]
mov dword [esi + eax*4 + 0x98], ecx
inc eax
mov dword [esi + 0x94], eax
jmp 0x4163b0
mov ecx, dword [ebp - 0xb8]
mov esi, 0x453984
mov eax, dword [ecx + 0x94]
mov dword [ecx + eax*4 + 0x98], esi
inc eax
mov dword [ecx + 0x94], eax
jmp 0x4163b0
test eax, eax
jne 0x4163b0
cmp ebx, 2
jg 0x4163b0
mov edi, dword [ebp - 0xb8]
xor edx, edx
mov eax, dword [edi + 0x94]
mov dword [edi + eax*4 + 0x98], edx
inc eax
mov dword [edi + 0x94], eax
jmp 0x4163b0
mov ecx, dword [ebp - 0xb8]
mov eax, 0x44b3b0
mov dword [ecx + 0xc4], eax
jmp 0x41678f
mov edx, dword [ebp - 0xb8]
mov edi, 0x4538f0
mov eax, dword [edx + 0x94]
mov dword [edx + eax*4 + 0x98], edi
inc eax
mov dword [edx + 0x94], eax
jmp 0x4163b0
mov edx, dword [ebp - 0xb8]
mov ecx, 1
mov dword [edx + 0xcc], ecx
jmp 0x416301
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x416230
mov edi, dword [ebp + 0xc]
cmp dword [edi + 8], 0x1f
je 0x4172db
mov dword [esp], str.expected_key_exchange_group_packet_from_server
jmp 0x416947
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x4171f5
mov dword [esp], str.Unexpected_data_from_server_while_waiting_for_user_response
jmp 0x416947
test ebx, ebx
jg 0x4170c7
mov edx, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xb8]
mov eax, dword [edx + 0x282c]
mov dword [ecx + 0xd4], eax
mov eax, dword [ebp - 0xac]
xor edx, edx
call fcn.00413fd0
mov ebx, dword [ebp - 0xb8]
mov esi, dword [ebx + 0xd4]
test esi, esi
je 0x41750c
mov edi, dword [ebp - 0xb8]
mov edx, dword [edi + 0xc8]
test edx, edx
je 0x4179a4
mov ebx, dword [ebp - 0xb8]
mov eax, dword [ebx + 0x64]
mov dword [esp], eax
call fcn.00403f40
mov eax, dword [ebx + 0x60]
mov dword [esp], eax
call fcn.00403f40
mov esi, dword [ebp - 0xac]
mov eax, dword [ebx + 0x70]
mov edx, dword [esi + 0x94]
mov dword [esp], eax
call dword [edx + 4]
mov eax, dword [ebx + 0xc8]
test eax, eax
jne 0x416be6
mov eax, dword [ebx + 0x74]
mov dword [esi + 0x98], eax
mov eax, dword [ebx + 0x78]
mov dword [esi + 0x9c], eax
mov eax, dword [ebx + 0x7c]
mov dword [esi + 0xa0], eax
mov eax, dword [ebx + 0x80]
mov dword [esi + 0xa4], eax
mov eax, dword [ebx + 0x84]
mov dword [esi + 0xa8], eax
mov eax, dword [ebx + 0x88]
mov dword [esi + 0xac], eax
mov eax, dword [ebx + 0x8c]
mov dword [esi + 0xb0], eax
mov eax, dword [ebx + 0x90]
mov dword [esi + 0xb4], eax
mov eax, dword [esi + 0x90]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0xc]
cmp eax, 0x20
mov dword [esi + 0xb8], eax
ja 0x418235
mov edi, dword [ebp - 0xb8]
mov eax, 1
mov dword [edi + 0xc8], eax
mov eax, 0x15
call fcn.004135d0
mov edx, dword [ebp - 0xb8]
mov dword [edx + 0xd0], eax
mov edx, eax
mov eax, dword [ebp - 0xac]
call fcn.00418630
mov ecx, dword [ebp - 0xac]
xor eax, eax
mov edx, dword [ecx + 0x68]
mov dword [ecx + 0x2c50], eax
test edx, edx
jne 0x4179ef
mov ebx, dword [ebp - 0xb8]
mov esi, dword [ebp - 0xac]
mov eax, dword [ebx + 0x40]
mov dword [esi + 0x60], eax
call dword [eax]
mov edx, dword [esi + 0x78]
test edx, edx
mov dword [esi + 0x68], eax
jne 0x4179e1
mov edi, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xac]
mov eax, dword [edi + 0x48]
mov dword [edx + 0x70], eax
call dword [eax]
mov ecx, dword [ebp - 0xac]
mov edx, dword [ecx + 0x88]
mov dword [ecx + 0x78], eax
test edx, edx
jne 0x4179fd
mov ebx, dword [ebp - 0xb8]
mov esi, dword [ebp - 0xac]
mov eax, dword [ebx + 0x50]
mov dword [esi + 0x80], eax
call dword [eax + 4]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x90]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0xc]
add eax, eax
cmp eax, 0x40
ja 0x418253
mov edi, dword [ebp - 0xb8]
mov esi, 0x43
lea ebx, [ebp - 0x58]
mov edx, dword [edi + 0x24]
mov dword [esp + 4], esi
mov esi, edi
add esi, 0x74
mov dword [esp + 8], ebx
mov dword [esp], esi
mov eax, dword [ebp - 0xac]
call fcn.00415f40
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax + 0x60]
mov eax, dword [ecx + 0x20]
mov edx, eax
add edx, 7
js 0x417bc2
mov edi, dword [ebp - 0xac]
sar edx, 3
mov eax, dword [edi + 0x90]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0xc]
add eax, eax
cmp edx, eax
jg 0x418271
mov dword [esp + 4], ebx
mov edx, dword [ebp - 0xac]
mov eax, dword [edx + 0x68]
mov dword [esp], eax
call dword [ecx + 0xc]
mov ecx, dword [ebp - 0xb8]
mov eax, 0x41
mov edx, dword [ecx + 0x24]
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], esi
mov eax, dword [ebp - 0xac]
call fcn.00415f40
mov edi, dword [ebp - 0xac]
mov eax, dword [edi + 0x90]
mov edx, dword [edi + 0x60]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0xc]
add eax, eax
cmp dword [edx + 0x1c], eax
jg 0x41848a
mov dword [esp + 4], ebx
mov ecx, dword [ebp - 0xac]
mov eax, dword [ecx + 0x68]
mov dword [esp], eax
call dword [edx + 8]
mov edi, dword [ebp - 0xb8]
mov eax, 0x45
mov edx, dword [edi + 0x24]
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], esi
mov eax, dword [ebp - 0xac]
call fcn.00415f40
mov eax, dword [ebp - 0xac]
mov edx, dword [eax + 0x70]
mov eax, dword [eax + 0x90]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0xc]
add eax, eax
cmp dword [edx + 0x18], eax
jg 0x41846c
mov dword [esp + 4], ebx
mov edi, ebx
mov esi, dword [ebp - 0xac]
mov ebx, str.Initialised__.200s_client__server_MAC_algorithm
mov eax, dword [esi + 0x78]
mov dword [esp], eax
call dword [edx + 8]
cld
xor eax, eax
mov ecx, 0x10
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0x60]
mov edi, str.Initialised__.200s_client__server_encryption
mov eax, dword [eax + 0x28]
mov dword [esp + 4], edi
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.00412690
mov eax, dword [esi + 0x70]
mov eax, dword [eax + 0x1c]
mov dword [esp + 4], ebx
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.00412690
mov eax, dword [esi + 0x80]
mov eax, dword [eax + 0x20]
test eax, eax
jne 0x417a21
mov edi, dword [ebp - 0xac]
xor edx, edx
xor ebx, ebx
mov dword [edi + 0x120], edx
mov eax, dword [edi + 0x118]
test eax, eax
jle 0x416e64
mov edx, dword [ebp - 0xac]
mov eax, dword [edx + 0x114]
mov edx, dword [eax + ebx*4]
mov dword [esp], 0
inc ebx
mov eax, dword [ebp - 0xac]
call fcn.004138e0
mov ecx, dword [ebp - 0xac]
cmp dword [ecx + 0x118], ebx
jg 0x416e34
mov ebx, dword [ebp - 0xac]
xor eax, eax
mov dword [ebx + 0x118], eax
mov eax, ebx
call fcn.00418570
mov esi, dword [ebp - 0xb0]
xor eax, eax
mov dword [esi], 0x16a5
jmp 0x416240
mov edi, dword [ebp - 0xb8]
xor ebx, ebx
mov eax, dword [edi + 0xd0]
call fcn.004131e0
mov eax, dword [ebx*4 + 0x4462cc]
mov ecx, dword [ebp - 0xb8]
mov edx, dword [eax + 0x30]
mov eax, dword [ecx + 0xd0]
call fcn.00413200
test ebx, ebx
je 0x4171b8
inc ebx
cmp ebx, 1
jbe 0x416e9f
mov edi, dword [ebp - 0xb8]
xor ebx, ebx
mov eax, dword [edi + 0xd0]
call fcn.004131e0
mov eax, dword [edi + 0xa8]
xor edx, edx
cmp eax, 0
jle 0x417312
mov ecx, dword [ebp - 0xb8]
mov esi, dword [ecx + ebx*4 + 0xac]
test esi, esi
je 0x416f4f
mov ecx, dword [esi]
xor edi, edi
test ecx, ecx
jle 0x416f4f
test edx, edx
je 0x416f1f
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0xd0]
mov edx, 0x44c8e4
call fcn.00413200
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xb8]
mov eax, dword [eax + edi*4]
inc edi
mov edx, dword [eax + 0x18]
mov eax, dword [ecx + 0xd0]
call fcn.00413200
cmp dword [esi], edi
mov edx, 1
jg 0x416f09
mov esi, dword [ebp - 0xb8]
mov eax, dword [esi + 0xa8]
inc ebx
cmp eax, ebx
jmp 0x416ee6
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x41726f
mov dword [esp], str.Unexpected_data_from_server_while_waiting_for_user_response
call fcn.00403e90
mov ebx, eax
mov eax, dword [ebp - 0xac]
xor edx, edx
call fcn.00414020
mov dword [esp + 4], ebx
mov esi, dword [ebp - 0xac]
mov eax, dword [esi + 0xd4]
mov dword [esp], eax
call fcn.0043b570
mov dword [esp + 8], ebx
mov ecx, 0x44c185
mov dword [esp + 4], ecx
mov eax, dword [esi + 0xd4]
mov dword [esp], eax
call fcn.0040b8d0
mov dword [esp], ebx
call fcn.00403f40
xor edx, edx
xor eax, eax
mov dword [esi + 0x178], edx
jmp 0x416240
lea ecx, [eax + 0x3e]
jmp 0x4161ee
mov dword [esp + 8], esi
mov eax, str.Server_bug_prevents_key_re_exchange___s_
xor edi, edi
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.00412690
mov ebx, dword [ebp - 0xac]
xor eax, eax
mov dword [ebx + 0x2c50], eax
mov eax, dword [ebx + 0xd38]
mov dword [ebx + 0x2c4c], edi
test eax, eax
je 0x417022
mov dword [esp + 8], ebx
imul eax, eax, 0xea60
mov esi, 0x423200
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.004399d0
mov dword [ebx + 0x2c60], eax
mov ecx, dword [ebp - 0xb0]
mov dword [ecx], 0x1715
jmp 0x4160cc
mov edi, dword [ebp - 0xb8]
mov esi, dword [ebp - 0xac]
mov eax, dword [edi + 0x70]
mov edx, dword [esi + 0x94]
mov dword [esp], eax
call dword [edx + 8]
mov edx, dword [esi + 0x94]
mov dword [edi + 0x60], eax
mov eax, dword [edi + 0x70]
mov dword [esp], eax
call dword [edx + 0x24]
mov edx, 1
mov dword [edi + 0x64], eax
mov eax, esi
call fcn.00413fd0
mov dword [esp + 0x1c], esi
mov eax, 0x41c760
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0x64]
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0x60]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x94]
mov eax, dword [eax + 0x34]
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0xc4]
mov dword [esp + 8], eax
mov eax, dword [esi + 0xc0]
mov dword [esp + 4], eax
mov eax, dword [esi + 0xd4]
mov dword [esp], eax
call fcn.0043b090
mov dword [edi + 0xd4], eax
test eax, eax
jns 0x416aef
mov eax, dword [ebp - 0xb0]
mov dword [eax], 0x163e
xor eax, eax
jmp 0x416240
mov edi, dword [ebp - 0xb8]
mov dword [edi + 0x54], ebx
lea eax, [ebp - 0x9c]
xor ebx, ebx
lea edx, [ebp - 0xa0]
mov dword [esp], eax
mov eax, dword [ebp + 0xc]
call fcn.00413ba0
lea eax, [ebp - 0x9c]
lea edx, [ebp - 0xa0]
mov dword [esp], eax
mov eax, dword [ebp + 0xc]
call fcn.00413ba0
mov eax, dword [ebp + 0xc]
call fcn.00413b70
test eax, eax
je 0x417134
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0xd8]
test eax, eax
jne 0x417134
mov ebx, 1
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ecx + 8]
mov dword [ecx + 0xdc], ebx
test eax, eax
je 0x4165f3
mov eax, dword [ebp - 0xac]
mov edx, 1
mov edi, 0x41c760
mov esi, str.key_exchange_algorithm
call fcn.00413fd0
mov ebx, dword [ebp - 0xac]
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebx
mov eax, dword [ebx + 0x90]
mov eax, dword [eax]
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov eax, dword [ebx + 0xd4]
mov dword [esp], eax
call fcn.0043b2a0
mov esi, dword [ebp - 0xb8]
test eax, eax
mov dword [esi + 0xd4], eax
jns 0x4165d2
mov edi, dword [ebp - 0xb0]
xor eax, eax
mov dword [edi], 0x156a
jmp 0x416240
mov esi, dword [ebp - 0xb8]
mov edx, 0x44c8e4
mov eax, dword [esi + 0xd0]
call fcn.00413200
jmp 0x416ec2
mov eax, str.Server_initiated_key_re_exchange
mov dword [esp + 4], eax
mov edx, dword [ebp - 0xac]
mov eax, dword [edx + 0xd4]
mov dword [esp], eax
call fcn.0043b570
jmp 0x41635d
test ebx, ebx
jg 0x4173f6
mov ebx, dword [ebp - 0xac]
mov esi, dword [ebp - 0xb8]
mov eax, dword [ebx + 0x282c]
mov dword [esi + 0xd4], eax
mov eax, dword [ebp - 0xac]
xor edx, edx
call fcn.00413fd0
mov edi, dword [ebp - 0xb8]
mov edi, dword [edi + 0xd4]
test edi, edi
jne 0x416604
mov dword [esp], 0
mov esi, 1
xor ebx, ebx
mov dword [esp + 8], esi
mov edx, str.User_aborted_at_cipher_warning
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0xac]
call fcn.00419b60
mov eax, dword [ebp - 0xb0]
mov dword [eax], 0
xor eax, eax
jmp 0x416240
test ebx, ebx
jg 0x4174f9
mov edi, dword [ebp - 0xac]
mov edx, dword [ebp - 0xb8]
mov eax, dword [edi + 0x282c]
mov dword [edx + 0xd4], eax
mov eax, dword [ebp - 0xac]
xor edx, edx
call fcn.00413fd0
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ecx + 0xd4]
test eax, eax
jne 0x416615
mov dword [esp], 0
mov eax, 1
mov edx, str.User_aborted_at_cipher_warning
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xac]
call fcn.00419b60
jmp 0x4162d2
mov eax, dword [ebp + 0xc]
call fcn.00413cf0
mov esi, dword [ebp - 0xb8]
mov dword [esi + 0x14], eax
mov eax, dword [ebp + 0xc]
call fcn.00413cf0
mov dword [esi + 0x18], eax
mov edx, dword [esi + 0x14]
test edx, edx
je 0x417306
test eax, eax
jne 0x417df8
mov dword [esp], str.unable_to_read_mp_ints_from_incoming_group_packet
jmp 0x416544
mov edi, dword [ebp - 0xb8]
xor ebx, ebx
mov eax, dword [edi + 0xd0]
call fcn.004131e0
mov eax, dword [edi + 0xa8]
xor edx, edx
cmp eax, 0
jle 0x417bca
mov ecx, dword [ebp - 0xb8]
mov esi, dword [ecx + ebx*4 + 0xac]
test esi, esi
je 0x417399
mov ecx, dword [esi]
xor edi, edi
test ecx, ecx
jle 0x417399
test edx, edx
je 0x417369
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0xd0]
mov edx, 0x44c8e4
call fcn.00413200
mov eax, dword [esi + 4]
mov ecx, dword [ebp - 0xb8]
mov eax, dword [eax + edi*4]
inc edi
mov edx, dword [eax + 0x18]
mov eax, dword [ecx + 0xd0]
call fcn.00413200
cmp dword [esi], edi
mov edx, 1
jg 0x417353
mov esi, dword [ebp - 0xb8]
mov eax, dword [esi + 0xa8]
inc ebx
cmp eax, ebx
jmp 0x417330
mov eax, dword [ebp - 0xac]
mov edx, 1
call fcn.00413fd0
mov eax, dword [ebp - 0xac]
mov dword [esp + 0x10], eax
mov eax, 0x41c760
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x40]
mov eax, dword [eax + 0x18]
mov dword [esp + 8], eax
mov eax, str.client_to_server_cipher
mov dword [esp + 4], eax
mov edx, dword [ebp - 0xac]
mov eax, dword [edx + 0xd4]
mov dword [esp], eax
call fcn.0043b2a0
mov dword [edi + 0xd4], eax
test eax, eax
jns 0x417215
mov ecx, dword [ebp - 0xb0]
xor eax, eax
mov dword [ecx], 0x1583
jmp 0x416240
mov ecx, 2
mov dword [esp + 4], ecx
mov edx, dword [ebp - 0xac]
mov eax, dword [edx + 0xd4]
mov dword [esp], eax
call fcn.0043b060
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xb8]
add eax, 0x68
mov dword [esp], eax
add edx, 0x58
mov eax, dword [ebp + 0xc]
call fcn.00413ba0
mov eax, dword [ebp + 0xc]
call fcn.00413cf0
mov ecx, dword [ebp - 0xb8]
test eax, eax
mov dword [ecx + 0x20], eax
jne 0x417a3b
mov dword [esp], str.unable_to_parse_key_exchange_reply_packet
jmp 0x416f66
mov dword [esp], 0
mov eax, 1
mov edx, str.User_aborted_at_kex_warning
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xac]
call fcn.00419b60
mov esi, dword [ebp - 0xb0]
xor eax, eax
mov dword [esi], 0
jmp 0x416240
mov eax, dword [ebp - 0xac]
mov edx, 1
call fcn.00413fd0
mov ecx, dword [ebp - 0xac]
mov edx, 0x41c760
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov ebx, dword [ebp - 0xb8]
mov eax, dword [ebx + 0x44]
mov eax, dword [eax + 0x18]
mov dword [esp + 8], eax
mov eax, str.server_to_client_cipher
mov dword [esp + 4], eax
mov eax, dword [ecx + 0xd4]
mov dword [esp], eax
call fcn.0043b2a0
mov dword [ebx + 0xd4], eax
test eax, eax
jns 0x41728f
mov esi, dword [ebp - 0xb0]
xor eax, eax
mov dword [esi], 0x159c
jmp 0x416240
mov dword [esp], 0
mov ebx, 1
xor ecx, ecx
mov dword [esp + 8], ebx
mov edx, str.User_aborted_at_host_key_verification
mov dword [esp + 4], ecx
jmp 0x417483
mov eax, dword [edi + 0x90]
sub ecx, 5
mov edx, dword [edi + 0xc]
mov eax, dword [eax + 0x18]
mov dword [esp + 4], ecx
mov ecx, dword [esi + 0x10]
add ecx, 5
mov dword [esp], ecx
call fcn.00413150
jmp 0x4166b7
mov edi, dword [ebp - 0xac]
xor eax, eax
mov edx, dword [edi + 0x6c]
mov dword [edi + 0x2c4c], eax
test edx, edx
jne 0x417ffa
mov edx, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xac]
mov eax, dword [edx + 0x44]
mov dword [ecx + 0x64], eax
call dword [eax]
mov edi, dword [ebp - 0xac]
mov edx, dword [edi + 0x7c]
mov dword [edi + 0x6c], eax
test edx, edx
jne 0x417fec
mov edx, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xac]
mov eax, dword [edx + 0x4c]
mov dword [ecx + 0x74], eax
call dword [eax]
mov edi, dword [ebp - 0xac]
mov edx, dword [edi + 0x8c]
mov dword [edi + 0x7c], eax
test edx, edx
jne 0x417fdb
mov edx, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xac]
mov eax, dword [edx + 0x54]
mov dword [ecx + 0x84], eax
call dword [eax + 0x10]
mov edi, dword [ebp - 0xac]
mov dword [edi + 0x8c], eax
mov eax, dword [edi + 0x90]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0xc]
add eax, eax
cmp eax, 0x40
ja 0x418508
mov eax, dword [ebp - 0xb8]
lea ecx, [ebp - 0x98]
mov edi, eax
mov edx, dword [eax + 0x24]
add edi, 0x74
mov dword [esp + 8], ecx
mov ecx, 0x44
mov dword [esp + 4], ecx
mov dword [esp], edi
mov eax, dword [ebp - 0xac]
call fcn.00415f40
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax + 0x64]
mov eax, dword [ecx + 0x20]
mov edx, eax
add edx, 7
js 0x41809b
mov eax, dword [ebp - 0xac]
sar edx, 3
mov eax, dword [eax + 0x90]
mov dword [ebp - 0xbc], eax
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xcc], eax
add eax, eax
cmp edx, eax
jg 0x418516
lea edx, [ebp - 0x98]
mov dword [esp + 4], edx
mov edx, dword [ebp - 0xac]
mov eax, dword [edx + 0x6c]
mov dword [esp], eax
call dword [ecx + 0xc]
mov ecx, dword [ebp - 0xb8]
lea eax, [ebp - 0x98]
mov edx, dword [ecx + 0x24]
mov dword [esp + 8], eax
mov eax, 0x42
mov dword [esp + 4], eax
mov dword [esp], edi
mov eax, dword [ebp - 0xac]
call fcn.00415f40
mov ecx, dword [ebp - 0xac]
mov eax, dword [ecx + 0x90]
mov edx, dword [ecx + 0x64]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0xc]
add eax, eax
cmp dword [edx + 0x1c], eax
jg 0x418552
lea eax, [ebp - 0x98]
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ecx + 0x6c]
mov dword [esp], eax
call dword [edx + 8]
mov eax, dword [ebp - 0xb8]
lea ecx, [ebp - 0x98]
mov edx, dword [eax + 0x24]
mov dword [esp], edi
mov eax, 0x46
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xac]
call fcn.00415f40
mov edi, dword [ebp - 0xac]
mov eax, dword [edi + 0x90]
mov edx, dword [edi + 0x74]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0xc]
add eax, eax
cmp dword [edx + 0x18], eax
jg 0x418534
lea eax, [ebp - 0x98]
lea edi, [ebp - 0x98]
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ecx + 0x7c]
mov dword [esp], eax
call dword [edx + 8]
cld
xor eax, eax
mov ecx, 0x10
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0xac]
mov eax, dword [edi + 0x64]
mov eax, dword [eax + 0x28]
mov dword [esp], edi
mov dword [esp + 8], eax
mov eax, str.Initialised__.200s_server__client_encryption
mov dword [esp + 4], eax
call fcn.00412690
mov eax, dword [edi + 0x74]
mov eax, dword [eax + 0x1c]
mov dword [esp], edi
mov dword [esp + 8], eax
mov eax, str.Initialised__.200s_server__client_MAC_algorithm
mov dword [esp + 4], eax
call fcn.00412690
mov eax, dword [edi + 0x84]
mov eax, dword [eax + 0x20]
test eax, eax
jne 0x418055
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0x20]
mov dword [esp], eax
call fcn.004285a0
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ecx + 0x24]
mov dword [esp], eax
call fcn.004285a0
mov edi, dword [ebp - 0xac]
mov eax, dword [edi + 0x90]
mov edi, dword [eax + 8]
test edi, edi
je 0x41802e
mov edi, dword [ebp - 0xac]
mov eax, dword [edi + 0x2c68]
test eax, eax
jne 0x418008
mov eax, dword [ebp - 0xac]
xor ecx, ecx
mov dword [eax + 0x2c5c], ecx
call sub.KERNEL32.dll_GetTickCount
mov edx, dword [ebp - 0xac]
mov dword [edx + 0x2c64], eax
mov eax, dword [edx + 0xd38]
test eax, eax
jne 0x41806f
mov edi, dword [ebp - 0xb8]
mov edi, dword [edi + 0xcc]
test edi, edi
je 0x416a7e
mov eax, dword [ebp - 0xb0]
mov dword [eax], 0x1703
xor eax, eax
jmp 0x416240
mov eax, dword [ebp + 0xc]
xor edx, edx
xor ecx, ecx
mov esi, dword [ebp - 0xac]
mov edi, dword [ebp - 0xb8]
add dword [eax + 0x18], 0x10
mov dword [esi + 0x94], edx
lea edx, [ebp - 0x9c]
mov dword [esi + 0x90], ecx
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], 0
mov dword [edi + 0x48], 0
mov dword [edi + 0x4c], 0
mov dword [edi + 0x50], 0
mov dword [edi + 0x54], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0xc], 0
mov dword [edi + 8], 0
xor edi, edi
mov dword [esp], edx
lea edx, [ebp - 0xa0]
call fcn.00413ba0
mov ecx, dword [ebp - 0xb8]
xor eax, eax
mov dword [ebp - 0xb4], eax
mov eax, dword [ecx + 0x94]
test eax, eax
jle 0x417e32
mov esi, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xb8]
mov ebx, dword [eax + esi*4 + 0x98]
test ebx, ebx
je 0x41799b
mov eax, dword [ebx]
xor esi, esi
test eax, eax
jg 0x417925
jmp 0x417945
mov ecx, dword [ebx + 4]
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ecx + esi*4]
mov edx, dword [ebp - 0xa0]
mov dword [esp], eax
mov eax, dword [ecx]
call fcn.00415e10
test eax, eax
jne 0x417933
inc esi
cmp dword [ebx], esi
jle 0x417945
test edi, edi
jne 0x417900
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + esi*4]
mov edi, dword [eax]
jmp 0x417903
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0xac]
mov eax, dword [eax + esi*4]
mov dword [edx + 0x90], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ecx + 0x90]
test eax, eax
jne 0x417e46
inc dword [ebp - 0xb4]
mov esi, dword [ebp - 0xb8]
mov ebx, dword [ebp - 0xb4]
cmp dword [esi + 0x94], ebx
jg 0x4178db
mov eax, dword [ebp - 0xa0]
test eax, eax
jne 0x417986
mov eax, str._null_
mov dword [esp + 4], eax
mov dword [esp], str.Couldnt_agree_a_key_exchange_algorithm__available:__s_
call fcn.00403e90
jmp 0x416282
mov dword [eax + 8], 1
jmp 0x417945
mov eax, str.Host_key_fingerprint_is:
mov dword [esp + 4], eax
mov edx, dword [ebp - 0xac]
mov eax, dword [edx + 0xd4]
mov dword [esp], eax
call fcn.0043b570
mov eax, dword [edi + 0x64]
mov dword [esp + 4], eax
mov ecx, dword [ebp - 0xac]
mov eax, dword [ecx + 0xd4]
mov dword [esp], eax
call fcn.0043b570
jmp 0x416b24
mov eax, dword [esi + 0x70]
mov dword [esp], edx
call dword [eax + 4]
jmp 0x416c44
mov eax, dword [ecx + 0x60]
mov dword [esp], edx
call dword [eax + 4]
jmp 0x416c22
mov eax, dword [ecx + 0x80]
mov dword [esp], edx
call dword [eax + 8]
jmp 0x416c6f
mov esi, dword [ebp - 0xb0]
mov dword [esi], 0x14d3
xor eax, eax
jmp 0x416240
mov dword [esp + 8], eax
mov ecx, str.Initialised__s_compression
mov dword [esp + 4], ecx
mov dword [esp], esi
call fcn.00412690
jmp 0x416e1a
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xb8]
add eax, 0x6c
mov dword [esp], eax
add edx, 0x5c
mov eax, dword [ebp + 0xc]
call fcn.00413ba0
mov edi, dword [ebp - 0xb8]
mov eax, dword [edi + 0x20]
mov dword [esp + 4], eax
mov edx, dword [ebp - 0xac]
mov eax, dword [edx + 0xbc]
mov dword [esp], eax
call fcn.0042d240
mov dword [edi + 0x24], eax
xor edx, edx
mov dword [esp + 4], edx
mov ecx, dword [ebp - 0xac]
mov eax, dword [ecx + 0xd4]
mov dword [esp], eax
call fcn.0043b060
mov ebx, dword [ebp - 0xac]
mov ecx, dword [edi + 0x68]
mov eax, dword [ebx + 0x90]
mov edx, dword [ebx + 0xc]
mov eax, dword [eax + 0x18]
mov dword [esp + 4], ecx
mov ecx, dword [edi + 0x58]
mov dword [esp], ecx
call fcn.00413150
mov ecx, dword [ebx + 0x90]
mov eax, dword [ecx + 8]
test eax, eax
je 0x4180a3
mov edi, dword [ebp - 0xac]
mov ebx, dword [ebp - 0xb8]
mov eax, dword [ecx + 0x18]
mov edx, dword [edi + 0xc]
mov ecx, dword [ebx + 0x1c]
mov dword [esp], ecx
call fcn.00413ac0
mov eax, dword [edi + 0x90]
mov edx, dword [edi + 0xc]
mov ecx, dword [ebx + 0x20]
mov eax, dword [eax + 0x18]
mov dword [esp], ecx
call fcn.00413ac0
mov eax, dword [edi + 0x90]
mov edx, dword [edi + 0xc]
mov ecx, dword [ebx + 0x24]
mov eax, dword [eax + 0x18]
mov dword [esp], ecx
call fcn.00413ac0
mov eax, dword [edi + 0x90]
mov edx, dword [eax + 0x18]
cmp dword [edx + 0xc], 0x20
ja 0x4184a8
mov ebx, dword [ebp - 0xb8]
add ebx, 0x74
mov dword [esp + 4], ebx
mov esi, dword [ebp - 0xac]
mov eax, dword [esi + 0xc]
mov dword [esp], eax
call dword [edx + 8]
mov eax, dword [esi + 0xbc]
mov dword [esp], eax
call fcn.0042d050
mov edi, dword [ebp - 0xb8]
xor eax, eax
mov edx, dword [esi + 0x94]
mov dword [esi + 0xbc], eax
mov eax, dword [edi + 0x68]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x58]
mov dword [esp], eax
call dword [edx]
mov dword [edi + 0x70], eax
test eax, eax
je 0x417bb6
mov eax, dword [esi + 0x90]
mov edx, dword [esi + 0x94]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0xc]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0x6c]
mov dword [esp + 8], eax
mov eax, dword [edi + 0x5c]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x70]
mov dword [esp], eax
call dword [edx + 0x28]
test eax, eax
jne 0x417033
mov dword [esp], str.Servers_host_key_did_not_match_the_signature_supplied
jmp 0x41627d
lea edx, [eax + 0xe]
jmp 0x416ce7
mov edi, dword [ebp - 0xb8]
xor ebx, ebx
mov eax, dword [edi + 0xd0]
call fcn.004131e0
mov eax, dword [edi + 0x3c]
test eax, eax
jg 0x417beb
jmp 0x417c30
inc ebx
cmp edx, ebx
jle 0x417c30
mov edx, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xb8]
mov eax, dword [edx + 0x38]
mov eax, dword [eax + ebx*4]
mov edx, dword [eax + 0x14]
mov eax, dword [ecx + 0xd0]
call fcn.00413200
mov esi, dword [ebp - 0xb8]
mov edx, dword [esi + 0x3c]
lea eax, [edx - 1]
cmp eax, ebx
jle 0x417be6
mov eax, dword [esi + 0xd0]
mov edx, 0x44c8e4
call fcn.00413200
mov edx, dword [esi + 0x3c]
jmp 0x417be6
mov edi, dword [ebp - 0xb8]
xor ebx, ebx
mov eax, dword [edi + 0xd0]
call fcn.004131e0
mov edi, dword [edi + 0x3c]
test edi, edi
jg 0x417c55
jmp 0x417c9a
inc ebx
cmp edx, ebx
jle 0x417c9a
mov edx, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xb8]
mov eax, dword [edx + 0x38]
mov eax, dword [eax + ebx*4]
mov edx, dword [eax + 0x14]
mov eax, dword [ecx + 0xd0]
call fcn.00413200
mov esi, dword [ebp - 0xb8]
mov edx, dword [esi + 0x3c]
lea eax, [edx - 1]
cmp eax, ebx
jle 0x417c50
mov eax, dword [esi + 0xd0]
mov edx, 0x44c8e4
call fcn.00413200
mov edx, dword [esi + 0x3c]
jmp 0x417c50
mov edi, dword [ebp - 0xb8]
xor ebx, ebx
mov eax, dword [edi + 0xd0]
call fcn.004131e0
mov edx, dword [edi + 0xc4]
mov eax, dword [edi + 0xd0]
mov edx, dword [edx]
call fcn.00413200
mov eax, dword [ebp - 0xb8]
mov esi, dword [ebx*4 + 0x4462c4]
cmp dword [eax + 0xc4], esi
je 0x417cf8
mov eax, dword [eax + 0xd0]
mov edx, 0x44c8e4
call fcn.00413200
mov ecx, dword [ebp - 0xb8]
mov edx, dword [esi]
mov eax, dword [ecx + 0xd0]
call fcn.00413200
inc ebx
cmp ebx, 1
jbe 0x417cc0
mov ebx, dword [ebp - 0xb8]
mov eax, dword [ebx + 0xd0]
call fcn.004131e0
mov edx, dword [ebx + 0xc4]
mov eax, dword [ebx + 0xd0]
xor ebx, ebx
mov edx, dword [edx]
call fcn.00413200
mov edi, dword [ebp - 0xb8]
mov esi, dword [ebx*4 + 0x4462c4]
cmp dword [edi + 0xc4], esi
je 0x417d56
mov eax, dword [edi + 0xd0]
mov edx, 0x44c8e4
call fcn.00413200
mov eax, dword [edi + 0xd0]
mov edx, dword [esi]
call fcn.00413200
inc ebx
cmp ebx, 1
jbe 0x417d24
mov edx, dword [ebp - 0xb8]
mov esi, 1
mov eax, dword [edx + 0xd0]
call fcn.004131e0
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ecx + 0xd0]
call fcn.004131e0
mov ebx, dword [ebp - 0xb8]
xor edx, edx
mov eax, dword [ebx + 0xd0]
call fcn.004131c0
mov eax, dword [ebx + 0xd0]
xor edx, edx
call fcn.00413050
mov eax, dword [ebx + 0xd0]
mov eax, dword [eax]
sub eax, 5
mov dword [ebx + 0x2c], eax
mov dword [esp + 4], esi
mov eax, dword [ebx + 0x2c]
mov dword [esp], eax
call fcn.00403a80
mov dword [ebx + 0x28], eax
mov edx, dword [ebx + 0xd0]
mov ecx, dword [edx + 0x10]
mov edx, dword [ebx + 0x2c]
mov dword [esp], eax
add ecx, 5
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
call sub.msvcrt.dll_memcpy
mov edx, dword [ebx + 0xd0]
mov eax, dword [ebp - 0xac]
call fcn.00418630
jmp 0x41625e
mov dword [esp + 4], eax
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0x14]
mov dword [esp], eax
call fcn.0042d000
mov ebx, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xac]
mov dword [ebx + 0x30], 0x20
mov dword [ecx + 0xbc], eax
mov dword [ebx + 0x34], 0x21
jmp 0x416441
mov eax, dword [ebp - 0xac]
mov eax, dword [eax + 0x90]
test eax, eax
je 0x417977
mov eax, dword [ebp - 0x9c]
mov edx, dword [ebp - 0xa0]
mov dword [esp], eax
mov eax, edi
xor edi, edi
call fcn.00415ed0
mov edx, dword [ebp - 0xb8]
lea ecx, [ebp - 0x9c]
mov dword [edx + 0xd8], eax
lea edx, [ebp - 0xa0]
mov dword [esp], ecx
mov eax, dword [ebp + 0xc]
call fcn.00413ba0
mov dword [ebp - 0xb4], edi
mov ebx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebx*4 + 0x4462cc]
mov eax, dword [eax + 0x30]
mov dword [esp], ecx
call fcn.00415e10
test eax, eax
jne 0x418217
inc ebx
cmp ebx, 1
mov dword [ebp - 0xb4], ebx
jbe 0x417e87
mov esi, dword [ebp - 0xb8]
xor ebx, ebx
mov esi, dword [esi + 0xd8]
test esi, esi
je 0x417ef6
mov eax, dword [0x4462cc]
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0xa0]
mov eax, dword [eax + 0x30]
mov dword [esp], ecx
call fcn.00415ed0
test eax, eax
je 0x417ef6
mov ebx, 1
mov edi, dword [ebp - 0xb8]
lea eax, [ebp - 0x9c]
lea edx, [ebp - 0xa0]
mov dword [edi + 0xd8], ebx
xor ebx, ebx
mov dword [esp], eax
mov eax, dword [ebp + 0xc]
call fcn.00413ba0
mov dword [ebp - 0xb4], ebx
mov ecx, dword [edi + 0xa8]
test ecx, ecx
jle 0x41812b
mov edx, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb8]
mov ebx, dword [ecx + edx*4 + 0xac]
test ebx, ebx
je 0x417fd2
mov edx, dword [ebx]
xor esi, esi
test edx, edx
jle 0x417f78
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x9c]
mov eax, dword [eax + esi*4]
mov eax, dword [eax + 0x18]
mov dword [esp], ecx
call fcn.00415e10
test eax, eax
jne 0x417fc1
inc esi
cmp dword [ebx], esi
jg 0x417f52
mov esi, dword [ebp - 0xb8]
mov eax, dword [esi + 0x40]
test eax, eax
jne 0x41813c
inc dword [ebp - 0xb4]
mov edi, dword [ebp - 0xb4]
cmp dword [esi + 0xa8], edi
jg 0x417f2f
mov eax, dword [ebp - 0xa0]
test eax, eax
jne 0x417fac
mov eax, str._null_
mov dword [esp + 4], eax
mov dword [esp], str.Couldnt_agree_a_client_to_server_cipher__available:__s_
call fcn.00403e90
jmp 0x416282
mov eax, dword [ebx + 4]
mov ebx, dword [ebp - 0xb8]
mov eax, dword [eax + esi*4]
mov dword [ebx + 0x40], eax
jmp 0x417f78
mov dword [ecx + 0xc], 1
jmp 0x417f78
mov eax, dword [edi + 0x84]
mov dword [esp], edx
call dword [eax + 0x14]
jmp 0x4175be
mov eax, dword [edi + 0x74]
mov dword [esp], edx
call dword [eax + 4]
jmp 0x417593
mov eax, dword [edi + 0x64]
mov dword [esp], edx
call dword [eax + 4]
jmp 0x41756b
mov dword [esp + 4], eax
xor ebx, ebx
mov eax, dword [edi + 0xd4]
mov dword [esp], eax
call fcn.0043b570
mov dword [ebp + 0xc], 0
mov dword [edi + 0x2c68], ebx
jmp 0x41635d
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx + 0x18]
mov dword [esp], eax
call fcn.004285a0
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ecx + 0x14]
mov dword [esp], eax
call fcn.004285a0
jmp 0x4177df
mov dword [esp + 8], eax
mov eax, str.Initialised__s_decompression
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00412690
jmp 0x4177a6
mov dword [esp + 8], edx
imul eax, eax, 0xea60
mov edx, 0x423200
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004399d0
mov ecx, dword [ebp - 0xac]
mov dword [ecx + 0x2c60], eax
jmp 0x417820
lea edx, [eax + 0xe]
jmp 0x41763f
mov edx, dword [edi + 4]
mov esi, dword [ebp - 0xac]
mov ecx, dword [ecx + 0x18]
mov eax, edx
shr eax, 0x18
mov ebx, dword [esi + 0xc]
mov byte [ebp - 0xa8], al
mov eax, edx
shr eax, 0x10
mov byte [ebp - 0xa7], al
mov eax, edx
shr eax, 8
mov byte [ebp - 0xa6], al
mov eax, 4
mov byte [ebp - 0xa5], dl
mov dword [esp + 8], eax
lea eax, [ebp - 0xa8]
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [ecx + 4]
mov eax, dword [esi + 0x90]
mov edx, dword [esi + 0xc]
mov ecx, dword [edi + 0x14]
mov eax, dword [eax + 0x18]
mov dword [esp], ecx
call fcn.00413ac0
mov eax, dword [esi + 0x90]
mov ecx, dword [edi + 0x18]
mov edx, dword [esi + 0xc]
mov eax, dword [eax + 0x18]
mov dword [esp], ecx
call fcn.00413ac0
mov ecx, dword [esi + 0x90]
jmp 0x417acb
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax + 0x40]
test eax, eax
je 0x417f9d
lea esi, [ebp - 0x9c]
lea edx, [ebp - 0xa0]
mov dword [esp], esi
mov eax, dword [ebp + 0xc]
call fcn.00413ba0
mov edi, dword [ebp - 0xb8]
xor eax, eax
mov dword [ebp - 0xb4], eax
mov eax, dword [edi + 0xa8]
test eax, eax
jle 0x41828f
mov eax, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xb8]
mov ebx, dword [edx + eax*4 + 0xac]
test ebx, ebx
je 0x4181fd
mov eax, dword [ebx]
xor esi, esi
test eax, eax
jle 0x4181b4
mov eax, dword [ebx + 4]
mov edx, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0x9c]
mov eax, dword [eax + esi*4]
mov eax, dword [eax + 0x18]
mov dword [esp], ecx
call fcn.00415e10
test eax, eax
jne 0x418206
inc esi
cmp dword [ebx], esi
jg 0x41818e
mov ebx, dword [ebp - 0xb8]
mov eax, dword [ebx + 0x44]
test eax, eax
jne 0x4182a0
inc dword [ebp - 0xb4]
mov esi, dword [ebp - 0xb4]
cmp dword [ebx + 0xa8], esi
jg 0x41816f
mov eax, dword [ebp - 0xa0]
test eax, eax
jne 0x4181e8
mov eax, str._null_
mov dword [esp + 4], eax
mov dword [esp], str.Couldnt_agree_a_server_to_client_cipher__available:__s_
call fcn.00403e90
jmp 0x416282
mov dword [edx + 0x10], 1
jmp 0x4181b4
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 0xb8]
mov eax, dword [eax + esi*4]
mov dword [ecx + 0x44], eax
jmp 0x4181b4
mov esi, dword [ebp - 0xb4]
mov edi, dword [ebp - 0xac]
mov eax, dword [esi*4 + 0x4462cc]
mov dword [edi + 0x94], eax
jmp 0x417ebf
mov dword [esp], str.ssh__v2_session_id_len___sizeof_ssh__v2_session_id_
mov eax, 0x165f
mov dword [esp + 8], eax
mov eax, str..._ssh.c
mov dword [esp + 4], eax
call sub.msvcrt.dll__assert
mov edi, 0x1683
mov dword [esp + 8], edi
mov dword [esp], str.sizeof_keyspace____ssh__kex__hash__hlen__SSH2_MKKEY_ITERS
mov ebx, str..._ssh.c
mov dword [esp + 4], ebx
call sub.msvcrt.dll__assert
mov dword [esp], str._ssh__cscipher__keylen7____8___ssh__kex__hash__hlen__SSH2_MKKEY_ITERS
mov ecx, 0x1686
mov edx, str..._ssh.c
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
call sub.msvcrt.dll__assert
mov edi, dword [ebp - 0xb8]
mov edi, dword [edi + 0x44]
test edi, edi
je 0x4181d9
lea eax, [ebp - 0x9c]
xor esi, esi
lea edx, [ebp - 0xa0]
mov dword [esp], eax
mov eax, dword [ebp + 0xc]
call fcn.00413ba0
mov dword [ebp - 0xb4], esi
mov edx, dword [ebp - 0xb8]
mov ebx, dword [edx + 0x3c]
test ebx, ebx
jle 0x41830f
mov ecx, dword [ebp - 0xb8]
mov ebx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xa0]
mov eax, dword [ecx + 0x38]
mov ecx, dword [ebp - 0x9c]
mov eax, dword [eax + ebx*4]
mov eax, dword [eax + 0x14]
mov dword [esp], ecx
call fcn.00415e10
test eax, eax
jne 0x4184d4
mov esi, dword [ebp - 0xb8]
inc ebx
mov dword [ebp - 0xb4], ebx
cmp dword [esi + 0x3c], ebx
jg 0x4182cc
lea edi, [ebp - 0x9c]
lea edx, [ebp - 0xa0]
mov dword [esp], edi
mov eax, dword [ebp + 0xc]
call fcn.00413ba0
mov eax, dword [ebp - 0xb8]
xor ecx, ecx
mov dword [ebp - 0xb4], ecx
mov edx, dword [eax + 0x3c]
test edx, edx
jle 0x41837e
mov ecx, dword [ebp - 0xb8]
mov ebx, dword [ebp - 0xb4]
mov edx, dword [ebp - 0xa0]
mov eax, dword [ecx + 0x38]
mov ecx, dword [ebp - 0x9c]
mov eax, dword [eax + ebx*4]
mov eax, dword [eax + 0x14]
mov dword [esp], ecx
call fcn.00415e10
test eax, eax
jne 0x4184ee
mov esi, dword [ebp - 0xb8]
inc ebx
mov dword [ebp - 0xb4], ebx
cmp dword [esi + 0x3c], ebx
jg 0x41833b
lea edi, [ebp - 0x9c]
lea edx, [ebp - 0xa0]
mov dword [esp], edi
mov eax, dword [ebp + 0xc]
call fcn.00413ba0
xor eax, eax
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xb4]
test eax, eax
jne 0x41845a
mov eax, dword [ebp - 0xb8]
mov ebx, dword [eax + 0xc4]
mov eax, dword [ebp - 0x9c]
mov edx, dword [ebp - 0xa0]
mov dword [esp], eax
mov eax, dword [ebx]
call fcn.00415e10
test eax, eax
jne 0x4184c6
inc dword [ebp - 0xb4]
cmp dword [ebp - 0xb4], 2
jbe 0x41839d
lea ecx, [ebp - 0x9c]
lea edx, [ebp - 0xa0]
mov dword [esp], ecx
mov eax, dword [ebp + 0xc]
call fcn.00413ba0
xor eax, eax
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xb4]
test eax, eax
jne 0x41844b
mov esi, dword [ebp - 0xb8]
mov ebx, dword [esi + 0xc4]
mov eax, dword [ebp - 0x9c]
mov edx, dword [ebp - 0xa0]
mov dword [esp], eax
mov eax, dword [ebx]
call fcn.00415e10
test eax, eax
jne 0x4170da
inc dword [ebp - 0xb4]
cmp dword [ebp - 0xb4], 2
jbe 0x418403
jmp 0x4170e3
mov edi, dword [ebp - 0xb4]
mov ebx, dword [edi*4 + 0x4462c0]
jmp 0x418419
mov edx, dword [ebp - 0xb4]
mov ebx, dword [edx*4 + 0x4462c0]
jmp 0x4183b7
mov dword [esp], str.ssh__csmac__len___ssh__kex__hash__hlen__SSH2_MKKEY_ITERS
mov eax, 0x168e
mov dword [esp + 8], eax
mov eax, str..._ssh.c
mov dword [esp + 4], eax
call sub.msvcrt.dll__assert
mov dword [esp], str.ssh__cscipher__blksize___ssh__kex__hash__hlen__SSH2_MKKEY_ITERS
mov eax, 0x168a
mov dword [esp + 8], eax
mov eax, str..._ssh.c
mov dword [esp + 4], eax
call sub.msvcrt.dll__assert
mov dword [esp], str.ssh__kex__hash__hlen___sizeof_s__exchange_hash_
mov eax, 0x161c
mov dword [esp + 8], eax
mov eax, str..._ssh.c
mov dword [esp + 4], eax
call sub.msvcrt.dll__assert
mov esi, dword [ebp - 0xb8]
mov dword [esi + 0x50], ebx
jmp 0x4183e4
mov esi, dword [ebp - 0xb8]
mov edi, dword [ebp - 0xb4]
mov eax, dword [esi + 0x38]
mov eax, dword [eax + edi*4]
mov dword [esi + 0x48], eax
jmp 0x41830f
mov edx, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xb4]
mov eax, dword [edx + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [edx + 0x4c], eax
jmp 0x41837e
mov esi, 0x16c5
mov dword [esp + 8], esi
jmp 0x41825c
mov dword [esp], str._ssh__sccipher__keylen7____8___ssh__kex__hash__hlen__SSH2_MKKEY_ITERS
mov eax, 0x16c8
mov dword [esp + 8], eax
mov eax, str..._ssh.c
mov dword [esp + 4], eax
call sub.msvcrt.dll__assert
mov dword [esp], str.ssh__scmac__len___ssh__kex__hash__hlen__SSH2_MKKEY_ITERS
mov eax, 0x16d0
mov dword [esp + 8], eax
mov eax, str..._ssh.c
mov dword [esp + 4], eax
call sub.msvcrt.dll__assert
mov dword [esp], str.ssh__sccipher__blksize___ssh__kex__hash__hlen__SSH2_MKKEY_ITERS
mov ecx, 0x16cc
mov edx, str..._ssh.c
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
call sub.msvcrt.dll__assert