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

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xc0
mov rax, qword [section..data]
xor rax, rsp
mov qword [rbp + 0x17], rax
xor r14d, r14d
mov rdi, r9
mov esi, r8d
mov r13, rcx
mov qword [rbp - 0x39], rcx
mov r12d, 1
cmp qword [rcx + 0x2318], r14
jne 0x1400a8791
mov edx, SetWindowSubclass
mov ecx, r12d
call fcn.1400a159c
mov qword [r13 + 0x2318], rax
mov ecx, dword [r13 + 0x2300]
mov r15, qword [r13 + 0x2318]
mov eax, 0x167f
mov qword [rbp - 0x31], r15
cmp ecx, eax
jg 0x1400a8f12
je 0x1400a8bec
test ecx, ecx
je 0x1400a8b39
sub ecx, 0x14de
je 0x1400a8b1a
sub ecx, 0xef
je 0x1400a8ac5
sub ecx, 0x1f
je 0x1400a8a86
sub ecx, 0x1f
je 0x1400a8961
sub ecx, 0x22
je 0x1400a88a5
cmp ecx, 0x27
jne 0x1400a8f47
test rdi, rdi
je 0x1400a8951
cmp dword [rdi + 8], 0x1f
je 0x1400a8824
lea rdx, str.expected_key_exchange_group_packet_from_server
mov rcx, r13
call fcn.1400a25f0
mov dword [r13 + 0x2300], r14d
jmp 0x1400aa6d8
mov rcx, rdi
call fcn.1400a2e38
mov rcx, rdi
mov qword [r15 + 0x18], rax
call fcn.1400a2e38
mov rsi, qword [r15 + 0x18]
mov rdi, rax
mov qword [r15 + 0x20], rax
test rsi, rsi
je 0x1400a8899
test rax, rax
je 0x1400a8899
mov edx, gethostbyname
mov rcx, r12
call fcn.1400a159c
mov rcx, rsi
mov rbx, rax
call fcn.1400b20c4
mov rcx, rdi
mov qword [rbx + 0x10], rax
call fcn.1400b20c4
mov rcx, rbx
mov qword [rbx + 0x28], rax
call fcn.1400b63e0
mov qword [r13 + 0x2210], rbx
mov dword [r15 + 0x4c], 0x20
mov dword [r15 + 0x50], 0x21
jmp 0x1400a9f28
lea rdx, str.unable_to_read_mp_ints_from_incoming_group_packet
jmp 0x1400a8810
test rdi, rdi
je 0x1400a8a76
mov rax, qword [r13 + 0x21d8]
cmp dword [rax + 0x10], r14d
jne 0x1400aa10b
mov rax, qword [r15 + 0x68]
mov ecx, dword [rax + 0x3c]
mov rax, qword [r15 + 0x70]
mov edx, dword [rax + 0x3c]
cmp ecx, edx
cmovg edx, ecx
mov dword [r15], edx
mov rax, qword [r13 + 0x21d8]
mov rcx, qword [rax + 0x30]
mov eax, dword [rcx + 0x18]
shl eax, 3
cmp edx, eax
cmovg edx, eax
mov dword [r15], edx
mov rdi, qword [r13 + 0x21d8]
cmp qword [rdi + 0x18], r14
jne 0x1400a9ed2
mov dword [r13 + 0x22c8], 2
mov eax, dword [r15]
sub eax, r12d
cdq
and edx, 0x3f
lea ecx, [rdx + rax]
mov eax, 0x200
sar ecx, 6
shl eax, cl
mov ecx, 0x1e
mov dword [r15 + 4], eax
call fcn.1400a2ca4
mov edx, dword [r15 + 4]
mov rcx, rax
mov qword [r15 + 0x180], rax
call fcn.1400a2a28
mov rdx, qword [r15 + 0x180]
mov rcx, r13
call fcn.1400ac040
mov dword [r13 + 0x2300], 0x1654
jmp 0x1400aa6d8
test rdi, rdi
je 0x1400a8972
lea rdx, str.Unexpected_data_from_server_while_waiting_for_user_response
jmp 0x1400a8810
test esi, esi
jg 0x1400a9ec2
mov eax, dword [r13 + 0x23cc]
mov dword [r15 + 0x188], eax
xor edx, edx
mov rcx, r13
call fcn.1400aad3c
cmp dword [r15 + 0x188], r14d
je 0x1400a8abc
mov rax, qword [r13 + 0x21d8]
mov rcx, qword [rax + 0x30]
call qword [rcx]
mov rcx, qword [r13 + 0x2118]
mov qword [r13 + 0x2128], rax
call qword [sym.imp.msvcrt.dll_strlen]
mov rcx, qword [r13 + 0x21d8]
mov r8, qword [r13 + 0x2118]
mov rdx, qword [r13 + 0x2128]
mov rcx, qword [rcx + 0x30]
mov r9, rax
call fcn.1400a28a4
mov rcx, qword [r13 + 0x2120]
call qword [sym.imp.msvcrt.dll_strlen]
mov rcx, qword [r13 + 0x21d8]
mov r8, qword [r13 + 0x2120]
mov rcx, qword [rcx + 0x30]
mov rdx, qword [r13 + 0x2128]
mov r9, rax
call fcn.1400a28a4
mov rcx, qword [r13 + 0x21d8]
mov r9d, dword [r15 + 0x48]
mov rcx, qword [rcx + 0x30]
mov r8, qword [r15 + 0x40]
mov rdx, qword [r13 + 0x2128]
call fcn.1400a28a4
mov rcx, qword [r15 + 0x40]
test rcx, rcx
je 0x1400a8a3d
call qword [sym.imp.msvcrt.dll_free]
mov r9d, dword [rdi]
cmp r9d, 5
jle 0x1400a8a69
mov rcx, qword [r13 + 0x21d8]
mov r8, qword [rdi + 0x10]
mov rdx, qword [r13 + 0x2128]
mov rcx, qword [rcx + 0x30]
add r9d, 0xfffffffb
add r8, 5
call fcn.1400a28a4
cmp dword [r15 + 0x190], r14d
je 0x1400a88ae
mov dword [r13 + 0x2300], 0x162d
jmp 0x1400aa6d8
test rdi, rdi
jne 0x1400a8966
test esi, esi
jg 0x1400a9e6f
mov eax, dword [r13 + 0x23cc]
mov dword [r15 + 0x188], eax
xor edx, edx
mov rcx, r13
call fcn.1400aad3c
cmp dword [r15 + 0x188], r14d
jne 0x1400a9e7f
lea rdx, str.User_aborted_at_cipher_warning
jmp 0x1400a8b02
test rdi, rdi
jne 0x1400a8966
test esi, esi
jg 0x1400a9e20
mov eax, dword [r13 + 0x23cc]
mov dword [r15 + 0x188], eax
xor edx, edx
mov rcx, r13
call fcn.1400aad3c
cmp dword [r15 + 0x188], r14d
jne 0x1400a9e30
lea rdx, str.User_aborted_at_kex_warning
xor r9d, r9d
xor r8d, r8d
mov rcx, r13
mov dword [rsp + 0x20], r12d
call fcn.1400ac4d0
jmp 0x1400a8818
test rdi, rdi
je 0x1400a9789
cmp dword [rdi + 8], 0x14
je 0x1400a9799
lea rdx, str.expected_key_exchange_packet_from_server
jmp 0x1400a8810
mov qword [r15 + 0x70], r14
mov qword [r15 + 0x68], r14
mov qword [r15 + 0x80], r14
mov qword [r15 + 0x78], r14
mov qword [r15 + 0x90], r14
mov qword [r15 + 0x88], r14
mov qword [r15 + 0x178], r14
mov qword [r15 + 0x170], r14
test byte [r13 + 0x215c], 2
mov dword [r15 + 0x60], 3
je 0x1400a8be3
lea rax, [0x140171868]
mov qword [r15 + 0x58], rax
mov dword [r13 + 0x22c8], r14d
mov rdx, r14
lea r8, [r13 + 0x658]
mov dword [r15 + 0x100], r14d
mov ecx, dword [r8]
test ecx, ecx
je 0x1400a91dd
dec ecx
je 0x1400a91d1
dec ecx
je 0x1400a91c5
dec ecx
je 0x1400a91b9
dec ecx
jne 0x1400a91f9
lea rcx, reloc.OLEAUT32.dll_SysReAllocString
movsxd rax, dword [r15 + 0x100]
mov qword [r15 + rax*8 + 0x108], rcx
jmp 0x1400a91f2
lea rax, [0x1401718f8]
jmp 0x1400a8b81
test rdi, rdi
je 0x1400aa0bf
mov eax, dword [r15 + 0x50]
cmp dword [rdi + 8], eax
je 0x1400a8c0a
lea rdx, str.expected_key_exchange_reply_packet_from_server
jmp 0x1400a8810
mov rcx, qword [r13 + 0x20f0]
mov edx, 2
mov rax, qword [rcx]
call qword [rax + 0xd0]
xor ebx, ebx
lea r12, [r15 + 0x98]
mov qword [r12], rbx
lea r14, [r15 + 0xc0]
mov dword [r14], ebx
mov eax, dword [rdi]
sub eax, dword [rdi + 0x20]
cmp eax, 4
jl 0x1400a8c4e
mov r8, r14
mov rdx, r12
mov rcx, rdi
call fcn.1400a2ddc
mov rax, qword [r13 + 0x21e0]
mov edx, dword [r14]
mov rcx, qword [r12]
call qword [rax]
mov rcx, rdi
mov qword [r15 + 0xd0], rax
call fcn.1400a2e38
mov qword [r15 + 0x30], rax
test rax, rax
jne 0x1400a8c91
lea rdx, str.unable_to_parse_key_exchange_reply_packet
mov rcx, r13
call fcn.1400a25f0
mov dword [r13 + 0x2300], ebx
jmp 0x1400aa6d8
lea rsi, [r15 + 0xa0]
lea rbx, [r15 + 0xc4]
and qword [rsi], 0
and dword [rbx], 0
mov eax, dword [rdi]
sub eax, dword [rdi + 0x20]
cmp eax, 4
jl 0x1400a8cbe
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call fcn.1400a2ddc
mov rdx, qword [r13 + 0x2210]
mov rcx, qword [r15 + 0x30]
mov r8, qword [rdx + 0x10]
mov rdx, qword [rdx]
call fcn.1400b2ec0
xor edx, edx
mov qword [r15 + 0x38], rax
mov rcx, qword [r13 + 0x20f0]
mov rax, qword [rcx]
call qword [rax + 0xd0]
mov rcx, qword [r13 + 0x21d8]
mov r9d, dword [r14]
mov rcx, qword [rcx + 0x30]
mov r8, qword [r12]
mov rdx, qword [r13 + 0x2128]
call fcn.1400a28a4
mov rdx, qword [r13 + 0x21d8]
xor r14d, r14d
cmp qword [rdx + 0x18], r14
jne 0x1400a8d84
mov ecx, dword [r15 + 4]
lea r8d, [r14 + 4]
mov eax, ecx
mov byte [rbp - 0x56], cl
shr eax, 0x18
mov byte [rbp - 0x59], al
mov eax, ecx
shr eax, 0x10
mov byte [rbp - 0x58], al
mov eax, ecx
mov rcx, qword [r13 + 0x2128]
shr eax, 8
mov byte [rbp - 0x57], al
mov rax, qword [rdx + 0x30]
lea rdx, [rbp - 0x59]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [r13 + 0x21d8]
mov r8, qword [r15 + 0x18]
mov rcx, qword [rcx + 0x30]
mov rdx, qword [r13 + 0x2128]
call fcn.1400a2d0c
mov rcx, qword [r13 + 0x21d8]
mov r8, qword [r15 + 0x20]
mov rcx, qword [rcx + 0x30]
mov rdx, qword [r13 + 0x2128]
call fcn.1400a2d0c
mov rcx, qword [r13 + 0x21d8]
mov r8, qword [r15 + 0x28]
mov rdx, qword [r13 + 0x2128]
mov rcx, qword [rcx + 0x30]
call fcn.1400a2d0c
mov rcx, qword [r13 + 0x21d8]
mov r8, qword [r15 + 0x30]
mov rcx, qword [rcx + 0x30]
mov rdx, qword [r13 + 0x2128]
call fcn.1400a2d0c
mov rcx, qword [r13 + 0x2210]
call fcn.1400b64d8
mov rcx, qword [r15 + 0x30]
call fcn.1400b2114
mov rax, qword [r13 + 0x21d8]
cmp qword [rax + 0x18], r14
jne 0x1400a8dee
mov rcx, qword [r15 + 0x20]
call fcn.1400b2114
mov rcx, qword [r15 + 0x18]
call fcn.1400b2114
mov r12d, 1
mov rcx, qword [r13 + 0x21d8]
mov r8, qword [r15 + 0x38]
mov rdx, qword [r13 + 0x2128]
mov rcx, qword [rcx + 0x30]
call fcn.1400a2d0c
mov rax, qword [r13 + 0x21d8]
mov rcx, qword [r13 + 0x2128]
mov r8, qword [rax + 0x30]
lea rdi, [r15 + 0xe0]
mov rdx, rdi
call qword [r8 + reloc.SHELL32.dll_ILFindLastID]
mov qword [r13 + 0x2210], r14
mov rcx, qword [r15 + 0xd0]
test rcx, rcx
je 0x1400aa3f9
mov rax, qword [r13 + 0x21d8]
mov r10, qword [r13 + 0x21e0]
mov r8d, dword [rbx]
mov rdx, qword [rax + 0x30]
mov r9, rdi
mov eax, dword [rdx + 0x18]
mov rdx, qword [rsi]
mov dword [rsp + 0x20], eax
call qword [r10 + 0x50]
test eax, eax
je 0x1400aa3f9
mov rax, qword [r13 + 0x21e0]
mov rcx, qword [r15 + 0xd0]
call qword [rax + reloc.SHELL32.dll_ILFindLastID]
mov rcx, qword [r15 + 0xd0]
mov qword [r15 + 0xb0], rax
mov rax, qword [r13 + 0x21e0]
call qword [rax + 0x48]
mov edx, r12d
mov rcx, r13
mov qword [r15 + 0xb8], rax
call fcn.1400aad3c
mov rax, qword [r15 + 0xb8]
mov rcx, qword [r13 + 0x20f0]
mov r9, qword [r13 + 0x21e0]
mov r8d, dword [r13 + 0x2220]
mov r10, qword [rcx]
mov r9, qword [r9 + 0x68]
mov rdx, qword [r13 + 0x2218]
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], rax
mov rax, qword [r15 + 0xb0]
mov qword [rsp + 0x20], rax
call qword [r10 + 0x48]
mov dword [r15 + 0x188], eax
test eax, eax
jns 0x1400aa142
mov dword [r13 + 0x2300], 0x173c
jmp 0x1400aa6d8
sub ecx, 0x16b8
je 0x1400aa405
sub ecx, 0x57
je 0x1400aa165
sub ecx, 0x2d
je 0x1400aa11b
sub ecx, 0x72
je 0x1400a8f53
sub ecx, 0x60
je 0x1400a9123
cmp ecx, 0x17
je 0x1400a912a
mov dword [r13 + 0x2300], r14d
jmp 0x1400a9140
test rdi, rdi
je 0x1400aa3e9
cmp dword [rdi + 8], 0x15
je 0x1400a8f6e
lea rdx, str.expected_new_keys_packet_from_server
jmp 0x1400a8810
mov rcx, qword [r13 + 0x2190]
mov dword [r13 + 0x3c00], r14d
test rcx, rcx
je 0x1400a8f8b
mov rax, qword [r13 + 0x2180]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [r15 + 0x70]
mov qword [r13 + 0x2180], rax
call qword [rax]
mov rcx, qword [r13 + 0x21b0]
mov qword [r13 + 0x2190], rax
test rcx, rcx
je 0x1400a8fb5
mov rax, qword [r13 + 0x21a0]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [r15 + 0x80]
mov qword [r13 + 0x21a0], rax
call qword [rax]
mov rdx, qword [r13 + 0x21d0]
mov qword [r13 + 0x21b0], rax
test rdx, rdx
je 0x1400a8fe5
mov rcx, qword [r13 + 0x21c8]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, qword [r15 + 0x90]
mov qword [r13 + 0x21c8], rcx
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
lea rbx, [r15 + 0xe0]
mov r9b, 0x44
mov qword [r13 + 0x21d0], rax
mov rdx, qword [r15 + 0x38]
lea rax, [rbp - 0x29]
mov r8, rbx
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.1400afe04
mov rax, qword [r13 + 0x2180]
mov rcx, qword [r13 + 0x2190]
lea rdx, [rbp - 0x29]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
mov rdx, qword [r15 + 0x38]
lea rax, [rbp - 0x29]
mov r9b, 0x42
mov r8, rbx
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.1400afe04
mov rax, qword [r13 + 0x2180]
mov rcx, qword [r13 + 0x2190]
lea rdx, [rbp - 0x29]
call qword [rax + reloc.SHELL32.dll_ILFindLastID]
mov rdx, qword [r15 + 0x38]
lea rax, [rbp - 0x29]
mov r9b, 0x46
mov r8, rbx
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.1400afe04
mov rax, qword [r13 + 0x21a0]
mov rcx, qword [r13 + 0x21b0]
lea rdx, [rbp - 0x29]
call qword [rax + reloc.SHELL32.dll_ILFindLastID]
xor edx, edx
lea rcx, [rbp - 0x29]
lea r8d, [rdx + 0x40]
call qword [sym.imp.msvcrt.dll_memset]
mov rcx, qword [r15 + 0x38]
call fcn.1400b2114
cmp qword [r13 + 0x3c20], r14
je 0x1400a90c8
mov rdi, r14
mov qword [r13 + 0x3c20], r14
jmp 0x1400a8b85
mov dword [r13 + 0x3c10], r14d
call qword [sym.imp.KERNEL32.DLL_GetTickCount64]
mov dword [r13 + 0x3c18], eax
mov eax, dword [r13 + 0x66c]
test eax, eax
je 0x1400a910a
mov rcx, qword [r13 + 0x3c38]
lea r8, [0x1400af338]
imul edx, eax, 0xea60
mov r9, r13
call fcn.1400c701c
mov dword [r13 + 0x3c14], eax
cmp dword [r15 + 0x17c], r14d
je 0x1400a9123
mov dword [r13 + 0x2300], 0x180e
jmp 0x1400aa6d8
mov dword [r15 + 0x17c], r12d
test rdi, rdi
je 0x1400a9148
cmp dword [rdi + 8], 0x14
je 0x1400a914c
mov dword [r13 + 0x2300], 0x1825
mov eax, r12d
jmp 0x1400aa6da
test esi, esi
jns 0x1400a9135
test rdi, rdi
jne 0x1400a8b85
cmp esi, 0xfffffffe
jne 0x1400a9171
mov dword [r15 + 0x170], r12d
cmp dword [r15 + 0x174], r14d
je 0x1400a9135
mov dword [r15 + 0x174], r14d
test byte [r13 + 0x215c], 0x40
je 0x1400a8b85
mov eax, dword [r13 + 0x66c]
mov qword [r13 + 0x3c00], r14
test eax, eax
je 0x1400a9135
mov rcx, qword [r13 + 0x3c38]
lea r8, [0x1400af338]
imul edx, eax, 0xea60
mov r9, r13
call fcn.1400c701c
mov dword [r13 + 0x3c14], eax
jmp 0x1400a9135
lea rcx, reloc.OLEAUT32.dll_SysReAllocString
jmp 0x1400a8bcf
lea rcx, reloc.d2d1.dll_Ordinal_1
jmp 0x1400a8bcf
lea rcx, reloc.d2d1.dll_Ordinal_1
jmp 0x1400a8bcf
cmp rdx, 4
jge 0x1400a91f9
movsxd rax, dword [r15 + 0x100]
mov qword [r15 + rax*8 + 0x108], r14
add dword [r15 + 0x100], r12d
add rdx, r12
add r8, 4
cmp rdx, 5
jl 0x1400a8b9d
mov dword [r15 + 0x130], r14d
mov rdx, r14
lea r8, [r13 + 0x680]
mov ecx, dword [r8]
test ecx, ecx
je 0x1400a927b
dec ecx
je 0x1400a9272
dec ecx
je 0x1400a9269
dec ecx
je 0x1400a9260
dec ecx
je 0x1400a924e
dec ecx
jne 0x1400a9297
lea rcx, reloc.OLEAUT32.dll_SysReAllocString
movsxd rax, dword [r15 + 0x130]
mov qword [r15 + rax*8 + 0x138], rcx
jmp 0x1400a9290
cmp dword [r13 + 0x8a4], r14d
je 0x1400a9297
lea rcx, reloc.OLEAUT32.dll_SysReAllocString
jmp 0x1400a923d
lea rcx, reloc.WS2_32.dll_getsockopt
jmp 0x1400a923d
lea rcx, reloc.OLEAUT32.dll_SysReAllocString
jmp 0x1400a923d
lea rcx, reloc.OLEAUT32.dll_SysReAllocString
jmp 0x1400a923d
cmp rdx, 5
jge 0x1400a9297
movsxd rax, dword [r15 + 0x130]
mov qword [r15 + rax*8 + 0x138], r14
add dword [r15 + 0x130], r12d
add rdx, r12
add r8, 4
cmp rdx, 6
jl 0x1400a921b
lea rax, vtable.ssh::SSHCompress.0
cmp dword [r13 + 0x654], r14d
jne 0x1400a92bf
lea rax, vtable.ssh::SSHCompress.0
mov qword [r15 + 0x168], rax
mov ecx, SafeArrayGetElement
mov dword [r13 + 0x2290], r12d
mov dword [r13 + 0x3c10], r12d
call fcn.1400a2ca4
mov ebx, reloc.SHELL32.dll_ILFindLastID
mov qword [r15 + 0x180], rax
call fcn.1400a217c
mov rcx, qword [r15 + 0x180]
lea rdx, [rbp - 0x49]
mov r8d, r12d
mov byte [rbp - 0x49], al
call fcn.1400a2980
sub rbx, r12
jne 0x1400a92ea
mov rbx, qword [r15 + 0x180]
xor edx, edx
mov rcx, rbx
call fcn.1400a2a28
mov eax, dword [rbx]
mov ecx, r14d
mov dword [rbx + 0x20], eax
mov r12d, r14d
cmp dword [r15 + 0x100], r14d
jle 0x1400a939d
lea rsi, [r15 + 0x108]
mov rbx, qword [rsi]
test rbx, rbx
je 0x1400a938d
mov dword [rbp - 0x55], r14d
cmp dword [rbx], r14d
jle 0x1400a938d
test ecx, ecx
je 0x1400a935e
mov rcx, qword [r15 + 0x180]
lea rdx, [0x14012f0c4]
call fcn.1400a2a60
mov rax, qword [rbx + 8]
mov rcx, qword [r15 + 0x180]
mov rdx, qword [r14 + rax]
mov rdx, qword [rdx]
call fcn.1400a2a60
mov eax, dword [rbp - 0x55]
add r14, 8
inc eax
mov ecx, 1
mov dword [rbp - 0x55], eax
cmp eax, dword [rbx]
jl 0x1400a9347
xor r14d, r14d
inc r12d
add rsi, 8
cmp r12d, dword [r15 + 0x100]
jl 0x1400a9336
mov rbx, qword [r15 + 0x180]
xor edx, edx
mov rcx, rbx
call fcn.1400a2a28
mov eax, dword [rbx]
xor r12d, r12d
mov dword [rbx + 0x20], eax
mov ebx, r12d
lea rsi, [0x140107dd0]
mov rdx, qword [rsi]
mov rcx, qword [r15 + 0x180]
mov rdx, qword [rdx + 0x60]
call fcn.1400a2a60
cmp rbx, 1
jae 0x1400a93ec
mov rcx, qword [r15 + 0x180]
lea rdx, [0x14012f0c4]
call fcn.1400a2a60
inc r14d
add rsi, 8
movsxd rbx, r14d
cmp rbx, 2
jb 0x1400a93c0
mov rbx, qword [r15 + 0x180]
xor edx, edx
mov rcx, rbx
call fcn.1400a2a28
mov eax, dword [rbx]
mov ecx, r12d
mov dword [rbx + 0x20], eax
mov r14d, r12d
cmp dword [r15 + 0x130], r12d
jle 0x1400a9490
lea rsi, [r15 + 0x138]
mov rbx, qword [rsi]
test rbx, rbx
je 0x1400a9480
mov dword [rbp - 0x55], r12d
cmp dword [rbx], r12d
jle 0x1400a9480
test ecx, ecx
je 0x1400a9450
mov rcx, qword [r15 + 0x180]
lea rdx, [0x14012f0c4]
call fcn.1400a2a60
mov rax, qword [rbx + 8]
mov rcx, qword [r15 + 0x180]
mov rdx, qword [r12 + rax]
mov rdx, qword [rdx + 0x30]
call fcn.1400a2a60
mov eax, dword [rbp - 0x55]
add r12, 8
inc eax
mov ecx, 1
mov dword [rbp - 0x55], eax
cmp eax, dword [rbx]
jl 0x1400a9439
xor r12d, r12d
inc r14d
add rsi, 8
cmp r14d, dword [r15 + 0x130]
jl 0x1400a9428
mov rbx, qword [r15 + 0x180]
xor edx, edx
mov rcx, rbx
call fcn.1400a2a28
mov eax, dword [rbx]
mov ecx, r12d
mov dword [rbx + 0x20], eax
mov r14d, r12d
cmp dword [r15 + 0x130], r12d
jle 0x1400a9524
lea rsi, [r15 + 0x138]
mov rbx, qword [rsi]
test rbx, rbx
je 0x1400a9514
mov dword [rbp - 0x55], r12d
cmp dword [rbx], r12d
jle 0x1400a9514
test ecx, ecx
je 0x1400a94e4
mov rcx, qword [r15 + 0x180]
lea rdx, [0x14012f0c4]
call fcn.1400a2a60
mov rax, qword [rbx + 8]
mov rcx, qword [r15 + 0x180]
mov rdx, qword [r12 + rax]
mov rdx, qword [rdx + 0x30]
call fcn.1400a2a60
mov eax, dword [rbp - 0x55]
add r12, 8
inc eax
mov ecx, 1
mov dword [rbp - 0x55], eax
cmp eax, dword [rbx]
jl 0x1400a94cd
xor r12d, r12d
inc r14d
add rsi, 8
cmp r14d, dword [r15 + 0x130]
jl 0x1400a94bc
mov rbx, qword [r15 + 0x180]
xor edx, edx
mov rcx, rbx
call fcn.1400a2a28
mov eax, dword [rbx]
mov dword [rbx + 0x20], eax
mov ebx, r12d
cmp dword [r15 + 0x60], r12d
jle 0x1400a9587
mov rsi, r12
mov rax, qword [r15 + 0x58]
mov rcx, qword [r15 + 0x180]
mov rdx, qword [rsi + rax]
mov rdx, qword [rdx + 0x48]
call fcn.1400a2a60
mov eax, dword [r15 + 0x60]
dec eax
cmp ebx, eax
jge 0x1400a957b
mov rcx, qword [r15 + 0x180]
lea rdx, [0x14012f0c4]
call fcn.1400a2a60
inc ebx
add rsi, 8
cmp ebx, dword [r15 + 0x60]
jl 0x1400a9546
mov rbx, qword [r15 + 0x180]
xor edx, edx
mov rcx, rbx
call fcn.1400a2a28
mov eax, dword [rbx]
mov dword [rbx + 0x20], eax
mov ebx, r12d
cmp dword [r15 + 0x60], r12d
jle 0x1400a95ea
mov rsi, r12
mov rax, qword [r15 + 0x58]
mov rcx, qword [r15 + 0x180]
mov rdx, qword [rsi + rax]
mov rdx, qword [rdx + 0x48]
call fcn.1400a2a60
mov eax, dword [r15 + 0x60]
dec eax
cmp ebx, eax
jge 0x1400a95de
mov rcx, qword [r15 + 0x180]
lea rdx, [0x14012f0c4]
call fcn.1400a2a60
inc ebx
add rsi, 8
cmp ebx, dword [r15 + 0x60]
jl 0x1400a95a9
mov r12d, 2
mov rbx, qword [r15 + 0x180]
xor edx, edx
mov rcx, rbx
call fcn.1400a2a28
mov eax, dword [rbx]
mov dword [rbx + 0x20], eax
mov rdx, qword [r15 + 0x168]
mov rcx, qword [r15 + 0x180]
add rdx, 8
call fcn.1400a2a60
cmp dword [r15 + 0x170], 0
je 0x1400a965e
mov rax, qword [r15 + 0x168]
add rax, 0x1c
je 0x1400a965e
mov rcx, qword [r15 + 0x180]
lea rdx, [0x14012f0c4]
call fcn.1400a2a60
mov rdx, qword [r15 + 0x168]
mov rcx, qword [r15 + 0x180]
add rdx, 0x1c
call fcn.1400a2a60
xor r14d, r14d
lea rsi, [0x140107e60]
mov rbx, qword [rsi]
cmp rbx, qword [r15 + 0x168]
je 0x1400a96c9
mov rcx, qword [r15 + 0x180]
lea rdx, [0x14012f0c4]
call fcn.1400a2a60
mov rcx, qword [r15 + 0x180]
lea rdx, [rbx + 8]
call fcn.1400a2a60
cmp dword [r15 + 0x170], 0
je 0x1400a96c9
add rbx, 0x1c
je 0x1400a96c9
mov rcx, qword [r15 + 0x180]
lea rdx, [0x14012f0c4]
call fcn.1400a2a60
mov rcx, qword [r15 + 0x180]
mov rdx, rbx
call fcn.1400a2a60
inc r14d
add rsi, 8
movsxd rax, r14d
cmp rax, 2
jb 0x1400a9668
dec r12
jne 0x1400a95f0
mov rbx, qword [r15 + 0x180]
xor edx, edx
mov rcx, rbx
call fcn.1400a2a28
mov eax, dword [rbx]
xor edx, edx
mov dword [rbx + 0x20], eax
mov rbx, qword [r15 + 0x180]
mov rcx, rbx
call fcn.1400a2a28
mov eax, dword [rbx]
lea r8d, [r12 + 1]
mov dword [rbx + 0x20], eax
mov rcx, qword [r15 + 0x180]
lea rdx, [rbp - 0x49]
xor r14d, r14d
mov byte [rbp - 0x49], r14b
call fcn.1400a2980
mov rcx, qword [r15 + 0x180]
xor edx, edx
call fcn.1400a2a28
mov rax, qword [r15 + 0x180]
lea edx, [r12 + 1]
mov ecx, dword [rax]
add ecx, 0xfffffffb
mov dword [r15 + 0x48], ecx
movsxd rcx, ecx
call fcn.1400a159c
mov rcx, qword [r15 + 0x180]
movsxd r8, dword [r15 + 0x48]
mov qword [r15 + 0x40], rax
mov rdx, qword [rcx + 0x10]
mov rcx, rax
add rdx, 5
call qword [sym.imp.msvcrt.dll_memcpy]
mov rdx, qword [r15 + 0x180]
mov rcx, r13
call fcn.1400ac040
jmp 0x1400a8b1a
mov dword [r13 + 0x2300], 0x14de
jmp 0x1400aa6d8
mov qword [r13 + 0x21d8], r14
mov qword [r13 + 0x21e0], r14
mov qword [r15 + 0x68], r14
mov qword [r15 + 0x70], r14
mov qword [r15 + 0x78], r14
mov qword [r15 + 0x80], r14
mov qword [r15 + 0x88], r14
mov qword [r15 + 0x90], r14
mov qword [r15 + 0xc], 0
mov dword [r15 + 8], r14d
add dword [rdi + 0x20], 0x10
mov eax, dword [rdi]
sub eax, dword [rdi + 0x20]
mov rdx, r14
mov r8d, r14d
mov qword [rbp - 0x51], rdx
mov dword [rbp - 0x59], r14d
cmp eax, 4
jl 0x1400a9808
lea r8, [rbp - 0x59]
lea rdx, [rbp - 0x51]
mov rcx, rdi
call fcn.1400a2ddc
mov rdx, qword [rbp - 0x51]
mov r8d, dword [rbp - 0x59]
mov rcx, r14
mov eax, r14d
mov qword [rbp - 0x41], rcx
mov dword [rbp - 0x55], eax
cmp dword [r15 + 0x100], r14d
jle 0x1400a98c3
lea r12, [r15 + 0x108]
mov rbx, qword [r12]
test rbx, rbx
jne 0x1400a983c
mov dword [r15 + 8], 1
jmp 0x1400a989c
xor esi, esi
cmp dword [rbx], esi
jle 0x1400a9899
test rcx, rcx
jne 0x1400a9856
mov rax, qword [rbx + 8]
mov rcx, qword [rax + rsi*8]
mov rax, qword [rcx]
mov qword [rbp - 0x41], rax
mov rax, qword [rbx + 8]
mov rcx, qword [rax + rsi*8]
mov rcx, qword [rcx]
call fcn.1400a2f54
test eax, eax
jne 0x1400a9883
mov rdx, qword [rbp - 0x51]
mov r8d, dword [rbp - 0x59]
mov rcx, qword [rbp - 0x41]
inc r14d
inc rsi
cmp r14d, dword [rbx]
jl 0x1400a9842
jmp 0x1400a9896
mov rax, qword [rbx + 8]
mov rcx, qword [rax + rsi*8]
mov qword [r13 + 0x21d8], rcx
mov rcx, qword [rbp - 0x41]
mov eax, dword [rbp - 0x55]
xor r14d, r14d
cmp qword [r13 + 0x21d8], r14
jne 0x1400a98d8
mov rdx, qword [rbp - 0x51]
mov r8d, dword [rbp - 0x59]
inc eax
add r12, 8
mov dword [rbp - 0x55], eax
cmp eax, dword [r15 + 0x100]
jl 0x1400a9829
cmp qword [r13 + 0x21d8], r14
jne 0x1400a98d8
lea rdx, str.Couldnt_agree_a_key_exchange_algorithm
jmp 0x1400a8810
mov r8d, dword [rbp - 0x59]
mov rdx, qword [rbp - 0x51]
call fcn.1400a2fec
xor r12d, r12d
mov qword [rbp - 0x51], r14
mov dword [r15 + 0x18c], eax
mov eax, dword [rdi]
mov dword [rbp - 0x59], r12d
sub eax, dword [rdi + 0x20]
cmp eax, 4
jl 0x1400a9919
lea r8, [rbp - 0x59]
lea rdx, [rbp - 0x51]
mov rcx, rdi
call fcn.1400a2ddc
mov r12d, dword [rbp - 0x59]
mov r14, qword [rbp - 0x51]
xor ebx, ebx
lea rsi, [0x140107dd0]
mov rcx, qword [rsi]
mov r8d, r12d
mov rdx, r14
mov rcx, qword [rcx + 0x60]
call fcn.1400a2f54
test eax, eax
jne 0x1400a9949
inc ebx
add rsi, 8
movsxd rax, ebx
cmp rax, 2
jb 0x1400a9922
jmp 0x1400a995e
lea rcx, [0x140107dd0]
movsxd rax, ebx
mov rax, qword [rcx + rax*8]
mov qword [r13 + 0x21e0], rax
cmp dword [r15 + 0x18c], 0
je 0x1400a9989
mov rcx, qword [0x140107dd0]
mov r8d, r12d
mov rdx, r14
mov rcx, qword [rcx + 0x60]
call fcn.1400a2fec
test eax, eax
je 0x1400a9989
mov eax, 1
jmp 0x1400a998b
xor eax, eax
mov dword [r15 + 0x18c], eax
mov eax, dword [rdi]
xor edx, edx
sub eax, dword [rdi + 0x20]
xor r8d, r8d
mov qword [rbp - 0x51], rdx
mov dword [rbp - 0x59], r8d
cmp eax, 4
jl 0x1400a99c1
lea r8, [rbp - 0x59]
lea rdx, [rbp - 0x51]
mov rcx, rdi
call fcn.1400a2ddc
mov rdx, qword [rbp - 0x51]
mov r8d, dword [rbp - 0x59]
xor eax, eax
mov dword [rbp - 0x55], eax
cmp dword [r15 + 0x130], eax
jle 0x1400a9a4c
lea r12, [r15 + 0x138]
mov rbx, qword [r12]
test rbx, rbx
jne 0x1400a99e9
mov dword [r15 + 0xc], 1
jmp 0x1400a9a2b
xor esi, esi
xor r14d, r14d
cmp dword [rbx], esi
jle 0x1400a9a2b
mov rax, qword [rbx + 8]
mov rcx, qword [rax + rsi*8]
mov rcx, qword [rcx + 0x30]
call fcn.1400a2f54
test eax, eax
jne 0x1400a9a1c
mov rdx, qword [rbp - 0x51]
mov r8d, dword [rbp - 0x59]
inc r14d
inc rsi
cmp r14d, dword [rbx]
jl 0x1400a99f2
jmp 0x1400a9a28
mov rax, qword [rbx + 8]
mov rcx, qword [rax + rsi*8]
mov qword [r15 + 0x68], rcx
mov eax, dword [rbp - 0x55]
cmp qword [r15 + 0x68], 0
jne 0x1400a9a6f
mov rdx, qword [rbp - 0x51]
mov r8d, dword [rbp - 0x59]
inc eax
add r12, 8
mov dword [rbp - 0x55], eax
cmp eax, dword [r15 + 0x130]
jl 0x1400a99d6
cmp qword [r15 + 0x68], 0
jne 0x1400a9a6f
lea rdx, str.Couldnt_agree_a_client_to_server_cipher
mov rcx, r13
call fcn.1400a25f0
and dword [r13 + 0x2300], 0
jmp 0x1400aa6d8
mov eax, dword [rdi]
xor edx, edx
xor r8d, r8d
sub eax, dword [rdi + 0x20]
mov qword [rbp - 0x51], rdx
mov dword [rbp - 0x59], r8d
cmp eax, 4
jl 0x1400a9a9e
lea r8, [rbp - 0x59]
lea rdx, [rbp - 0x51]
mov rcx, rdi
call fcn.1400a2ddc
mov rdx, qword [rbp - 0x51]
mov r8d, dword [rbp - 0x59]
xor eax, eax
mov dword [rbp - 0x55], eax
cmp dword [r15 + 0x130], eax
jle 0x1400a9b29
lea r12, [r15 + 0x138]
mov rbx, qword [r12]
test rbx, rbx
jne 0x1400a9ac6
mov dword [r15 + 0x10], 1
jmp 0x1400a9b08
xor esi, esi
xor r14d, r14d
cmp dword [rbx], esi
jle 0x1400a9b08
mov rax, qword [rbx + 8]
mov rcx, qword [rax + rsi*8]
mov rcx, qword [rcx + 0x30]
call fcn.1400a2f54
test eax, eax
jne 0x1400a9af9
mov rdx, qword [rbp - 0x51]
mov r8d, dword [rbp - 0x59]
inc r14d
inc rsi
cmp r14d, dword [rbx]
jl 0x1400a9acf
jmp 0x1400a9b05
mov rax, qword [rbx + 8]
mov rcx, qword [rax + rsi*8]
mov qword [r15 + 0x70], rcx
mov eax, dword [rbp - 0x55]
cmp qword [r15 + 0x70], 0
jne 0x1400a9b3c
mov rdx, qword [rbp - 0x51]
mov r8d, dword [rbp - 0x59]
inc eax
add r12, 8
mov dword [rbp - 0x55], eax
cmp eax, dword [r15 + 0x130]
jl 0x1400a9ab3
cmp qword [r15 + 0x70], 0
jne 0x1400a9b3c
lea rdx, str.Couldnt_agree_a_server_to_client_cipher
jmp 0x1400a9a5a
mov eax, dword [rdi]
xor r14d, r14d
xor r12d, r12d
sub eax, dword [rdi + 0x20]
mov qword [rbp - 0x51], r14
mov dword [rbp - 0x59], r12d
cmp eax, 4
jl 0x1400a9b6c
lea r8, [rbp - 0x59]
lea rdx, [rbp - 0x51]
mov rcx, rdi
call fcn.1400a2ddc
mov r12d, dword [rbp - 0x59]
mov r14, qword [rbp - 0x51]
xor ebx, ebx
cmp dword [r15 + 0x60], ebx
jle 0x1400a9bae
xor esi, esi
mov rax, qword [r15 + 0x58]
mov r8d, r12d
mov rdx, r14
mov rcx, qword [rsi + rax]
mov rcx, qword [rcx + 0x48]
call fcn.1400a2f54
test eax, eax
jne 0x1400a9b9f
inc ebx
add rsi, 8
cmp ebx, dword [r15 + 0x60]
jl 0x1400a9b76
jmp 0x1400a9bae
mov rax, qword [r15 + 0x58]
movsxd rcx, ebx
mov rcx, qword [rax + rcx*8]
mov qword [r15 + 0x78], rcx
mov eax, dword [rdi]
xor r14d, r14d
xor r12d, r12d
sub eax, dword [rdi + 0x20]
mov qword [rbp - 0x51], r14
mov dword [rbp - 0x59], r12d
cmp eax, 4
jl 0x1400a9bde
lea r8, [rbp - 0x59]
lea rdx, [rbp - 0x51]
mov rcx, rdi
call fcn.1400a2ddc
mov r12d, dword [rbp - 0x59]
mov r14, qword [rbp - 0x51]
xor ebx, ebx
cmp dword [r15 + 0x60], ebx
jle 0x1400a9c23
xor esi, esi
mov rax, qword [r15 + 0x58]
mov r8d, r12d
mov rdx, r14
mov rcx, qword [rsi + rax]
mov rcx, qword [rcx + 0x48]
call fcn.1400a2f54
test eax, eax
jne 0x1400a9c11
inc ebx
add rsi, 8
cmp ebx, dword [r15 + 0x60]
jl 0x1400a9be8
jmp 0x1400a9c23
mov rax, qword [r15 + 0x58]
movsxd rcx, ebx
mov rcx, qword [rax + rcx*8]
mov qword [r15 + 0x80], rcx
mov eax, dword [rdi]
xor r14d, r14d
xor r12d, r12d
sub eax, dword [rdi + 0x20]
mov qword [rbp - 0x51], r14
mov dword [rbp - 0x59], r12d
cmp eax, 4
jl 0x1400a9c53
lea r8, [rbp - 0x59]
lea rdx, [rbp - 0x51]
mov rcx, rdi
call fcn.1400a2ddc
mov r12d, dword [rbp - 0x59]
mov r14, qword [rbp - 0x51]
lea rax, [0x140107e60]
xor esi, esi
add rax, 0xfffffffffffffff8
mov qword [rbp - 0x41], rax
mov rcx, rax
mov qword [rbp - 0x51], rax
test esi, esi
jne 0x1400a9c78
mov rbx, qword [r15 + 0x168]
jmp 0x1400a9c7b
mov rbx, qword [rcx]
lea rcx, [rbx + 8]
mov r8d, r12d
mov rdx, r14
call fcn.1400a2f54
test eax, eax
jne 0x1400a9ccf
lea rcx, [rbx + 0x1c]
mov r8d, r12d
mov rdx, r14
call fcn.1400a2f54
test eax, eax
je 0x1400a9cb6
cmp dword [r15 + 0x170], 0
jne 0x1400a9ccf
mov dword [r15 + 0x174], 1
mov rcx, qword [rbp - 0x51]
inc esi
add rcx, 8
movsxd rax, esi
mov qword [rbp - 0x51], rcx
cmp rax, 3
jae 0x1400a9cd6
jmp 0x1400a9c6b
mov qword [r15 + 0x88], rbx
mov eax, dword [rdi]
xor r14d, r14d
xor r12d, r12d
sub eax, dword [rdi + 0x20]
mov qword [rbp - 0x51], r14
mov dword [rbp - 0x59], r12d
cmp eax, 4
jl 0x1400a9d06
lea r8, [rbp - 0x59]
lea rdx, [rbp - 0x51]
mov rcx, rdi
call fcn.1400a2ddc
mov r12d, dword [rbp - 0x59]
mov r14, qword [rbp - 0x51]
xor esi, esi
test esi, esi
jne 0x1400a9d15
mov rbx, qword [r15 + 0x168]
jmp 0x1400a9d1c
mov rbx, qword [rbp - 0x41]
mov rbx, qword [rbx]
lea rcx, [rbx + 8]
mov r8d, r12d
mov rdx, r14
call fcn.1400a2f54
test eax, eax
jne 0x1400a9d69
lea rcx, [rbx + 0x1c]
mov r8d, r12d
mov rdx, r14
call fcn.1400a2f54
test eax, eax
je 0x1400a9d57
cmp dword [r15 + 0x170], 0
jne 0x1400a9d69
mov dword [r15 + 0x174], 1
add qword [rbp - 0x41], 8
inc esi
movsxd rax, esi
cmp rax, 3
jae 0x1400a9d70
jmp 0x1400a9d08
mov qword [r15 + 0x90], rbx
mov eax, dword [rdi]
xor r14d, r14d
sub eax, dword [rdi + 0x20]
mov dword [rbp - 0x59], r14d
cmp eax, 4
jl 0x1400a9d91
lea r8, [rbp - 0x59]
lea rdx, [rbp - 0x51]
mov rcx, rdi
call fcn.1400a2ddc
mov eax, dword [rdi]
mov dword [rbp - 0x59], r14d
sub eax, dword [rdi + 0x20]
cmp eax, 4
jl 0x1400a9daf
lea r8, [rbp - 0x59]
lea rdx, [rbp - 0x51]
mov rcx, rdi
call fcn.1400a2ddc
mov rcx, rdi
call fcn.1400a2db0
test eax, eax
je 0x1400a9dcf
cmp dword [r15 + 0x18c], r14d
jne 0x1400a9dcf
mov r12d, 1
mov eax, r12d
jmp 0x1400a9dd8
mov eax, r14d
mov r12d, 1
mov dword [r15 + 0x190], eax
cmp dword [r15 + 8], r14d
je 0x1400a9e30
mov edx, r12d
mov rcx, r13
call fcn.1400aad3c
mov rcx, qword [r13 + 0x20f0]
mov r8, qword [r13 + 0x21d8]
mov rax, qword [rcx]
mov r8, qword [r8]
lea rdx, str.key_exchange_algorithm
mov r9, r13
call qword [rax + 0x40]
mov dword [r15 + 0x188], eax
test eax, eax
jns 0x1400a8ae4
mov dword [r13 + 0x2300], 0x15cd
jmp 0x1400aa6d8
cmp dword [r15 + 0xc], r14d
je 0x1400a9e7f
mov edx, r12d
mov rcx, r13
call fcn.1400aad3c
mov rcx, qword [r13 + 0x20f0]
mov r8, qword [r15 + 0x68]
mov rax, qword [rcx]
mov r8, qword [r8 + 0x30]
lea rdx, str.client_to_server_cipher
mov r9, r13
call qword [rax + 0x40]
mov dword [r15 + 0x188], eax
test eax, eax
jns 0x1400a8aa5
mov dword [r13 + 0x2300], 0x15ec
jmp 0x1400aa6d8
cmp dword [r15 + 0x10], r14d
je 0x1400a899f
mov edx, r12d
mov rcx, r13
call fcn.1400aad3c
mov rcx, qword [r13 + 0x20f0]
mov r8, qword [r15 + 0x70]
mov rax, qword [rcx]
mov r8, qword [r8 + 0x30]
lea rdx, str.server_to_client_cipher
mov r9, r13
call qword [rax + 0x40]
mov dword [r15 + 0x188], eax
test eax, eax
jns 0x1400a8988
mov dword [r13 + 0x2300], 0x160b
jmp 0x1400aa6d8
mov edx, gethostbyname
mov rcx, r12
mov dword [r13 + 0x22c8], r12d
call fcn.1400a159c
mov edx, dword [rdi + 0x28]
mov rcx, qword [rdi + 0x18]
mov rbx, rax
call fcn.1400b39cc
mov qword [rbx + 0x10], rax
mov edx, dword [rdi + 0x2c]
mov rcx, qword [rdi + 0x20]
call fcn.1400b39cc
mov rcx, rbx
mov qword [rbx + 0x28], rax
call fcn.1400b63e0
mov qword [r13 + 0x2210], rbx
mov dword [r15 + 0x4c], 0x1e
mov dword [r15 + 0x50], 0x1f
mov rcx, qword [r13 + 0x20f0]
mov edx, 2
mov rax, qword [rcx]
call qword [rax + 0xd0]
mov rbx, qword [r13 + 0x2210]
mov edi, dword [r15]
mov rcx, qword [rbx + 0x20]
add edi, edi
call fcn.1400b3b14
add eax, 7
cdq
and edx, 7
lea r13d, [rdx + rax]
mov rdx, r12
sar r13d, 3
add r13d, 2
movsxd r15, r13d
mov dword [rbp - 0x55], r13d
mov rcx, r15
call fcn.1400a159c
mov rsi, rax
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400a9f87
call fcn.1400b2114
test edi, edi
je 0x1400aa0cb
mov rcx, qword [rbx + 0x20]
call fcn.1400b3b14
cmp edi, eax
jg 0x1400aa0cb
mov ecx, edi
call fcn.1400b2140
xor r12d, r12d
xor r13d, r13d
mov qword [rbx], rax
test edi, edi
jle 0x1400a9fe7
test r14d, r14d
jne 0x1400a9fc7
mov r14d, 8
call fcn.1400a217c
mov r12d, eax
mov rcx, qword [rbx]
mov r8d, r12d
mov edx, r13d
and r8d, 1
call fcn.1400b3b84
inc r13d
sar r12d, 1
dec r14d
cmp r13d, edi
jl 0x1400a9fb4
mov r13d, dword [rbp - 0x55]
xor r14d, r14d
mov rcx, qword [rbx]
lea rdx, [0x140171978]
call fcn.1400b3c40
test eax, eax
jle 0x1400a9f7a
mov rdx, qword [rbx + 0x18]
mov rcx, qword [rbx]
call fcn.1400b3c40
test eax, eax
jns 0x1400a9f7a
mov r15, qword [rbp - 0x31]
mov r13, qword [rbp - 0x39]
test rsi, rsi
je 0x1400aa02f
mov rcx, rsi
call qword [sym.imp.msvcrt.dll_free]
mov r8, qword [rbx + 0x10]
mov rdx, qword [rbx]
mov rcx, qword [rbx + 0x28]
call fcn.1400b2ec0
mov qword [rbx + 8], rax
mov ecx, dword [r15 + 0x4c]
mov qword [r15 + 0x28], rax
call fcn.1400a2ca4
mov rcx, qword [r15 + 0x28]
lea rdx, [rbp - 0x55]
mov rbx, rax
mov qword [r15 + 0x180], rax
call fcn.1400a2b7c
xor edx, edx
mov rcx, rbx
mov rdi, rax
call fcn.1400a2a28
mov edx, dword [rbx]
mov r8d, dword [rbp - 0x55]
mov dword [rbx + 0x20], edx
mov rcx, rbx
mov rdx, rdi
call fcn.1400a2ae0
test rdi, rdi
je 0x1400aa096
mov rcx, rdi
call qword [sym.imp.msvcrt.dll_free]
mov rdx, qword [r15 + 0x180]
mov rcx, r13
call fcn.1400ac040
mov rcx, qword [r13 + 0x20f0]
mov edx, 1
mov rax, qword [rcx]
call qword [rax + 0xd0]
mov eax, 0x167f
mov dword [r13 + 0x2300], eax
jmp 0x1400aa6d8
mov rdx, qword [rbx + 0x20]
mov rcx, rsi
call fcn.1400b3bd8
cmp r15, 2
jle 0x1400aa0f8
lea r14, [rsi + 2]
lea r12, [r15 - 2]
call fcn.1400a217c
and byte [r14], al
inc r14
dec r12
jne 0x1400aa0e5
xor r14d, r14d
mov r8, rbx
mov edx, r13d
mov rcx, rsi
call fcn.1400b3a8c
jmp 0x1400a9fee
mov dword [r13 + 0x22c8], 3
jmp 0x1400aa40a
test rdi, rdi
je 0x1400aa12c
lea rdx, str.Unexpected_data_from_server_while_waiting_for_user_host_key_response
jmp 0x1400a8810
test esi, esi
jg 0x1400a8f02
mov eax, dword [r13 + 0x23cc]
mov dword [r15 + 0x188], eax
xor edx, edx
mov rcx, r13
call fcn.1400aad3c
cmp dword [r15 + 0x188], r14d
jne 0x1400aa1d9
lea rdx, str.User_aborted_at_host_key_verification
jmp 0x1400a8b02
test rdi, rdi
je 0x1400aa6cd
cmp dword [rdi + 8], 0x20
je 0x1400aa192
mov rcx, qword [r15 + 0xa8]
test rcx, rcx
je 0x1400aa186
call qword [sym.imp.msvcrt.dll_free]
lea rdx, str.expected_signature_packet_from_server
jmp 0x1400a8810
lea rsi, [r15 + 0xa0]
lea rbx, [r15 + 0xc4]
mov qword [rsi], r14
mov dword [rbx], r14d
mov eax, dword [rdi]
sub eax, dword [rdi + 0x20]
cmp eax, 4
jl 0x1400aa1be
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call fcn.1400a2ddc
mov rcx, qword [r15 + 0xa8]
test rcx, rcx
je 0x1400a8df4
call qword [sym.imp.msvcrt.dll_free]
jmp 0x1400a8df4
mov rcx, qword [r15 + 0xb8]
test rcx, rcx
je 0x1400aa1eb
call qword [sym.imp.msvcrt.dll_free]
mov rcx, qword [r15 + 0xb0]
test rcx, rcx
je 0x1400aa1fd
call qword [sym.imp.msvcrt.dll_free]
mov rax, qword [r13 + 0x21e0]
mov rcx, qword [r15 + 0xd0]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp dword [r15 + 0x178], r14d
jne 0x1400aa24d
lea rdx, [r15 + 0xe0]
lea rcx, [r13 + 0x21e8]
mov r8d, 0x20
call qword [sym.imp.msvcrt.dll_memcpy]
mov rax, qword [r13 + 0x21d8]
mov rcx, qword [rax + 0x30]
mov eax, dword [rcx + 0x18]
mov dword [r13 + 0x2208], eax
mov dword [r15 + 0x178], r12d
mov ecx, reloc.SHELL32.dll_ILIsEqual
call fcn.1400a2ca4
mov rcx, r13
mov rdx, rax
mov qword [r15 + 0x180], rax
call fcn.1400ac040
mov rcx, qword [r13 + 0x2188]
mov dword [r13 + 0x3c04], r14d
test rcx, rcx
je 0x1400aa286
mov rax, qword [r13 + 0x2178]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [r15 + 0x68]
mov qword [r13 + 0x2178], rax
call qword [rax]
mov rcx, qword [r13 + 0x21a8]
mov qword [r13 + 0x2188], rax
test rcx, rcx
je 0x1400aa2b0
mov rax, qword [r13 + 0x2198]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [r15 + 0x78]
mov qword [r13 + 0x2198], rax
call qword [rax]
mov rdx, qword [r13 + 0x21c0]
mov qword [r13 + 0x21a8], rax
test rdx, rdx
je 0x1400aa2dd
mov rcx, qword [r13 + 0x21b8]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [r15 + 0x88]
mov qword [r13 + 0x21b8], rcx
mov rax, qword [rcx]
call qword [rax]
lea rbx, [r15 + 0xe0]
mov r9b, 0x43
mov qword [r13 + 0x21c0], rax
mov rdx, qword [r15 + 0x38]
lea rax, [rbp - 0x29]
mov r8, rbx
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.1400afe04
mov rax, qword [r13 + 0x2178]
mov rcx, qword [r13 + 0x2188]
lea rdx, [rbp - 0x29]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
mov rdx, qword [r15 + 0x38]
lea rax, [rbp - 0x29]
mov r9b, 0x41
mov r8, rbx
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.1400afe04
mov rax, qword [r13 + 0x2178]
mov rcx, qword [r13 + 0x2188]
lea rdx, [rbp - 0x29]
call qword [rax + reloc.SHELL32.dll_ILFindLastID]
mov rdx, qword [r15 + 0x38]
lea rax, [rbp - 0x29]
mov r9b, 0x45
mov r8, rbx
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.1400afe04
mov rax, qword [r13 + 0x2198]
mov rcx, qword [r13 + 0x21a8]
lea rdx, [rbp - 0x29]
call qword [rax + reloc.SHELL32.dll_ILFindLastID]
xor edx, edx
lea rcx, [rbp - 0x29]
lea r8d, [rdx + 0x40]
call qword [sym.imp.msvcrt.dll_memset]
mov dword [r13 + 0x2290], r14d
mov edi, r14d
cmp dword [r13 + 0x2288], r14d
jle 0x1400aa3da
mov rbx, r14
mov rdx, qword [r13 + 0x2280]
xor r8d, r8d
mov rcx, r13
mov rdx, qword [rdx + rbx]
call fcn.1400ac0ec
add edi, r12d
lea rbx, [rbx + 8]
cmp edi, dword [r13 + 0x2288]
jl 0x1400aa3b4
mov rcx, r13
mov dword [r13 + 0x2288], r14d
call fcn.1400ac248
mov dword [r13 + 0x2300], 0x17ae
jmp 0x1400aa6d8
lea rdx, str.Servers_host_key_did_not_match_the_signature_supplied
jmp 0x1400a8810
test rdi, rdi
jne 0x1400aa41a
mov dword [r13 + 0x2300], 0x16b8
jmp 0x1400aa6d8
cmp dword [rdi + 8], 0x1e
je 0x1400aa42c
lea rdx, str.expected_RSA_public_key_packet_from_server
jmp 0x1400a8810
lea rsi, [r15 + 0x98]
lea rbx, [r15 + 0xc0]
mov qword [rsi], r14
mov dword [rbx], r14d
mov eax, dword [rdi]
sub eax, dword [rdi + 0x20]
cmp eax, 4
jl 0x1400aa458
mov r8, rbx
mov rdx, rsi
mov rcx, rdi
call fcn.1400a2ddc
mov rcx, qword [r13 + 0x21d8]
mov r9d, dword [rbx]
mov r8, qword [rsi]
mov rcx, qword [rcx + 0x30]
mov rdx, qword [r13 + 0x2128]
call fcn.1400a28a4
mov rax, qword [r13 + 0x21e0]
mov edx, dword [rbx]
mov rcx, qword [rsi]
call qword [rax]
lea rbx, [r15 + 0xc8]
mov rsi, r14
mov qword [r15 + 0xd0], rax
mov dword [rbx], r14d
mov eax, dword [rdi]
sub eax, dword [rdi + 0x20]
mov qword [rbp - 0x41], r14
cmp eax, 4
jl 0x1400aa4b8
lea rdx, [rbp - 0x41]
mov r8, rbx
mov rcx, rdi
call fcn.1400a2ddc
mov rsi, qword [rbp - 0x41]
movsxd rcx, dword [rbx]
mov rdx, r12
call fcn.1400a159c
movsxd r8, dword [rbx]
mov rdx, rsi
mov rcx, rax
mov qword [r15 + 0xa8], rax
call qword [sym.imp.msvcrt.dll_memcpy]
mov edx, dword [rbx]
mov rcx, qword [r15 + 0xa8]
call fcn.1400bb404
mov qword [r15 + 0xd8], rax
test rax, rax
jne 0x1400aa511
mov rcx, qword [r15 + 0xa8]
test rcx, rcx
je 0x1400aa505
call qword [sym.imp.msvcrt.dll_free]
lea rdx, str.unable_to_parse_RSA_public_key_from_server
jmp 0x1400a8810
mov rcx, qword [r13 + 0x21d8]
mov r9d, dword [rbx]
mov r8, qword [r15 + 0xa8]
mov rcx, qword [rcx + 0x30]
mov rdx, qword [r13 + 0x2128]
call fcn.1400a28a4
mov rcx, qword [r15 + 0xd8]
mov rcx, qword [rcx + 8]
call fcn.1400b3b14
mov rcx, qword [r13 + 0x21d8]
mov rdx, qword [rcx + 0x30]
mov ebx, eax
mov r12d, eax
mov ecx, dword [rdx + 0x18]
shl ecx, 4
sub ebx, ecx
sub ebx, 0x31
lea ecx, [rbx - 1]
call fcn.1400b2140
xor edi, edi
mov qword [r15 + 0x38], rax
test ebx, ebx
jle 0x1400aa59b
mov esi, edi
and esi, 7
jne 0x1400aa57e
call fcn.1400a217c
mov r14d, eax
mov r8d, r14d
mov ecx, esi
mov edx, edi
sar r8d, cl
mov rcx, qword [r15 + 0x38]
and r8d, 1
call fcn.1400b3b84
inc edi
cmp edi, ebx
jl 0x1400aa56f
mov rcx, qword [r15 + 0x38]
lea rdx, [rbp - 0x55]
call fcn.1400a2b7c
movsxd rbx, dword [rbp - 0x55]
mov edx, 1
lea edi, [rbx + 4]
mov rsi, rax
mov qword [rbp - 0x39], rax
movsxd rcx, edi
call fcn.1400a159c
mov ecx, ebx
mov r8, rbx
sar ecx, 0x18
mov rdx, rsi
mov r14, rax
mov byte [rax], cl
mov ecx, ebx
mov byte [rax + 3], bl
sar ecx, 0x10
mov byte [rax + 1], cl
mov ecx, ebx
sar ecx, 8
mov byte [rax + 2], cl
lea rcx, [rax + 4]
call qword [sym.imp.msvcrt.dll_memcpy]
lea eax, [r12 + 7]
cdq
and edx, 7
add eax, edx
mov edx, 1
sar eax, 3
movsxd rsi, eax
mov rcx, rsi
call fcn.1400a159c
mov rdx, qword [r15 + 0xd8]
mov rcx, qword [r13 + 0x21d8]
mov rcx, qword [rcx + 0x30]
mov qword [rsp + 0x28], rdx
mov r9, rax
mov r8d, edi
mov rdx, r14
mov r12, rax
mov dword [rsp + 0x20], esi
call fcn.1400bc754
mov ecx, 0x1f
call fcn.1400a2ca4
xor edx, edx
mov rcx, rax
mov rbx, rax
mov qword [r15 + 0x180], rax
call fcn.1400a2a28
mov ecx, dword [rbx]
mov r8d, esi
mov dword [rbx + 0x20], ecx
mov rcx, qword [r15 + 0x180]
mov rdx, r12
call fcn.1400a2ae0
mov rdx, qword [r15 + 0x180]
mov rcx, r13
call fcn.1400ac040
mov rcx, qword [r13 + 0x21d8]
mov rdx, qword [r13 + 0x2128]
mov rcx, qword [rcx + 0x30]
mov r9d, esi
mov r8, r12
call fcn.1400a28a4
mov rcx, r14
call qword [sym.imp.msvcrt.dll_free]
mov rcx, qword [rbp - 0x39]
test rcx, rcx
je 0x1400aa6b3
call qword [sym.imp.msvcrt.dll_free]
test r12, r12
je 0x1400aa6c1
mov rcx, r12
call qword [sym.imp.msvcrt.dll_free]
mov rcx, qword [r15 + 0xd8]
call fcn.1400bb52c
mov dword [r13 + 0x2300], 0x170f
xor eax, eax
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.140001010
mov rbx, qword [rsp + 0x108]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret