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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x6c
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x68], eax
push ebx
push esi
mov esi, dword [ebp + 0x10]
push edi
mov edi, ecx
mov dword [esp + 0x2c], esi
xor ecx, ecx
mov dword [esp + 0x28], edi
mov dword [esp + 0x10], ecx
cmp dword [edi + 0x225c], ecx
jne 0x485cfd
mov edx, 0xf8
inc ecx
call fcn.004802d5
mov dword [edi + 0x225c], eax
xor ecx, ecx
mov eax, dword [edi + 0x224c]
mov ebx, dword [edi + 0x225c]
mov dword [esp + 0xc], ebx
push 3
pop edx
cmp eax, 0x167f
jg 0x4860a0
je 0x485f15
sub eax, ecx
je 0x485e7f
sub eax, 0x14de
je 0x485e72
sub eax, 0xef
je 0x485e54
sub eax, 0x1f
je 0x485e36
sub eax, 0x1f
je 0x485e0d
sub eax, 0x22
je 0x485e00
sub eax, 0x27
jne 0x4860d4
test esi, esi
je 0x487039
cmp dword [esi + 8], 0x1f
je 0x485d8a
push str.expected_key_exchange_group_packet_from_server
mov ecx, edi
call fcn.00480f35
xor esi, esi
mov dword [edi + 0x224c], esi
jmp 0x4876ce
mov ecx, esi
call fcn.00481618
mov ecx, esi
mov dword [ebx + 0x14], eax
call fcn.00481618
mov ecx, dword [ebx + 0x14]
mov dword [esp + 0xc], eax
mov dword [ebx + 0x18], eax
mov dword [esp + 0x10], ecx
test ecx, ecx
je 0x485df6
test eax, eax
je 0x485df6
xor ecx, ecx
push 0x18
pop edx
inc ecx
call fcn.004802d5
mov ecx, dword [esp + 0x10]
mov esi, eax
call fcn.0048db28
mov ecx, dword [esp + 0xc]
mov dword [esi + 8], eax
call fcn.0048db28
mov ecx, esi
mov dword [esi + 0x14], eax
call fcn.00491694
mov dword [edi + 0x2194], esi
mov dword [ebx + 0x30], 0x20
mov dword [ebx + 0x34], 0x21
jmp 0x48709c
push str.unable_to_read_mp_ints_from_incoming_group_packet
jmp 0x485d76
test esi, esi
je 0x486f9a
jmp 0x486fac
test esi, esi
je 0x485e1b
push str.Unexpected_data_from_server_while_waiting_for_user_response
jmp 0x485d76
cmp dword [ebp + 0xc], 0
jg 0x486ebb
mov eax, dword [edi + 0x22e4]
mov dword [ebx + 0xec], eax
jmp 0x486ecc
test esi, esi
jne 0x485e11
cmp dword [ebp + 0xc], esi
jg 0x486e5e
mov eax, dword [edi + 0x22e4]
mov dword [ebx + 0xec], eax
jmp 0x486e6f
test esi, esi
jne 0x485e11
cmp dword [ebp + 0xc], esi
jg 0x486df7
mov eax, dword [edi + 0x22e4]
mov dword [ebx + 0xec], eax
jmp 0x486e08
test esi, esi
je 0x48689b
jmp 0x4868ac
mov dword [ebx + 0x44], ecx
mov dword [ebx + 0x40], ecx
mov dword [ebx + 0x4c], ecx
mov dword [ebx + 0x48], ecx
mov dword [ebx + 0x54], ecx
mov dword [ebx + 0x50], ecx
mov dword [ebx + 0xe4], ecx
mov dword [ebx + 0xe0], ecx
mov dword [ebx + 0xd8], ecx
mov dword [ebx + 0xdc], ecx
test byte [edi + 0x2128], 2
mov dword [ebx + 0x3c], edx
je 0x485f0c
mov dword [ebx + 0x38], 0x50f510
mov dword [edi + 0x2214], ecx
lea esi, [edi + 0x644]
mov dword [ebx + 0xa0], ecx
mov edx, ecx
mov eax, dword [esi]
sub eax, ecx
je 0x48634b
dec eax
je 0x486338
dec eax
je 0x486325
dec eax
je 0x486312
dec eax
jne 0x486363
mov eax, dword [ebx + 0xa0]
mov dword [ebx + eax*4 + 0xa4], 0x4d9ed8
jmp 0x48635d
mov dword [ebx + 0x38], 0x50f51c
jmp 0x485ebc
test esi, esi
je 0x48711a
mov eax, dword [esi + 8]
cmp eax, dword [ebx + 0x34]
je 0x485f2f
push str.expected_key_exchange_reply_packet_from_server
jmp 0x485d76
mov ecx, dword [edi + 0x20dc]
push 2
mov eax, dword [ecx]
call dword [eax + 0x68]
lea eax, [ebx + 0x6c]
mov ecx, esi
lea edx, [ebx + 0x58]
push eax
call fcn.00481549
mov eax, dword [edi + 0x216c]
pop ecx
push dword [ebx + 0x6c]
push dword [ebx + 0x58]
call dword [eax]
pop ecx
pop ecx
mov ecx, esi
mov dword [ebx + 0x78], eax
call fcn.00481618
mov dword [ebx + 0x20], eax
test eax, eax
jne 0x485f76
push str.unable_to_parse_key_exchange_reply_packet
jmp 0x485d76
lea eax, [ebx + 0x70]
mov ecx, esi
lea edx, [ebx + 0x5c]
push eax
call fcn.00481549
mov edx, dword [edi + 0x2194]
pop ecx
mov ecx, dword [ebx + 0x20]
push dword [edx + 8]
mov edx, dword [edx]
call fcn.0048e62a
pop ecx
mov dword [ebx + 0x24], eax
xor esi, esi
mov ecx, dword [edi + 0x20dc]
push esi
mov eax, dword [ecx]
call dword [eax + 0x68]
mov ecx, dword [edi + 0x2168]
push dword [ebx + 0x6c]
mov edx, dword [edi + 0x20f8]
push dword [ebx + 0x58]
mov ecx, dword [ecx + 0x1c]
call fcn.00481165
mov edx, dword [edi + 0x2168]
pop ecx
pop ecx
cmp dword [edx + 0xc], esi
jne 0x486039
mov ecx, dword [ebx + 4]
mov eax, ecx
shr eax, 0x18
mov byte [esp + 0x2c], al
mov eax, ecx
shr eax, 0x10
mov byte [esp + 0x2d], al
mov eax, ecx
shr eax, 8
mov byte [esp + 0x2f], cl
lea ecx, [esp + 0x2c]
push 4
mov byte [esp + 0x32], al
mov eax, dword [edx + 0x1c]
push ecx
push dword [edi + 0x20f8]
call dword [eax + 4]
mov ecx, dword [edi + 0x2168]
add esp, 0xc
mov edx, dword [edi + 0x20f8]
push dword [ebx + 0x14]
mov ecx, dword [ecx + 0x1c]
call fcn.004814a6
mov edx, dword [edi + 0x20f8]
pop ecx
mov ecx, dword [edi + 0x2168]
push dword [ebx + 0x18]
mov ecx, dword [ecx + 0x1c]
call fcn.004814a6
pop ecx
mov ecx, dword [edi + 0x2168]
push dword [ebx + 0x1c]
mov edx, dword [edi + 0x20f8]
mov ecx, dword [ecx + 0x1c]
call fcn.004814a6
mov edx, dword [edi + 0x20f8]
pop ecx
mov ecx, dword [edi + 0x2168]
push dword [ebx + 0x20]
mov ecx, dword [ecx + 0x1c]
call fcn.004814a6
pop ecx
mov ecx, dword [edi + 0x2194]
call fcn.0049175e
mov ecx, dword [ebx + 0x20]
call fcn.0048db5d
mov eax, dword [edi + 0x2168]
cmp dword [eax + 0xc], esi
jne 0x4871b4
mov ecx, dword [ebx + 0x18]
call fcn.0048db5d
mov ecx, dword [ebx + 0x14]
call fcn.0048db5d
jmp 0x4871b4
sub eax, 0x16b8
je 0x48745b
sub eax, 0x57
je 0x48717d
sub eax, 0x2d
je 0x487134
sub eax, 0x72
je 0x4860df
sub eax, 0x60
je 0x48627a
sub eax, 0x17
je 0x486284
mov dword [edi + 0x224c], ecx
jmp 0x486298
test esi, esi
je 0x487442
cmp dword [esi + 8], 0x15
je 0x4860f7
push str.expected_new_keys_packet_from_server
jmp 0x485d76
mov dword [edi + 0x3300], ecx
mov ecx, dword [edi + 0x2144]
test ecx, ecx
je 0x486112
mov eax, dword [edi + 0x213c]
push ecx
call dword [eax + 4]
pop ecx
mov eax, dword [ebx + 0x44]
mov dword [edi + 0x213c], eax
call dword [eax]
mov ecx, dword [edi + 0x2154]
mov dword [edi + 0x2144], eax
test ecx, ecx
je 0x486138
mov eax, dword [edi + 0x214c]
push ecx
call dword [eax + 4]
pop ecx
mov eax, dword [ebx + 0x4c]
mov dword [edi + 0x214c], eax
call dword [eax]
mov edx, dword [edi + 0x2164]
mov dword [edi + 0x2154], eax
test edx, edx
je 0x48615f
mov ecx, dword [edi + 0x2160]
push edx
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebx + 0x54]
mov dword [edi + 0x2160], ecx
mov eax, dword [ecx]
call dword [eax + 0xc]
mov dword [edi + 0x2164], eax
lea esi, [ebx + 0x80]
lea eax, [esp + 0x30]
mov ecx, edi
push eax
push 0x44
push esi
push dword [ebx + 0x24]
call fcn.0048bb91
mov eax, dword [edi + 0x213c]
lea ecx, [esp + 0x30]
push ecx
push dword [edi + 0x2144]
call dword [eax + 0xc]
pop ecx
pop ecx
lea eax, [esp + 0x30]
mov ecx, edi
push eax
push 0x42
push esi
push dword [ebx + 0x24]
call fcn.0048bb91
mov eax, dword [edi + 0x213c]
lea ecx, [esp + 0x30]
push ecx
push dword [edi + 0x2144]
call dword [eax + 8]
pop ecx
pop ecx
lea eax, [esp + 0x30]
mov ecx, edi
push eax
push 0x46
push esi
push dword [ebx + 0x24]
call fcn.0048bb91
mov eax, dword [edi + 0x214c]
lea ecx, [esp + 0x30]
push ecx
push dword [edi + 0x2154]
call dword [eax + 8]
push 0x40
xor esi, esi
lea eax, [esp + 0x3c]
push esi
push eax
call dword [sym.imp.msvcrt.dll_memset]
mov ecx, dword [ebx + 0x24]
add esp, 0x14
call fcn.0048db5d
xor ecx, ecx
cmp dword [edi + 0x331c], ecx
je 0x486223
mov dword [esp + 0x2c], ecx
mov dword [edi + 0x331c], ecx
jmp 0x485ebc
mov dword [edi + 0x3310], ecx
call dword [sym.imp.KERNEL32.DLL_GetTickCount64]
mov dword [edi + 0x3318], eax
mov eax, dword [edi + 0x658]
test eax, eax
je 0x48625d
mov ecx, dword [edi + 0x332c]
imul eax, eax, 0xea60
push edi
push 0x48b45f
push eax
call fcn.0049f73f
mov dword [edi + 0x3314], eax
xor ecx, ecx
cmp dword [ebx + 0xe4], ecx
je 0x486276
mov dword [edi + 0x224c], 0x180e
jmp 0x4876ce
mov esi, dword [esp + 0x2c]
mov dword [ebx + 0xe4], 1
test esi, esi
je 0x4862a0
cmp dword [esi + 8], 0x14
je 0x4862a6
mov dword [edi + 0x224c], 0x1825
xor eax, eax
inc eax
jmp 0x4876d0
cmp dword [ebp + 0xc], 0
jge 0x48628e
test esi, esi
jne 0x485ebc
cmp dword [ebp + 0xc], 0xfffffffe
jne 0x4862cc
mov dword [ebx + 0xd8], 1
cmp dword [ebx + 0xdc], ecx
je 0x48628e
mov dword [ebx + 0xdc], ecx
test byte [edi + 0x2128], 0x40
je 0x485ebc
mov eax, dword [edi + 0x658]
mov dword [edi + 0x3304], ecx
mov dword [edi + 0x3300], ecx
test eax, eax
je 0x48628e
mov ecx, dword [edi + 0x332c]
imul eax, eax, 0xea60
push edi
push 0x48b45f
push eax
call fcn.0049f73f
mov dword [edi + 0x3314], eax
jmp 0x48628e
mov eax, dword [ebx + 0xa0]
mov dword [ebx + eax*4 + 0xa4], 0x4d9c58
jmp 0x48635d
mov eax, dword [ebx + 0xa0]
mov dword [ebx + eax*4 + 0xa4], 0x4d9c50
jmp 0x48635d
mov eax, dword [ebx + 0xa0]
mov dword [ebx + eax*4 + 0xa4], 0x4d9c48
jmp 0x48635d
cmp edx, 4
jge 0x486363
mov eax, dword [ebx + 0xa0]
mov dword [ebx + eax*4 + 0xa4], ecx
inc dword [ebx + 0xa0]
inc edx
add esi, 4
cmp edx, 5
jl 0x485ed0
mov dword [ebx + 0xb8], ecx
lea esi, [edi + 0x66c]
mov edx, ecx
mov eax, dword [esi]
sub eax, ecx
je 0x4863fa
dec eax
je 0x4863e7
dec eax
je 0x4863d4
dec eax
je 0x4863c1
dec eax
je 0x4863a6
dec eax
jne 0x486412
mov eax, dword [ebx + 0xb8]
mov dword [ebx + eax*4 + 0xbc], 0x4d7e00
jmp 0x48640c
cmp dword [edi + 0x890], ecx
je 0x486412
mov eax, dword [ebx + 0xb8]
mov dword [ebx + eax*4 + 0xbc], 0x4d9348
jmp 0x48640c
mov eax, dword [ebx + 0xb8]
mov dword [ebx + eax*4 + 0xbc], 0x4d5aa8
jmp 0x48640c
mov eax, dword [ebx + 0xb8]
mov dword [ebx + eax*4 + 0xbc], 0x4d7e68
jmp 0x48640c
mov eax, dword [ebx + 0xb8]
mov dword [ebx + eax*4 + 0xbc], 0x4d9340
jmp 0x48640c
cmp edx, 5
jge 0x486412
mov eax, dword [ebx + 0xb8]
mov dword [ebx + eax*4 + 0xbc], ecx
inc dword [ebx + 0xb8]
inc edx
add esi, 4
cmp edx, 6
jl 0x48637e
cmp dword [edi + 0x640], ecx
je 0x486433
mov dword [ebx + 0xd4], vtable.ssh::SSHCompress.0
jmp 0x48643d
mov dword [ebx + 0xd4], vtable.ssh::SSHCompress.0
xor eax, eax
inc eax
push 0x14
pop ecx
mov dword [edi + 0x21f4], eax
mov dword [edi + 0x3310], eax
call fcn.0048146d
push 0x10
mov dword [ebx + 0xe8], eax
pop esi
call fcn.00480b72
mov ecx, dword [ebx + 0xe8]
lea edx, [esp + 0x24]
push 1
mov byte [esp + 0x28], al
call fcn.004811e5
pop ecx
dec esi
jne 0x48645d
mov esi, dword [ebx + 0xe8]
xor edx, edx
mov ecx, esi
call fcn.00481258
mov eax, dword [esi]
mov dword [esi + 0x18], eax
xor eax, eax
mov edx, eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x20], edx
cmp dword [ebx + 0xa0], eax
jle 0x48650e
lea ecx, [ebx + 0xa4]
mov dword [esp + 0x14], ecx
mov esi, dword [ecx]
test esi, esi
je 0x4864fa
mov edi, eax
cmp dword [esi], eax
jle 0x4864fa
mov eax, dword [esp + 0xc]
test eax, eax
je 0x4864d1
mov ecx, dword [ebx + 0xe8]
mov edx, 0x4f0b50
call fcn.00481286
mov eax, dword [esi + 4]
mov ecx, dword [ebx + 0xe8]
mov edx, dword [eax + edi*4]
mov edx, dword [edx]
call fcn.00481286
xor eax, eax
inc eax
inc edi
cmp edi, dword [esi]
jl 0x4864bd
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov dword [esp + 0xc], eax
xor eax, eax
inc edx
add ecx, 4
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], ecx
cmp edx, dword [ebx + 0xa0]
jl 0x4864ad
mov esi, dword [ebx + 0xe8]
xor edx, edx
mov ecx, esi
call fcn.00481258
mov eax, dword [esi]
mov dword [esi + 0x18], eax
xor esi, esi
mov edx, dword [esi*4 + 0x4d59a8]
mov ecx, dword [ebx + 0xe8]
mov edx, dword [edx + 0x30]
call fcn.00481286
cmp esi, 1
jae 0x48654e
mov ecx, dword [ebx + 0xe8]
mov edx, 0x4f0b50
call fcn.00481286
inc esi
cmp esi, 2
jb 0x486524
mov esi, dword [ebx + 0xe8]
xor edx, edx
mov ecx, esi
call fcn.00481258
mov eax, dword [esi]
mov dword [esi + 0x18], eax
xor eax, eax
mov edx, eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x20], edx
cmp dword [ebx + 0xb8], eax
jle 0x4865e8
lea ecx, [ebx + 0xbc]
mov dword [esp + 0x14], ecx
mov esi, dword [ecx]
test esi, esi
je 0x4865d4
mov edi, eax
cmp dword [esi], eax
jle 0x4865d4
mov eax, dword [esp + 0xc]
test eax, eax
je 0x4865aa
mov ecx, dword [ebx + 0xe8]
mov edx, 0x4f0b50
call fcn.00481286
mov eax, dword [esi + 4]
mov ecx, dword [ebx + 0xe8]
mov edx, dword [eax + edi*4]
mov edx, dword [edx + 0x18]
call fcn.00481286
xor eax, eax
inc eax
inc edi
cmp edi, dword [esi]
jl 0x486596
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov dword [esp + 0xc], eax
xor eax, eax
inc edx
add ecx, 4
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], ecx
cmp edx, dword [ebx + 0xb8]
jl 0x486586
mov esi, dword [ebx + 0xe8]
xor edx, edx
mov ecx, esi
call fcn.00481258
mov eax, dword [esi]
mov dword [esi + 0x18], eax
xor eax, eax
mov edx, eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x20], edx
cmp dword [ebx + 0xb8], eax
jle 0x48667c
lea ecx, [ebx + 0xbc]
mov dword [esp + 0x14], ecx
mov esi, dword [ecx]
test esi, esi
je 0x486668
mov edi, eax
cmp dword [esi], eax
jle 0x486668
mov eax, dword [esp + 0xc]
test eax, eax
je 0x48663e
mov ecx, dword [ebx + 0xe8]
mov edx, 0x4f0b50
call fcn.00481286
mov eax, dword [esi + 4]
mov ecx, dword [ebx + 0xe8]
mov edx, dword [eax + edi*4]
mov edx, dword [edx + 0x18]
call fcn.00481286
xor eax, eax
inc eax
inc edi
cmp edi, dword [esi]
jl 0x48662a
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov dword [esp + 0xc], eax
xor eax, eax
inc edx
add ecx, 4
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], ecx
cmp edx, dword [ebx + 0xb8]
jl 0x48661a
mov esi, dword [ebx + 0xe8]
xor edx, edx
mov ecx, esi
call fcn.00481258
mov eax, dword [esi]
mov dword [esi + 0x18], eax
xor eax, eax
mov esi, eax
cmp dword [ebx + 0x3c], eax
jle 0x4866cb
mov eax, dword [ebx + 0x38]
mov ecx, dword [ebx + 0xe8]
mov edx, dword [eax + esi*4]
mov edx, dword [edx + 0x24]
call fcn.00481286
mov eax, dword [ebx + 0x3c]
dec eax
cmp esi, eax
jge 0x4866c5
mov ecx, dword [ebx + 0xe8]
mov edx, 0x4f0b50
call fcn.00481286
inc esi
cmp esi, dword [ebx + 0x3c]
jl 0x486699
mov esi, dword [ebx + 0xe8]
xor edx, edx
mov ecx, esi
call fcn.00481258
mov eax, dword [esi]
mov dword [esi + 0x18], eax
xor eax, eax
mov esi, eax
cmp dword [ebx + 0x3c], eax
jle 0x48671a
mov eax, dword [ebx + 0x38]
mov ecx, dword [ebx + 0xe8]
mov edx, dword [eax + esi*4]
mov edx, dword [edx + 0x24]
call fcn.00481286
mov eax, dword [ebx + 0x3c]
dec eax
cmp esi, eax
jge 0x486714
mov ecx, dword [ebx + 0xe8]
mov edx, 0x4f0b50
call fcn.00481286
inc esi
cmp esi, dword [ebx + 0x3c]
jl 0x4866e8
push 2
pop edi
mov esi, dword [ebx + 0xe8]
xor edx, edx
mov ecx, esi
call fcn.00481258
mov eax, dword [esi]
mov dword [esi + 0x18], eax
mov edx, dword [ebx + 0xd4]
mov ecx, dword [ebx + 0xe8]
add edx, 4
call fcn.00481286
xor esi, esi
cmp dword [ebx + 0xd8], esi
je 0x48677e
mov eax, dword [ebx + 0xd4]
add eax, 0x18
je 0x48677e
mov ecx, dword [ebx + 0xe8]
mov edx, 0x4f0b50
call fcn.00481286
mov edx, dword [ebx + 0xd4]
mov ecx, dword [ebx + 0xe8]
add edx, 0x18
call fcn.00481286
mov eax, esi
mov dword [esp + 0x18], esi
mov ecx, dword [eax + 0x4d5aa0]
mov dword [esp + 0xc], ecx
cmp ecx, dword [ebx + 0xd4]
je 0x4867f0
mov ecx, dword [ebx + 0xe8]
mov edx, 0x4f0b50
call fcn.00481286
mov edx, dword [esp + 0xc]
mov ecx, dword [ebx + 0xe8]
lea edx, [edx + 4]
call fcn.00481286
cmp dword [ebx + 0xd8], esi
je 0x4867ec
mov eax, dword [esp + 0xc]
add eax, 0x18
mov dword [esp + 0x10], eax
je 0x4867ec
mov ecx, dword [ebx + 0xe8]
mov edx, 0x4f0b50
call fcn.00481286
mov edx, dword [esp + 0x10]
mov ecx, dword [ebx + 0xe8]
call fcn.00481286
mov eax, dword [esp + 0x18]
add eax, 4
mov dword [esp + 0x18], eax
cmp eax, 8
jb 0x486784
dec edi
jne 0x48671d
mov esi, dword [ebx + 0xe8]
xor edx, edx
mov ecx, esi
call fcn.00481258
mov eax, dword [esi]
xor edx, edx
mov dword [esi + 0x18], eax
mov esi, dword [ebx + 0xe8]
mov ecx, esi
call fcn.00481258
mov eax, dword [esi]
lea edx, [esp + 0x24]
mov dword [esi + 0x18], eax
mov ecx, dword [ebx + 0xe8]
push 1
mov byte [esp + 0x28], 0
call fcn.004811e5
pop ecx
mov ecx, dword [ebx + 0xe8]
xor edx, edx
call fcn.00481258
mov eax, dword [ebx + 0xe8]
xor edx, edx
inc edx
mov ecx, dword [eax]
add ecx, 0xfffffffb
mov dword [ebx + 0x2c], ecx
call fcn.004802d5
mov ecx, dword [ebx + 0xe8]
push dword [ebx + 0x2c]
mov dword [ebx + 0x28], eax
mov ecx, dword [ecx + 0x10]
add ecx, 5
push ecx
push eax
call dword [sym.imp.msvcrt.dll_memcpy]
mov edi, dword [esp + 0x34]
add esp, 0xc
mov ecx, edi
push dword [ebx + 0xe8]
call fcn.00488caa
mov esi, dword [esp + 0x2c]
test esi, esi
jne 0x4868aa
mov dword [edi + 0x224c], 0x14de
jmp 0x4876ce
xor ecx, ecx
cmp dword [esi + 8], 0x14
je 0x4868ca
push str.expected_key_exchange_packet_from_server
mov ecx, edi
call fcn.00480f35
and dword [edi + 0x224c], 0
jmp 0x4876ce
mov dword [edi + 0x2168], ecx
lea eax, [esp + 0x1c]
mov dword [edi + 0x216c], ecx
lea edx, [esp + 0x18]
mov dword [ebx + 0x40], ecx
mov dword [ebx + 0x44], ecx
mov dword [ebx + 0x48], ecx
mov dword [ebx + 0x4c], ecx
mov dword [ebx + 0x50], ecx
mov dword [ebx + 0x54], ecx
mov dword [ebx + 0x10], ecx
mov dword [ebx + 0xc], ecx
mov dword [ebx + 8], ecx
mov ecx, esi
add dword [esi + 0x18], 0x10
push eax
call fcn.00481549
xor eax, eax
pop ecx
mov dword [esp + 0xc], eax
cmp dword [ebx + 0xa0], eax
jle 0x4869bb
lea edx, [ebx + 0xa4]
mov esi, eax
mov dword [esp + 0x14], edx
mov ecx, dword [edx]
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x486937
mov dword [ebx + 8], 1
jmp 0x48699b
mov edx, eax
mov dword [esp + 0x20], edx
cmp dword [ecx], eax
jle 0x486997
cmp dword [esp + 0xc], 0
jne 0x486954
mov eax, dword [ecx + 4]
mov eax, dword [eax + edx*4]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
mov eax, dword [ecx + 4]
push dword [esp + 0x1c]
mov ecx, dword [eax + edx*4]
mov edx, dword [esp + 0x1c]
mov ecx, dword [ecx]
call fcn.004816d8
pop ecx
test eax, eax
jne 0x486981
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
inc edx
mov dword [esp + 0x20], edx
cmp edx, dword [ecx]
jl 0x486941
jmp 0x486995
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
mov dword [edi + 0x2168], eax
xor eax, eax
mov edx, dword [esp + 0x14]
cmp dword [edi + 0x2168], eax
jne 0x4869b7
inc esi
add edx, 4
mov dword [esp + 0x14], edx
cmp esi, dword [ebx + 0xa0]
jl 0x486924
mov esi, dword [esp + 0x2c]
cmp dword [edi + 0x2168], eax
jne 0x4869cd
push str.Couldnt_agree_a_key_exchange_algorithm
jmp 0x4868b7
push dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
call fcn.0048173c
mov dword [ebx + 0xf0], eax
lea edx, [esp + 0x1c]
pop ecx
lea eax, [esp + 0x1c]
mov ecx, esi
push eax
call fcn.00481549
xor eax, eax
pop ecx
mov dword [esp + 0xc], eax
mov ecx, dword [eax*4 + 0x4d59a8]
push dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x30]
call fcn.004816d8
test eax, eax
mov eax, dword [esp + 0x10]
pop ecx
jne 0x486a28
inc eax
mov dword [esp + 0xc], eax
cmp eax, 2
jb 0x4869fc
jmp 0x486a35
mov eax, dword [eax*4 + 0x4d59a8]
mov dword [edi + 0x216c], eax
cmp dword [ebx + 0xf0], 0
je 0x486a5e
mov ecx, dword [0x4d59a8]
push dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x30]
call fcn.0048173c
pop ecx
test eax, eax
je 0x486a5e
xor eax, eax
inc eax
jmp 0x486a60
xor eax, eax
mov dword [ebx + 0xf0], eax
lea edx, [esp + 0x18]
lea eax, [esp + 0x1c]
mov ecx, esi
push eax
call fcn.00481549
xor eax, eax
pop ecx
cmp dword [ebx + 0xb8], eax
jle 0x486b0c
lea edx, [ebx + 0xbc]
mov edi, eax
mov dword [esp + 0x14], edx
mov ecx, dword [edx]
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x486aa4
mov dword [ebx + 0xc], 1
jmp 0x486af3
mov edx, eax
mov dword [esp + 0xc], edx
cmp dword [ecx], eax
jle 0x486aef
mov eax, dword [ecx + 4]
push dword [esp + 0x1c]
mov ecx, dword [eax + edx*4]
mov edx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x18]
call fcn.004816d8
pop ecx
test eax, eax
jne 0x486adc
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
inc edx
mov dword [esp + 0xc], edx
cmp edx, dword [ecx]
jl 0x486aae
jmp 0x486aed
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
mov dword [ebx + 0x40], eax
xor eax, eax
mov edx, dword [esp + 0x14]
cmp dword [ebx + 0x40], eax
jne 0x486b08
inc edi
add edx, 4
mov dword [esp + 0x14], edx
cmp edi, dword [ebx + 0xb8]
jl 0x486a91
mov edi, dword [esp + 0x28]
cmp dword [ebx + 0x40], eax
jne 0x486b1b
push str.Couldnt_agree_a_client_to_server_cipher
jmp 0x4868b7
lea eax, [esp + 0x1c]
mov ecx, esi
push eax
lea edx, [esp + 0x1c]
call fcn.00481549
xor eax, eax
pop ecx
cmp dword [ebx + 0xb8], eax
jle 0x486bc1
lea edx, [ebx + 0xbc]
mov edi, eax
mov dword [esp + 0x14], edx
mov ecx, dword [edx]
mov dword [esp + 0x10], ecx
test ecx, ecx
jne 0x486b59
mov dword [ebx + 0x10], 1
jmp 0x486ba8
mov edx, eax
mov dword [esp + 0xc], edx
cmp dword [ecx], eax
jle 0x486ba4
mov eax, dword [ecx + 4]
push dword [esp + 0x1c]
mov ecx, dword [eax + edx*4]
mov edx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x18]
call fcn.004816d8
pop ecx
test eax, eax
jne 0x486b91
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
inc edx
mov dword [esp + 0xc], edx
cmp edx, dword [ecx]
jl 0x486b63
jmp 0x486ba2
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
mov dword [ebx + 0x44], eax
xor eax, eax
mov edx, dword [esp + 0x14]
cmp dword [ebx + 0x44], eax
jne 0x486bbd
inc edi
add edx, 4
mov dword [esp + 0x14], edx
cmp edi, dword [ebx + 0xb8]
jl 0x486b46
mov edi, dword [esp + 0x28]
cmp dword [ebx + 0x44], eax
jne 0x486bd0
push str.Couldnt_agree_a_server_to_client_cipher
jmp 0x4868b7
lea eax, [esp + 0x1c]
mov ecx, esi
push eax
lea edx, [esp + 0x1c]
call fcn.00481549
xor eax, eax
pop ecx
mov ecx, eax
mov dword [esp + 0xc], eax
cmp dword [ebx + 0x3c], eax
jle 0x486c22
mov eax, dword [ebx + 0x38]
push dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax + ecx*4]
mov ecx, dword [ecx + 0x24]
call fcn.004816d8
pop ecx
mov ecx, dword [esp + 0xc]
test eax, eax
jne 0x486c19
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, dword [ebx + 0x3c]
jl 0x486bee
jmp 0x486c22
mov eax, dword [ebx + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [ebx + 0x48], eax
lea eax, [esp + 0x1c]
mov ecx, esi
push eax
lea edx, [esp + 0x1c]
call fcn.00481549
xor eax, eax
pop ecx
mov ecx, eax
mov dword [esp + 0xc], eax
cmp dword [ebx + 0x3c], eax
jle 0x486c74
mov eax, dword [ebx + 0x38]
push dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
mov ecx, dword [eax + ecx*4]
mov ecx, dword [ecx + 0x24]
call fcn.004816d8
pop ecx
mov ecx, dword [esp + 0xc]
test eax, eax
jne 0x486c6b
inc ecx
mov dword [esp + 0xc], ecx
cmp ecx, dword [ebx + 0x3c]
jl 0x486c40
jmp 0x486c74
mov eax, dword [ebx + 0x38]
mov eax, dword [eax + ecx*4]
mov dword [ebx + 0x4c], eax
lea eax, [esp + 0x1c]
mov ecx, esi
push eax
lea edx, [esp + 0x1c]
call fcn.00481549
xor eax, eax
pop ecx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x486c97
mov eax, dword [ebx + 0xd4]
jmp 0x486c9e
mov eax, dword [eax*4 + 0x4d5a9c]
push dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 4]
mov dword [esp + 0x18], eax
call fcn.004816d8
pop ecx
test eax, eax
jne 0x486cf3
mov ecx, dword [esp + 0x14]
push dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
add ecx, 0x18
call fcn.004816d8
pop ecx
test eax, eax
je 0x486ce3
cmp dword [ebx + 0xd8], 0
jne 0x486cf3
mov dword [ebx + 0xdc], 1
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, 3
jb 0x486c8b
jmp 0x486cfa
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x50], eax
lea eax, [esp + 0x1c]
mov ecx, esi
push eax
lea edx, [esp + 0x1c]
call fcn.00481549
xor eax, eax
pop ecx
mov dword [esp + 0x10], eax
test eax, eax
jne 0x486d1d
mov eax, dword [ebx + 0xd4]
jmp 0x486d24
mov eax, dword [eax*4 + 0x4d5a9c]
push dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
lea ecx, [eax + 4]
mov dword [esp + 0x18], eax
call fcn.004816d8
pop ecx
test eax, eax
jne 0x486d79
mov ecx, dword [esp + 0x14]
push dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
add ecx, 0x18
call fcn.004816d8
pop ecx
test eax, eax
je 0x486d69
cmp dword [ebx + 0xd8], 0
jne 0x486d79
mov dword [ebx + 0xdc], 1
mov eax, dword [esp + 0x10]
inc eax
mov dword [esp + 0x10], eax
cmp eax, 3
jb 0x486d11
jmp 0x486d80
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x54], eax
lea eax, [esp + 0x1c]
mov ecx, esi
push eax
lea edx, [esp + 0x1c]
call fcn.00481549
pop ecx
lea eax, [esp + 0x1c]
mov ecx, esi
push eax
lea edx, [esp + 0x1c]
call fcn.00481549
pop ecx
mov ecx, esi
call fcn.00481523
test eax, eax
je 0x486dbc
xor eax, eax
cmp dword [ebx + 0xf0], eax
jne 0x486dbe
xor ecx, ecx
inc ecx
jmp 0x486dc0
xor eax, eax
mov ecx, eax
mov dword [ebx + 0xf4], ecx
cmp dword [ebx + 8], eax
je 0x486e2f
push 1
mov ecx, edi
call fcn.00487c7e
mov ecx, dword [edi + 0x20dc]
mov eax, dword [edi + 0x2168]
push edi
mov edx, dword [ecx]
push dword [eax]
push str.key_exchange_algorithm
call dword [edx + 0x20]
mov dword [ebx + 0xec], eax
test eax, eax
jns 0x486e06
mov dword [edi + 0x224c], 0x15cd
jmp 0x4876ce
xor ecx, ecx
push ecx
mov ecx, edi
call fcn.00487c7e
xor eax, eax
cmp dword [ebx + 0xec], eax
jne 0x486e2f
push 1
push eax
push eax
push str.User_aborted_at_kex_warning
mov ecx, edi
call fcn.00489082
jmp 0x4868be
cmp dword [ebx + 0xc], eax
je 0x486e8c
push 1
mov ecx, edi
call fcn.00487c7e
mov ecx, dword [edi + 0x20dc]
mov eax, dword [ebx + 0x40]
push edi
mov edx, dword [ecx]
push dword [eax + 0x18]
push str.client_to_server_cipher
call dword [edx + 0x20]
mov dword [ebx + 0xec], eax
test eax, eax
jns 0x486e6d
mov dword [edi + 0x224c], 0x15ec
jmp 0x4876ce
xor ecx, ecx
push ecx
mov ecx, edi
call fcn.00487c7e
xor eax, eax
cmp dword [ebx + 0xec], eax
jne 0x486e8c
push 1
push eax
push eax
push str.User_aborted_at_cipher_warning
jmp 0x486e23
cmp dword [ebx + 0x10], eax
je 0x486ede
push 1
mov ecx, edi
call fcn.00487c7e
mov ecx, dword [edi + 0x20dc]
mov eax, dword [ebx + 0x44]
push edi
mov edx, dword [ecx]
push dword [eax + 0x18]
push str.server_to_client_cipher
call dword [edx + 0x20]
mov dword [ebx + 0xec], eax
test eax, eax
jns 0x486eca
mov dword [edi + 0x224c], 0x160b
jmp 0x4876ce
xor ecx, ecx
push ecx
mov ecx, edi
call fcn.00487c7e
xor eax, eax
cmp dword [ebx + 0xec], eax
je 0x486e81
mov eax, dword [edi + 0x2168]
mov eax, dword [eax + 0x1c]
call dword [eax]
push dword [edi + 0x20f0]
mov esi, dword [sym.imp.msvcrt.dll_strlen]
mov dword [edi + 0x20f8], eax
call esi
mov edx, dword [edi + 0x20f8]
pop ecx
mov ecx, dword [edi + 0x2168]
push eax
push dword [edi + 0x20f0]
mov ecx, dword [ecx + 0x1c]
call fcn.00481165
push dword [edi + 0x20f4]
call esi
mov ecx, dword [edi + 0x2168]
add esp, 0xc
mov edx, dword [edi + 0x20f8]
mov ecx, dword [ecx + 0x1c]
push eax
push dword [edi + 0x20f4]
call fcn.00481165
mov ecx, dword [edi + 0x2168]
push dword [ebx + 0x2c]
mov edx, dword [edi + 0x20f8]
push dword [ebx + 0x28]
mov ecx, dword [ecx + 0x1c]
call fcn.00481165
mov ecx, dword [ebx + 0x28]
add esp, 0x10
call fcn.004803c4
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx]
cmp eax, 5
jle 0x486f90
mov edx, dword [edi + 0x20f8]
add eax, 0xfffffffb
push eax
mov eax, dword [ecx + 0x10]
mov ecx, dword [edi + 0x2168]
add eax, 5
push eax
mov ecx, dword [ecx + 0x1c]
call fcn.00481165
pop ecx
pop ecx
xor ecx, ecx
cmp dword [ebx + 0xf4], ecx
je 0x486fa9
mov dword [edi + 0x224c], 0x162d
jmp 0x4876ce
push 3
pop edx
mov eax, dword [edi + 0x2168]
cmp dword [eax + 8], ecx
jne 0x487129
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax + 0x20]
mov eax, dword [ebx + 0x44]
mov edx, dword [eax + 0x20]
cmp ecx, edx
cmovg edx, ecx
mov dword [ebx], edx
mov eax, dword [edi + 0x2168]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + 0xc]
shl eax, 3
cmp edx, eax
jle 0x486fe3
mov dword [ebx], eax
mov eax, dword [edi + 0x2168]
mov dword [esp + 0x10], eax
cmp dword [eax + 0xc], 0
jne 0x487048
mov dword [edi + 0x2214], 2
mov eax, dword [ebx]
dec eax
cdq
and edx, 0x3f
push 0x1e
lea ecx, [edx + eax]
mov edx, 0x200
sar ecx, 6
shl edx, cl
pop ecx
mov dword [ebx + 4], edx
call fcn.0048146d
mov edx, dword [ebx + 4]
mov ecx, eax
mov dword [ebx + 0xe8], eax
call fcn.00481258
push dword [ebx + 0xe8]
mov ecx, edi
call fcn.00488caa
mov dword [edi + 0x224c], 0x1654
jmp 0x4876ce
xor eax, eax
inc eax
push 0x18
pop edx
mov ecx, eax
mov dword [edi + 0x2214], eax
call fcn.004802d5
mov ecx, dword [esp + 0x10]
mov esi, eax
mov edx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0xc]
call fcn.0048efb4
mov dword [esi + 8], eax
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x18]
mov ecx, dword [eax + 0x10]
call fcn.0048efb4
mov ecx, esi
mov dword [esi + 0x14], eax
call fcn.00491694
mov dword [edi + 0x2194], esi
mov dword [ebx + 0x30], 0x1e
mov dword [ebx + 0x34], 0x1f
mov ecx, dword [edi + 0x20dc]
push 2
mov eax, dword [ecx]
call dword [eax + 0x68]
mov edx, dword [ebx]
mov ecx, dword [edi + 0x2194]
add edx, edx
call fcn.00491798
mov ecx, dword [ebx + 0x30]
mov dword [ebx + 0x1c], eax
call fcn.0048146d
mov ecx, dword [ebx + 0x1c]
lea edx, [esp + 0x10]
mov edi, eax
mov dword [ebx + 0xe8], edi
call fcn.004813a7
xor edx, edx
mov ecx, edi
mov esi, eax
call fcn.00481258
mov edx, dword [edi]
mov ecx, edi
push dword [esp + 0x10]
mov dword [edi + 0x18], edx
mov edx, esi
call fcn.004812e4
pop ecx
mov ecx, esi
call fcn.004803c4
push dword [ebx + 0xe8]
mov edi, dword [esp + 0x2c]
mov ecx, edi
call fcn.00488caa
mov ecx, dword [edi + 0x20dc]
push 1
mov eax, dword [ecx]
call dword [eax + 0x68]
mov dword [edi + 0x224c], 0x167f
jmp 0x4876ce
mov dword [edi + 0x2214], edx
jmp 0x48745f
test esi, esi
je 0x487142
push str.Unexpected_data_from_server_while_waiting_for_user_host_key_response
jmp 0x4868b7
cmp dword [ebp + 0xc], 0
jg 0x487280
mov eax, dword [edi + 0x22e4]
mov dword [ebx + 0xec], eax
push 0
mov ecx, edi
call fcn.00487c7e
xor eax, eax
cmp dword [ebx + 0xec], eax
jne 0x48728f
push 1
push eax
push eax
push str.User_aborted_at_host_key_verification
jmp 0x486e23
test esi, esi
je 0x4876c4
cmp dword [esi + 8], 0x20
je 0x48719d
mov ecx, dword [ebx + 0x60]
call fcn.004803c4
push str.expected_signature_packet_from_server
jmp 0x4868b7
lea eax, [ebx + 0x70]
mov ecx, esi
lea edx, [ebx + 0x5c]
push eax
call fcn.00481549
pop ecx
mov ecx, dword [ebx + 0x60]
call fcn.004803c4
mov ecx, dword [edi + 0x2168]
push dword [ebx + 0x24]
mov edx, dword [edi + 0x20f8]
mov ecx, dword [ecx + 0x1c]
call fcn.004814a6
mov eax, dword [edi + 0x2168]
lea esi, [ebx + 0x80]
pop ecx
push esi
push dword [edi + 0x20f8]
mov eax, dword [eax + 0x1c]
call dword [eax + 8]
and dword [edi + 0x2194], 0
cmp dword [ebx + 0x78], 0
pop ecx
pop ecx
je 0x487451
mov eax, dword [edi + 0x2168]
mov ecx, dword [edi + 0x216c]
mov eax, dword [eax + 0x1c]
push dword [eax + 0xc]
push esi
push dword [ebx + 0x70]
push dword [ebx + 0x5c]
push dword [ebx + 0x78]
call dword [ecx + 0x28]
add esp, 0x14
test eax, eax
je 0x487451
mov eax, dword [edi + 0x216c]
push dword [ebx + 0x78]
call dword [eax + 8]
mov dword [ebx + 0x64], eax
mov eax, dword [edi + 0x216c]
pop ecx
push dword [ebx + 0x78]
call dword [eax + 0x24]
pop ecx
push 1
mov ecx, edi
mov dword [ebx + 0x68], eax
call fcn.00487c7e
mov eax, dword [edi + 0x216c]
mov ecx, dword [edi + 0x20dc]
push edi
push dword [ebx + 0x68]
push dword [ebx + 0x64]
mov edx, dword [ecx]
push dword [eax + 0x34]
push dword [edi + 0x219c]
push dword [edi + 0x2198]
call dword [edx + 0x24]
mov dword [ebx + 0xec], eax
test eax, eax
jns 0x487158
mov dword [edi + 0x224c], 0x173c
jmp 0x4876ce
mov ecx, dword [ebx + 0x68]
call fcn.004803c4
mov ecx, dword [ebx + 0x64]
call fcn.004803c4
mov eax, dword [edi + 0x216c]
push dword [ebx + 0x78]
call dword [eax + 4]
cmp dword [ebx + 0xe0], 0
pop ecx
jne 0x4872ea
push 0x20
lea eax, [ebx + 0x80]
push eax
lea eax, [edi + 0x2170]
push eax
call dword [sym.imp.msvcrt.dll_memcpy]
mov eax, dword [edi + 0x2168]
add esp, 0xc
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + 0xc]
mov dword [edi + 0x2190], eax
mov dword [ebx + 0xe0], 1
push 0x15
pop ecx
call fcn.0048146d
push eax
mov ecx, edi
mov dword [ebx + 0xe8], eax
call fcn.00488caa
and dword [edi + 0x3304], 0
mov ecx, dword [edi + 0x2140]
test ecx, ecx
je 0x48731c
mov eax, dword [edi + 0x2138]
push ecx
call dword [eax + 4]
pop ecx
mov eax, dword [ebx + 0x40]
mov dword [edi + 0x2138], eax
call dword [eax]
mov ecx, dword [edi + 0x2150]
mov dword [edi + 0x2140], eax
test ecx, ecx
je 0x487342
mov eax, dword [edi + 0x2148]
push ecx
call dword [eax + 4]
pop ecx
mov eax, dword [ebx + 0x48]
mov dword [edi + 0x2148], eax
call dword [eax]
mov edx, dword [edi + 0x215c]
mov dword [edi + 0x2150], eax
test edx, edx
je 0x487369
mov ecx, dword [edi + 0x2158]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebx + 0x50]
mov dword [edi + 0x2158], ecx
mov eax, dword [ecx]
call dword [eax]
mov dword [edi + 0x215c], eax
lea esi, [ebx + 0x80]
lea eax, [esp + 0x30]
mov ecx, edi
push eax
push 0x43
push esi
push dword [ebx + 0x24]
call fcn.0048bb91
mov eax, dword [edi + 0x2138]
lea ecx, [esp + 0x30]
push ecx
push dword [edi + 0x2140]
call dword [eax + 0xc]
pop ecx
pop ecx
lea eax, [esp + 0x30]
mov ecx, edi
push eax
push 0x41
push esi
push dword [ebx + 0x24]
call fcn.0048bb91
mov eax, dword [edi + 0x2138]
lea ecx, [esp + 0x30]
push ecx
push dword [edi + 0x2140]
call dword [eax + 8]
pop ecx
pop ecx
lea eax, [esp + 0x30]
mov ecx, edi
push eax
push 0x45
push esi
push dword [ebx + 0x24]
call fcn.0048bb91
mov eax, dword [edi + 0x2148]
lea ecx, [esp + 0x30]
push ecx
push dword [edi + 0x2150]
call dword [eax + 8]
push 0x40
xor ebx, ebx
lea eax, [esp + 0x3c]
push ebx
push eax
call dword [sym.imp.msvcrt.dll_memset]
add esp, 0x14
mov dword [edi + 0x21f4], ebx
mov esi, ebx
cmp dword [edi + 0x21ec], ebx
jle 0x487435
mov eax, dword [edi + 0x21e8]
mov ecx, edi
push ebx
push dword [eax + esi*4]
call fcn.00488d3e
inc esi
cmp esi, dword [edi + 0x21ec]
jl 0x48741b
mov ecx, edi
mov dword [edi + 0x21ec], ebx
call fcn.00488e6a
mov dword [edi + 0x224c], 0x17ae
jmp 0x4876ce
push str.Servers_host_key_did_not_match_the_signature_supplied
jmp 0x4868b7
test esi, esi
jne 0x48746e
mov dword [edi + 0x224c], 0x16b8
jmp 0x4876ce
cmp dword [esi + 8], 0x1e
je 0x48747e
push str.expected_RSA_public_key_packet_from_server
jmp 0x4868b7
mov ecx, dword [esp + 0x2c]
lea esi, [ebx + 0x6c]
lea edi, [ebx + 0x58]
push esi
mov edx, edi
call fcn.00481549
mov eax, dword [esp + 0x2c]
pop ecx
push dword [esi]
mov ecx, dword [eax + 0x2168]
push dword [edi]
mov edx, dword [eax + 0x20f8]
mov ecx, dword [ecx + 0x1c]
call fcn.00481165
mov ecx, dword [esp + 0x30]
push dword [esi]
push dword [edi]
mov eax, dword [ecx + 0x216c]
call dword [eax]
mov ecx, dword [esp + 0x3c]
lea esi, [ebx + 0x74]
push esi
lea edx, [esp + 0x34]
mov dword [ebx + 0x78], eax
call fcn.00481549
mov ecx, dword [esi]
add esp, 0x14
xor edx, edx
inc edx
call fcn.004802d5
push dword [esi]
mov dword [ebx + 0x60], eax
push dword [esp + 0x24]
push eax
call dword [sym.imp.msvcrt.dll_memcpy]
add esp, 0xc
push dword [esi]
push dword [ebx + 0x60]
call fcn.004957da
mov dword [ebx + 0x7c], eax
pop ecx
pop ecx
test eax, eax
jne 0x487528
mov ecx, dword [ebx + 0x60]
call fcn.004803c4
mov ebx, dword [esp + 0x28]
mov ecx, ebx
push str.unable_to_parse_RSA_public_key_from_server
call fcn.00480f35
and dword [ebx + 0x224c], 0
jmp 0x4876ce
push dword [esi]
mov esi, dword [esp + 0x2c]
push dword [ebx + 0x60]
mov ecx, dword [esi + 0x2168]
mov edx, dword [esi + 0x20f8]
mov ecx, dword [ecx + 0x1c]
call fcn.00481165
pop ecx
pop ecx
mov ecx, dword [ebx + 0x7c]
mov ecx, dword [ecx + 8]
call fcn.0048f0a7
mov ecx, dword [esi + 0x2168]
mov esi, eax
mov dword [esp + 0x14], eax
mov ecx, dword [ecx + 0x1c]
mov ecx, dword [ecx + 0xc]
shl ecx, 4
sub esi, ecx
sub esi, 0x31
lea ecx, [esi - 1]
call fcn.0048db7e
mov dword [ebx + 0x24], eax
xor eax, eax
mov edi, eax
test esi, esi
jle 0x4875b3
mov ecx, edi
and ecx, 7
mov dword [esp + 0x20], ecx
jne 0x487597
call fcn.00480b72
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x10], eax
mov edx, eax
sar edx, cl
mov ecx, dword [ebx + 0x24]
and edx, 1
push edx
mov edx, edi
call fcn.0048f119
mov eax, dword [esp + 0x14]
inc edi
pop ecx
cmp edi, esi
jl 0x48757f
mov ecx, dword [ebx + 0x24]
lea edx, [esp + 0x10]
call fcn.004813a7
mov ebx, dword [esp + 0x10]
xor edx, edx
mov edi, eax
inc edx
mov dword [esp + 0x20], edi
lea esi, [ebx + 4]
mov ecx, esi
call fcn.004802d5
mov ecx, ebx
mov dword [esp + 0x10], eax
sar ecx, 0x18
push ebx
mov byte [eax], cl
mov ecx, ebx
sar ecx, 0x10
mov byte [eax + 1], cl
mov ecx, ebx
sar ecx, 8
mov byte [eax + 2], cl
mov byte [eax + 3], bl
add eax, 4
push edi
push eax
call dword [sym.imp.msvcrt.dll_memcpy]
mov eax, dword [esp + 0x20]
add esp, 0xc
add eax, 7
cdq
and edx, 7
lea edi, [edx + eax]
xor edx, edx
sar edi, 3
inc edx
mov ecx, edi
call fcn.004802d5
mov ecx, dword [esp + 0x28]
mov ebx, eax
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, dword [ecx + 0x2168]
push dword [eax + 0x7c]
push edi
mov ecx, dword [ecx + 0x1c]
push ebx
push esi
call fcn.00496790
push 0x1f
pop ecx
call fcn.0048146d
mov esi, eax
xor edx, edx
mov eax, dword [esp + 0x1c]
mov ecx, esi
mov dword [eax + 0xe8], esi
call fcn.00481258
mov ecx, dword [esi]
mov edx, ebx
mov dword [esi + 0x18], ecx
mov esi, dword [esp + 0x1c]
push edi
mov ecx, dword [esi + 0xe8]
call fcn.004812e4
mov ecx, dword [esp + 0x3c]
add esp, 0x14
push dword [esi + 0xe8]
call fcn.00488caa
push edi
mov edi, dword [esp + 0x2c]
push ebx
mov ecx, dword [edi + 0x2168]
mov edx, dword [edi + 0x20f8]
mov ecx, dword [ecx + 0x1c]
call fcn.00481165
mov ecx, dword [esp + 0x18]
call fcn.004803c4
mov ecx, dword [esp + 0x28]
call fcn.004803c4
mov ecx, ebx
call fcn.004803c4
push dword [esi + 0x7c]
call fcn.004958b0
add esp, 0xc
mov dword [edi + 0x224c], 0x170f
xor eax, eax
mov ecx, dword [esp + 0x74]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00401000
mov esp, ebp
pop ebp
ret 0xc