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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
lea ebx, [esi + 0x188]
xor edi, edi
cmp dword [ebx], edi
jne 0x41950f
push 0xe0
push 1
call fcn.00409eda
pop ecx
pop ecx
mov dword [ebx], eax
mov eax, dword [esi + 0x178]
mov ebx, dword [ebx]
mov ecx, 0x15dc
cmp eax, ecx
push 3
mov dword [ebp - 0xc], ebx
pop edx
jg 0x419798
je 0x419733
sub eax, edi
je 0x4196f1
sub eax, 0x14d3
je 0x4196aa
sub eax, 0x97
je 0x41962c
sub eax, 0x19
je 0x4195ad
sub eax, 0x19
je 0x41956f
sub eax, 0x1c
jne 0x4197c3
cmp dword [ebp + 0x14], edi
je 0x41a578
jmp 0x41a58d
cmp dword [ebp + 0x14], edi
jne 0x419631
cmp dword [ebp + 0x10], edi
jg 0x41961d
mov eax, dword [esi + 0x282c]
mov dword [ebx + 0xd4], eax
mov esi, dword [ebp + 8]
xor edi, edi
call fcn.00410a00
cmp dword [ebx + 0xd4], edi
jne 0x41a4cd
mov eax, str.User_aborted_at_cipher_warning
jmp 0x41a9ce
cmp dword [ebp + 0x14], edi
jne 0x419631
cmp dword [ebp + 0x10], edi
jg 0x41a4be
mov eax, dword [esi + 0x282c]
mov dword [ebx + 0xd4], eax
mov esi, dword [ebp + 8]
xor edi, edi
call fcn.00410a00
cmp dword [ebx + 0xd4], edi
je 0x4195a3
cmp dword [ebx + 0x10], 0
je 0x41a4cd
mov esi, dword [ebp + 8]
xor edi, edi
inc edi
call fcn.00410a00
mov ecx, dword [ebx + 0x44]
mov eax, esi
push eax
push 0x4194b1
push dword [ecx + 0x18]
push str.server_to_client_cipher
push dword [eax + 0xd4]
call fcn.00438289
add esp, 0x14
test eax, eax
mov dword [ebx + 0xd4], eax
jge 0x41958d
mov dword [esi + 0x178], 0x159c
jmp 0x419a58
cmp dword [ebp + 0x14], edi
je 0x419675
push str.Unexpected_data_from_server_while_waiting_for_user_response
call fcn.0040a30f
push edi
mov dword [ebp + 8], eax
call fcn.00410a17
push dword [ebp + 8]
lea ebx, [esi + 0xd4]
push dword [ebx]
call fcn.00437ff7
push dword [ebp + 8]
push 0x4561e8
push dword [ebx]
call fcn.00438961
push dword [ebp + 8]
call fcn.00409f9a
add esp, 0x20
xor eax, eax
jmp 0x41acc7
cmp dword [ebp + 0x10], edi
jg 0x41a46b
mov eax, dword [esi + 0x282c]
mov dword [ebx + 0xd4], eax
mov esi, dword [ebp + 8]
xor edi, edi
call fcn.00410a00
cmp dword [ebx + 0xd4], edi
jne 0x41a47a
mov eax, str.User_aborted_at_kex_warning
jmp 0x41a9ce
cmp dword [ebp + 0x14], edi
je 0x41a007
mov eax, dword [ebp + 0x14]
cmp dword [eax + 8], 0x14
je 0x41a019
push str.expected_key_exchange_packet_from_server
call fcn.0040a30f
mov esi, dword [ebp + 8]
push 0
mov edi, eax
call fcn.00410a17
add esi, 0xd4
push edi
push dword [esi]
call fcn.00437ff7
push edi
push 0x4561e8
push dword [esi]
jmp 0x41acb2
mov dword [ebx + 0x44], edi
mov dword [ebx + 0x40], edi
mov dword [ebx + 0x4c], edi
mov dword [ebx + 0x48], edi
mov dword [ebx + 0x54], edi
mov dword [ebx + 0x50], edi
mov dword [ebx + 0xcc], edi
mov dword [ebx + 0xc8], edi
test byte [esi + 0x50], 2
mov edi, dword [ebp + 8]
mov dword [ebx + 0x3c], edx
je 0x419727
mov dword [ebx + 0x38], 0x46a12c
jmp 0x419b06
mov dword [ebx + 0x38], 0x46a120
jmp 0x419b06
mov eax, dword [ebp + 0x14]
cmp eax, edi
je 0x41a61c
cmp dword [eax + 8], 0x1f
je 0x41974e
push str.expected_key_exchange_group_packet_from_server
jmp 0x419636
call fcn.004103f2
mov dword [ebx + 0x14], eax
mov eax, dword [ebp + 0x14]
call fcn.004103f2
mov ecx, dword [ebx + 0x14]
cmp ecx, edi
mov dword [ebx + 0x18], eax
je 0x41978e
cmp eax, edi
je 0x41978e
push eax
push ecx
call fcn.00421b26
pop ecx
mov dword [esi + 0xbc], eax
pop ecx
mov dword [ebx + 0x30], 0x20
mov dword [ebx + 0x34], 0x21
jmp 0x41a65f
push str.unable_to_read_mp_ints_from_incoming_group_packet
jmp 0x419636
sub eax, 0x15ff
je 0x41a71e
sub eax, 0x3f
je 0x41a6f2
sub eax, 0x67
je 0x4197cb
sub eax, 0x5e
je 0x419a5f
sub eax, 0x12
je 0x419a6e
xor eax, eax
inc eax
jmp 0x41acc7
mov eax, dword [ebp + 0x14]
cmp eax, edi
je 0x41ac76
cmp dword [eax + 8], 0x15
je 0x4197e6
push str.expected_new_keys_packet_from_server
jmp 0x419636
mov eax, dword [esi + 0x6c]
cmp eax, edi
mov dword [esi + 0x2c4c], edi
je 0x4197fb
mov ecx, dword [esi + 0x64]
push eax
call dword [ecx + 4]
pop ecx
mov eax, dword [ebx + 0x44]
mov dword [esi + 0x64], eax
call dword [eax]
mov dword [esi + 0x6c], eax
mov eax, dword [esi + 0x7c]
cmp eax, edi
je 0x419815
mov ecx, dword [esi + 0x74]
push eax
call dword [ecx + 4]
pop ecx
mov eax, dword [ebx + 0x4c]
mov dword [esi + 0x74], eax
call dword [eax]
mov dword [esi + 0x7c], eax
mov eax, dword [esi + 0x8c]
cmp eax, edi
je 0x419835
mov ecx, dword [esi + 0x84]
push eax
call dword [ecx + 0x14]
pop ecx
mov eax, dword [ebx + 0x54]
mov dword [esi + 0x84], eax
call dword [eax + 0x10]
mov dword [esi + 0x8c], eax
mov eax, dword [esi + 0x90]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0xc]
shl eax, 1
cmp eax, 0x40
jbe 0x419871
push 0x16c5
push str..._ssh.c
push str.sizeof_keyspace____ssh__kex__hash__hlen__SSH2_MKKEY_ITERS
call fcn.00444ae0
add esp, 0xc
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x54]
push eax
push 0x44
lea esi, [ebx + 0x74]
push esi
push dword [ebx + 0x24]
call fcn.0041123e
mov eax, dword [edi + 0x64]
mov eax, dword [eax + 0x20]
add esp, 0x10
add eax, 7
push 8
cdq
pop ecx
idiv ecx
mov ecx, dword [edi + 0x90]
mov ecx, dword [ecx + 0x18]
mov ecx, dword [ecx + 0xc]
shl ecx, 1
cmp eax, ecx
jle 0x4198c1
push 0x16c8
push str..._ssh.c
push str._ssh__sccipher__keylen7____8___ssh__kex__hash__hlen__SSH2_MKKEY_ITERS
call fcn.00444ae0
add esp, 0xc
mov eax, dword [edi + 0x64]
lea ecx, [ebp - 0x54]
push ecx
push dword [edi + 0x6c]
call dword [eax + 0xc]
lea eax, [ebp - 0x54]
push eax
push 0x42
push esi
push dword [ebx + 0x24]
call fcn.0041123e
mov eax, dword [edi + 0x90]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0xc]
mov ecx, dword [edi + 0x64]
shl eax, 1
add esp, 0x18
cmp dword [ecx + 0x1c], eax
jle 0x41990d
push 0x16cc
push str..._ssh.c
push str.ssh__sccipher__blksize___ssh__kex__hash__hlen__SSH2_MKKEY_ITERS
call fcn.00444ae0
add esp, 0xc
mov eax, dword [edi + 0x64]
lea ecx, [ebp - 0x54]
push ecx
push dword [edi + 0x6c]
call dword [eax + 8]
lea eax, [ebp - 0x54]
push eax
push 0x46
push esi
push dword [ebx + 0x24]
call fcn.0041123e
mov eax, dword [edi + 0x90]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0xc]
mov ecx, dword [edi + 0x74]
shl eax, 1
add esp, 0x18
cmp dword [ecx + 0x18], eax
jle 0x419959
push 0x16d0
push str..._ssh.c
push str.ssh__scmac__len___ssh__kex__hash__hlen__SSH2_MKKEY_ITERS
call fcn.00444ae0
add esp, 0xc
mov eax, dword [edi + 0x74]
lea ecx, [ebp - 0x54]
push ecx
push dword [edi + 0x7c]
call dword [eax + 8]
push 0x40
lea eax, [ebp - 0x54]
push 0
push eax
call fcn.00444660
mov eax, dword [edi + 0x64]
push dword [eax + 0x28]
push str.Initialised__.200s_server__client_encryption
push edi
call fcn.0040f8f2
mov eax, dword [edi + 0x74]
push dword [eax + 0x1c]
push str.Initialised__.200s_server__client_MAC_algorithm
push edi
call fcn.0040f8f2
mov eax, dword [edi + 0x84]
mov eax, dword [eax + 0x20]
add esp, 0x2c
test eax, eax
je 0x4199b4
push eax
push str.Initialised__s_decompression
push edi
call fcn.0040f8f2
add esp, 0xc
push dword [ebx + 0x20]
call fcn.0041e75a
push dword [ebx + 0x24]
call fcn.0041e75a
mov eax, dword [edi + 0x90]
cmp dword [eax + 8], 0
pop ecx
pop ecx
jne 0x4199e4
push dword [ebx + 0x18]
call fcn.0041e75a
push dword [ebx + 0x14]
call fcn.0041e75a
pop ecx
pop ecx
lea esi, [edi + 0x2c68]
mov eax, dword [esi]
test eax, eax
je 0x419a0a
push eax
push dword [edi + 0xd4]
call fcn.00437ff7
and dword [ebp + 0x14], 0
and dword [esi], 0
pop ecx
pop ecx
jmp 0x419b06
and dword [edi + 0x2c5c], 0
call dword [0x450290]
mov dword [edi + 0x2c64], eax
mov eax, dword [edi + 0xd38]
test eax, eax
je 0x419a42
imul eax, eax, 0xea60
push edi
push 0x411b5d
push eax
call fcn.004324ac
add esp, 0xc
mov dword [edi + 0x2c60], eax
cmp dword [ebx + 0xcc], 0
je 0x419a5f
mov eax, dword [ebp + 8]
mov dword [eax + 0x178], 0x1703
xor eax, eax
jmp 0x41accd
mov esi, dword [ebp + 8]
mov dword [ebx + 0xcc], 1
xor edi, edi
mov eax, dword [ebp + 0x14]
cmp eax, edi
je 0x419a8d
cmp dword [eax + 8], 0x14
je 0x419a93
xor eax, eax
mov dword [esi + 0x178], 0x1715
inc eax
jmp 0x41accd
cmp dword [ebp + 0x10], 0xffffffff
jne 0x419a7b
cmp eax, edi
je 0x419aab
push str.Server_initiated_key_re_exchange
push dword [esi + 0xd4]
call fcn.00437ff7
pop ecx
pop ecx
jmp 0x419b03
test byte [esi + 0x50], 0x40
push dword [ebp + 0xc]
je 0x419af5
push str.Server_bug_prevents_key_re_exchange___s_
push esi
call fcn.0040f8f2
mov eax, dword [esi + 0xd38]
add esp, 0xc
cmp eax, edi
mov dword [esi + 0x2c50], edi
mov dword [esi + 0x2c4c], edi
je 0x419a7b
imul eax, eax, 0xea60
push esi
push 0x411b5d
push eax
call fcn.004324ac
add esp, 0xc
mov dword [esi + 0x2c60], eax
jmp 0x419a7b
push str.Initiating_key_re_exchange___s_
push esi
call fcn.0040f8f2
add esp, 0xc
mov edi, dword [ebp + 8]
and dword [edi + 0x140], 0xfffffff0
xor edx, edx
mov dword [ebx + 0x94], edx
lea ecx, [edi + 0xd28]
mov eax, dword [ecx]
sub eax, 0
je 0x419b64
dec eax
je 0x419b51
dec eax
je 0x419b3e
dec eax
jne 0x419b7d
mov eax, dword [ebx + 0x94]
mov dword [ebx + eax*4 + 0x98], 0x45f96c
jmp 0x419b77
mov eax, dword [ebx + 0x94]
mov dword [ebx + eax*4 + 0x98], 0x45f924
jmp 0x419b77
mov eax, dword [ebx + 0x94]
mov dword [ebx + eax*4 + 0x98], 0x45f8fc
jmp 0x419b77
cmp edx, 3
jge 0x419b7d
mov eax, dword [ebx + 0x94]
and dword [ebx + eax*4 + 0x98], 0
inc dword [ebx + 0x94]
inc edx
add ecx, 4
cmp edx, 4
jl 0x419b1b
xor edx, edx
mov dword [ebx + 0xa8], edx
xor esi, esi
lea ecx, [edi + 0xd58]
mov eax, dword [ecx]
sub eax, edx
je 0x419c12
dec eax
je 0x419bff
dec eax
je 0x419bec
dec eax
je 0x419bd9
dec eax
je 0x419bbe
dec eax
jne 0x419c2a
mov eax, dword [ebx + 0xa8]
mov dword [ebx + eax*4 + 0xac], 0x45d5a0
jmp 0x419c24
cmp dword [edi + 0xe78], edx
je 0x419c2a
mov eax, dword [ebx + 0xa8]
mov dword [ebx + eax*4 + 0xac], 0x45f690
jmp 0x419c24
mov eax, dword [ebx + 0xa8]
mov dword [ebx + eax*4 + 0xac], 0x45d400
jmp 0x419c24
mov eax, dword [ebx + 0xa8]
mov dword [ebx + eax*4 + 0xac], 0x45e6bc
jmp 0x419c24
mov eax, dword [ebx + 0xa8]
mov dword [ebx + eax*4 + 0xac], 0x45f680
jmp 0x419c24
cmp esi, 5
jge 0x419c2a
mov eax, dword [ebx + 0xa8]
mov dword [ebx + eax*4 + 0xac], edx
inc dword [ebx + 0xa8]
inc esi
add ecx, 4
cmp esi, 6
jl 0x419b96
cmp dword [edi + 0xd24], edx
je 0x419c4b
mov dword [ebx + 0xc4], str.zlib
jmp 0x419c55
mov dword [ebx + 0xc4], str.none
xor eax, eax
inc eax
push 0x14
mov dword [edi + 0x120], eax
mov dword [edi + 0x2c5c], eax
call fcn.0040ff69
pop ecx
push 0x10
mov dword [ebx + 0xd0], eax
pop esi
call fcn.0042506f
push eax
push dword [ebx + 0xd0]
call fcn.0040fda7
dec esi
pop ecx
pop ecx
jne 0x419c75
mov esi, dword [ebx + 0xd0]
call fcn.0040fdef
xor eax, eax
cmp dword [ebx + 0x94], eax
mov dword [ebp - 4], eax
jle 0x419d09
lea ecx, [ebx + 0x98]
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 8]
mov edi, dword [ecx]
test edi, edi
je 0x419cf7
and dword [ebp + 0xc], 0
cmp dword [edi], 0
jle 0x419cf7
test eax, eax
je 0x419cd3
mov esi, dword [ebx + 0xd0]
push 0x456a54
call fcn.0040fdfe
pop ecx
mov eax, dword [edi + 4]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
push dword [eax]
mov esi, dword [ebx + 0xd0]
call fcn.0040fdfe
xor eax, eax
inc eax
inc dword [ebp + 0xc]
pop ecx
mov ecx, dword [ebp + 0xc]
cmp ecx, dword [edi]
jl 0x419cbe
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
add dword [ebp - 8], 4
cmp ecx, dword [ebx + 0x94]
jl 0x419cac
mov esi, dword [ebx + 0xd0]
call fcn.0040fdef
xor edi, edi
mov eax, dword [edi + 0x46a118]
push dword [eax + 0x30]
mov esi, dword [ebx + 0xd0]
call fcn.0040fdfe
cmp edi, 4
pop ecx
jae 0x419d41
mov esi, dword [ebx + 0xd0]
push 0x456a54
call fcn.0040fdfe
pop ecx
add edi, 4
cmp edi, 8
jb 0x419d16
mov esi, dword [ebx + 0xd0]
call fcn.0040fdef
xor eax, eax
cmp dword [ebx + 0xa8], eax
mov dword [ebp - 4], eax
jle 0x419dc8
lea ecx, [ebx + 0xac]
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 8]
mov edi, dword [ecx]
test edi, edi
je 0x419db6
and dword [ebp + 0xc], 0
cmp dword [edi], 0
jle 0x419db6
test eax, eax
je 0x419d91
mov esi, dword [ebx + 0xd0]
push 0x456a54
call fcn.0040fdfe
pop ecx
mov eax, dword [edi + 4]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
push dword [eax + 0x18]
mov esi, dword [ebx + 0xd0]
call fcn.0040fdfe
xor eax, eax
inc eax
inc dword [ebp + 0xc]
pop ecx
mov ecx, dword [ebp + 0xc]
cmp ecx, dword [edi]
jl 0x419d7c
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
add dword [ebp - 8], 4
cmp ecx, dword [ebx + 0xa8]
jl 0x419d6a
mov esi, dword [ebx + 0xd0]
call fcn.0040fdef
xor eax, eax
cmp dword [ebx + 0xa8], eax
mov dword [ebp - 4], eax
jle 0x419e47
lea ecx, [ebx + 0xac]
mov dword [ebp - 8], ecx
mov ecx, dword [ebp - 8]
mov edi, dword [ecx]
test edi, edi
je 0x419e35
and dword [ebp + 0xc], 0
cmp dword [edi], 0
jle 0x419e35
test eax, eax
je 0x419e10
mov esi, dword [ebx + 0xd0]
push 0x456a54
call fcn.0040fdfe
pop ecx
mov eax, dword [edi + 4]
mov ecx, dword [ebp + 0xc]
mov eax, dword [eax + ecx*4]
push dword [eax + 0x18]
mov esi, dword [ebx + 0xd0]
call fcn.0040fdfe
xor eax, eax
inc eax
inc dword [ebp + 0xc]
pop ecx
mov ecx, dword [ebp + 0xc]
cmp ecx, dword [edi]
jl 0x419dfb
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
add dword [ebp - 8], 4
cmp ecx, dword [ebx + 0xa8]
jl 0x419de9
mov esi, dword [ebx + 0xd0]
call fcn.0040fdef
xor edi, edi
cmp dword [ebx + 0x3c], edi
jle 0x419e8d
mov eax, dword [ebx + 0x38]
mov eax, dword [eax + edi*4]
push dword [eax + 0x14]
mov esi, dword [ebx + 0xd0]
call fcn.0040fdfe
mov eax, dword [ebx + 0x3c]
dec eax
cmp edi, eax
pop ecx
jge 0x419e87
mov esi, dword [ebx + 0xd0]
push 0x456a54
call fcn.0040fdfe
pop ecx
inc edi
cmp edi, dword [ebx + 0x3c]
jl 0x419e59
mov esi, dword [ebx + 0xd0]
call fcn.0040fdef
xor edi, edi
cmp dword [ebx + 0x3c], edi
jle 0x419ed3
mov eax, dword [ebx + 0x38]
mov eax, dword [eax + edi*4]
push dword [eax + 0x14]
mov esi, dword [ebx + 0xd0]
call fcn.0040fdfe
mov eax, dword [ebx + 0x3c]
dec eax
cmp edi, eax
pop ecx
jge 0x419ecd
mov esi, dword [ebx + 0xd0]
push 0x456a54
call fcn.0040fdfe
pop ecx
inc edi
cmp edi, dword [ebx + 0x3c]
jl 0x419e9f
mov esi, dword [ebx + 0xd0]
call fcn.0040fdef
mov eax, dword [ebx + 0xc4]
push dword [eax]
mov esi, dword [ebx + 0xd0]
call fcn.0040fdfe
and dword [ebp + 0xc], 0
pop ecx
mov eax, dword [ebp + 0xc]
mov edi, dword [eax + 0x46a138]
cmp edi, dword [ebx + 0xc4]
je 0x419f26
mov esi, dword [ebx + 0xd0]
push 0x456a54
call fcn.0040fdfe
push dword [edi]
mov esi, dword [ebx + 0xd0]
call fcn.0040fdfe
pop ecx
pop ecx
add dword [ebp + 0xc], 4
cmp dword [ebp + 0xc], 8
jb 0x419ef6
mov esi, dword [ebx + 0xd0]
call fcn.0040fdef
mov eax, dword [ebx + 0xc4]
push dword [eax]
mov esi, dword [ebx + 0xd0]
call fcn.0040fdfe
and dword [ebp + 0xc], 0
pop ecx
mov eax, dword [ebp + 0xc]
mov edi, dword [eax + 0x46a138]
cmp edi, dword [ebx + 0xc4]
je 0x419f83
mov esi, dword [ebx + 0xd0]
push 0x456a54
call fcn.0040fdfe
push dword [edi]
mov esi, dword [ebx + 0xd0]
call fcn.0040fdfe
pop ecx
pop ecx
add dword [ebp + 0xc], 4
cmp dword [ebp + 0xc], 8
jb 0x419f53
mov esi, dword [ebx + 0xd0]
call fcn.0040fdef
mov esi, dword [ebx + 0xd0]
call fcn.0040fdef
push 0
push dword [ebx + 0xd0]
call fcn.0040fda7
push dword [ebx + 0xd0]
xor eax, eax
call fcn.0040fdbc
mov eax, dword [ebx + 0xd0]
mov eax, dword [eax]
add eax, 0xfffffffb
push 1
push eax
mov dword [ebx + 0x2c], eax
call fcn.00409eda
mov ecx, dword [ebx + 0xd0]
push dword [ebx + 0x2c]
mov dword [ebx + 0x28], eax
mov ecx, dword [ecx + 0x10]
add ecx, 5
push ecx
push eax
call fcn.00445380
push dword [ebx + 0xd0]
push dword [ebp + 8]
call fcn.0041aee4
add esp, 0x28
cmp dword [ebp + 0x14], 0
jne 0x4196b3
mov eax, dword [ebp + 8]
mov dword [eax + 0x178], 0x14d3
jmp 0x419a58
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [ecx + 0x90], eax
mov dword [ecx + 0x94], eax
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], eax
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x4c], eax
mov dword [ebx + 0x50], eax
mov dword [ebx + 0x54], eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0xc], eax
mov dword [ebx + 8], eax
mov eax, dword [ebp + 0x14]
add dword [eax + 0x18], 0x10
lea esi, [ebp - 4]
lea edi, [ebp + 0xc]
call fcn.00410325
xor eax, eax
cmp dword [ebx + 0x94], eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 8], eax
jle 0x41a0e5
lea eax, [ebx + 0x98]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov esi, dword [eax]
xor edi, edi
cmp esi, edi
jne 0x41a084
mov dword [ebx + 8], 1
jmp 0x41a0c7
cmp dword [esi], edi
jle 0x41a0c7
cmp dword [ebp - 0x14], 0
jne 0x41a099
mov eax, dword [esi + 4]
mov eax, dword [eax + edi*4]
mov eax, dword [eax]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 4]
mov eax, dword [eax + edi*4]
push dword [eax]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0xc]
call fcn.0041119e
test eax, eax
pop ecx
jne 0x41a0b8
inc edi
cmp edi, dword [esi]
jl 0x41a088
jmp 0x41a0c7
mov eax, dword [esi + 4]
mov eax, dword [eax + edi*4]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x90], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x90], 0
jne 0x41a0e5
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
add dword [ebp - 0x10], 4
cmp eax, dword [ebx + 0x94]
jl 0x41a070
mov eax, dword [ebp + 8]
cmp dword [eax + 0x90], 0
jne 0x41a108
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x41a0fd
mov eax, str._null_
push eax
push str.Couldnt_agree_a_key_exchange_algorithm__available:__s_
jmp 0x41a2bd
push dword [ebp - 4]
mov edi, dword [ebp + 0xc]
push dword [ebp - 0x14]
call fcn.004111fa
pop ecx
mov dword [ebx + 0xd8], eax
mov eax, dword [ebp + 0x14]
pop ecx
lea esi, [ebp - 4]
lea edi, [ebp + 0xc]
call fcn.00410325
mov edi, dword [ebp + 0xc]
xor esi, esi
mov eax, dword [esi*4 + 0x46a118]
push dword [eax + 0x30]
mov eax, dword [ebp - 4]
mov ecx, edi
call fcn.0041119e
test eax, eax
pop ecx
jne 0x41a152
inc esi
cmp esi, 2
jb 0x41a131
jmp 0x41a162
mov eax, dword [esi*4 + 0x46a118]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x94], eax
cmp dword [ebx + 0xd8], 0
je 0x41a186
push dword [ebp - 4]
mov eax, dword [0x46a118]
push dword [eax + 0x30]
call fcn.004111fa
test eax, eax
pop ecx
pop ecx
je 0x41a186
xor eax, eax
inc eax
jmp 0x41a188
xor eax, eax
mov dword [ebx + 0xd8], eax
mov eax, dword [ebp + 0x14]
lea esi, [ebp - 4]
lea edi, [ebp + 0xc]
call fcn.00410325
and dword [ebp - 8], 0
cmp dword [ebx + 0xa8], 0
jle 0x41a20b
lea eax, [ebx + 0xac]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov esi, dword [eax]
xor edi, edi
cmp esi, edi
jne 0x41a1c6
mov dword [ebx + 0xc], 1
jmp 0x41a1f3
cmp dword [esi], edi
jle 0x41a1f3
mov eax, dword [esi + 4]
mov eax, dword [eax + edi*4]
push dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0xc]
call fcn.0041119e
test eax, eax
pop ecx
jne 0x41a1ea
inc edi
cmp edi, dword [esi]
jl 0x41a1ca
jmp 0x41a1f3
mov eax, dword [esi + 4]
mov eax, dword [eax + edi*4]
mov dword [ebx + 0x40], eax
cmp dword [ebx + 0x40], 0
jne 0x41a228
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
add dword [ebp - 0x14], 4
cmp eax, dword [ebx + 0xa8]
jl 0x41a1b2
cmp dword [ebx + 0x40], 0
jne 0x41a228
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x41a21d
mov eax, str._null_
push eax
push str.Couldnt_agree_a_client_to_server_cipher__available:__s_
jmp 0x41a2bd
mov eax, dword [ebp + 0x14]
lea esi, [ebp - 4]
lea edi, [ebp + 0xc]
call fcn.00410325
and dword [ebp - 8], 0
cmp dword [ebx + 0xa8], 0
jle 0x41a2a5
lea eax, [ebx + 0xac]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov esi, dword [eax]
xor edi, edi
cmp esi, edi
jne 0x41a260
mov dword [ebx + 0x10], 1
jmp 0x41a28d
cmp dword [esi], edi
jle 0x41a28d
mov eax, dword [esi + 4]
mov eax, dword [eax + edi*4]
push dword [eax + 0x18]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0xc]
call fcn.0041119e
test eax, eax
pop ecx
jne 0x41a284
inc edi
cmp edi, dword [esi]
jl 0x41a264
jmp 0x41a28d
mov eax, dword [esi + 4]
mov eax, dword [eax + edi*4]
mov dword [ebx + 0x44], eax
cmp dword [ebx + 0x44], 0
jne 0x41a2f7
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
add dword [ebp - 0x14], 4
cmp eax, dword [ebx + 0xa8]
jl 0x41a24c
cmp dword [ebx + 0x44], 0
jne 0x41a2f7
mov eax, dword [ebp + 0xc]
test eax, eax
jne 0x41a2b7
mov eax, str._null_
push eax
push str.Couldnt_agree_a_server_to_client_cipher__available:__s_
call fcn.0040a30f
mov esi, dword [ebp + 8]
push 0
mov edi, eax
call fcn.00410a17
add esi, 0xd4
push edi
push dword [esi]
call fcn.00437ff7
push edi
push 0x4561e8
push dword [esi]
call fcn.00438961
push edi
call fcn.00409f9a
add esp, 0x24
jmp 0x41acc0
mov eax, dword [ebp + 0x14]
lea esi, [ebp - 4]
lea edi, [ebp + 0xc]
call fcn.00410325
xor esi, esi
cmp dword [ebx + 0x3c], esi
jle 0x41a336
mov eax, dword [ebx + 0x38]
mov eax, dword [eax + esi*4]
push dword [eax + 0x14]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0xc]
call fcn.0041119e
test eax, eax
pop ecx
jne 0x41a32d
inc esi
cmp esi, dword [ebx + 0x3c]
jl 0x41a30c
jmp 0x41a336
mov eax, dword [ebx + 0x38]
mov eax, dword [eax + esi*4]
mov dword [ebx + 0x48], eax
mov eax, dword [ebp + 0x14]
lea esi, [ebp - 4]
lea edi, [ebp + 0xc]
call fcn.00410325
xor esi, esi
cmp dword [ebx + 0x3c], esi
jle 0x41a375
mov eax, dword [ebx + 0x38]
mov eax, dword [eax + esi*4]
push dword [eax + 0x14]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0xc]
call fcn.0041119e
test eax, eax
pop ecx
jne 0x41a36c
inc esi
cmp esi, dword [ebx + 0x3c]
jl 0x41a34b
jmp 0x41a375
mov eax, dword [ebx + 0x38]
mov eax, dword [eax + esi*4]
mov dword [ebx + 0x4c], eax
mov eax, dword [ebp + 0x14]
lea esi, [ebp - 4]
lea edi, [ebp + 0xc]
call fcn.00410325
xor edi, edi
test edi, edi
jne 0x41a391
mov esi, dword [ebx + 0xc4]
jmp 0x41a398
mov esi, dword [edi*4 + 0x46a134]
push dword [esi]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0xc]
call fcn.0041119e
test eax, eax
pop ecx
jne 0x41a3b2
inc edi
cmp edi, 3
jb 0x41a385
jmp 0x41a3b5
mov dword [ebx + 0x50], esi
mov eax, dword [ebp + 0x14]
lea esi, [ebp - 4]
lea edi, [ebp + 0xc]
call fcn.00410325
xor edi, edi
test edi, edi
jne 0x41a3d1
mov esi, dword [ebx + 0xc4]
jmp 0x41a3d8
mov esi, dword [edi*4 + 0x46a134]
push dword [esi]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp + 0xc]
call fcn.0041119e
test eax, eax
pop ecx
jne 0x41a3f2
inc edi
cmp edi, 3
jb 0x41a3c5
jmp 0x41a3f5
mov dword [ebx + 0x54], esi
mov eax, dword [ebp + 0x14]
lea esi, [ebp - 4]
lea edi, [ebp + 0xc]
call fcn.00410325
call fcn.00410325
mov ecx, eax
call fcn.00410302
test eax, eax
je 0x41a421
cmp dword [ebx + 0xd8], 0
jne 0x41a421
xor eax, eax
inc eax
jmp 0x41a423
xor eax, eax
cmp dword [ebx + 8], 0
mov dword [ebx + 0xdc], eax
je 0x41a47a
mov esi, dword [ebp + 8]
xor edi, edi
inc edi
call fcn.00410a00
mov eax, esi
mov ecx, dword [eax + 0x90]
push eax
push 0x4194b1
push dword [ecx]
push str.key_exchange_algorithm
push dword [eax + 0xd4]
call fcn.00438289
add esp, 0x14
test eax, eax
mov dword [ebx + 0xd4], eax
jge 0x41968a
mov dword [esi + 0x178], 0x156a
jmp 0x419a58
cmp dword [ebx + 0xc], 0
je 0x4195d9
mov esi, dword [ebp + 8]
xor edi, edi
inc edi
call fcn.00410a00
mov ecx, dword [ebx + 0x40]
mov eax, esi
push eax
push 0x4194b1
push dword [ecx + 0x18]
push str.client_to_server_cipher
push dword [eax + 0xd4]
call fcn.00438289
add esp, 0x14
test eax, eax
mov dword [ebx + 0xd4], eax
jge 0x4195c7
mov dword [esi + 0x178], 0x1583
jmp 0x419a58
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x90]
mov eax, dword [eax + 0x18]
call dword [eax]
push dword [esi + 4]
mov dword [esi + 0xc], eax
call fcn.004446c0
push dword [esi + 4]
mov ecx, dword [esi + 0x90]
push dword [esi + 0xc]
mov esi, dword [ecx + 0x18]
mov ebx, eax
call fcn.0040fca2
mov edi, dword [ebp + 8]
push dword [edi + 8]
call fcn.004446c0
push dword [edi + 8]
mov ecx, dword [edi + 0x90]
push dword [edi + 0xc]
mov esi, dword [ecx + 0x18]
mov ebx, eax
call fcn.0040fca2
mov eax, dword [ebp - 0xc]
push dword [eax + 0x28]
mov ecx, dword [edi + 0x90]
push dword [edi + 0xc]
mov ebx, dword [eax + 0x2c]
mov esi, dword [ecx + 0x18]
call fcn.0040fca2
mov eax, dword [ebp - 0xc]
push dword [eax + 0x28]
call fcn.00409f9a
mov ecx, dword [ebp + 0x14]
mov eax, dword [ecx]
add esp, 0x24
cmp eax, 5
jle 0x41a56c
lea ebx, [eax - 5]
mov eax, dword [ecx + 0x10]
add eax, 5
push eax
mov eax, dword [edi + 0x90]
push dword [edi + 0xc]
mov esi, dword [eax + 0x18]
call fcn.0040fca2
pop ecx
pop ecx
mov eax, dword [ebp - 0xc]
cmp dword [eax + 0xdc], 0
je 0x41a58a
mov eax, dword [ebp + 8]
mov dword [eax + 0x178], 0x15b8
jmp 0x419a58
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebx + 0x40]
mov ecx, dword [ebx + 0x44]
mov eax, dword [eax + 0x20]
mov ecx, dword [ecx + 0x20]
cmp eax, ecx
mov esi, dword [ebp + 8]
jle 0x41a5a2
mov ecx, eax
mov dword [ebx], ecx
mov eax, dword [esi + 0x90]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0xc]
shl eax, 3
cmp ecx, eax
jle 0x41a5b9
mov dword [ebx], eax
mov eax, dword [esi + 0x90]
cmp dword [eax + 8], 0
jne 0x41a627
push str.Doing_Diffie_Hellman_group_exchange
push dword [esi + 0xd4]
call fcn.00437ff7
or dword [esi + 0x140], 2
mov eax, dword [ebx]
dec eax
push 0x40
cdq
pop ecx
idiv ecx
mov edx, 0x200
push 0x1e
mov ecx, eax
shl edx, cl
mov dword [ebx + 4], edx
call fcn.0040ff69
lea edi, [ebx + 0xd0]
mov dword [edi], eax
push eax
mov eax, dword [ebx + 4]
call fcn.0040fdbc
push dword [edi]
push esi
call fcn.0041aee4
mov esi, dword [ebp + 8]
add esp, 0x18
mov ecx, 0x15dc
mov dword [esi + 0x178], ecx
jmp 0x419a58
or dword [esi + 0x140], 1
push eax
call fcn.00421aec
mov dword [esi + 0xbc], eax
mov dword [ebx + 0x30], 0x1e
mov dword [ebx + 0x34], 0x1f
mov eax, dword [esi + 0x90]
push dword [eax + 4]
push str.Using_Diffie_Hellman_with_standard_group___s_
push esi
call fcn.0040f8f2
add esp, 0x10
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x90]
mov eax, dword [eax + 0x18]
push dword [eax + 0x10]
push str.Doing_Diffie_Hellman_key_exchange_with_hash__s
push esi
call fcn.0040f8f2
push 2
push dword [esi + 0xd4]
call fcn.00438938
mov eax, dword [ebx]
shl eax, 1
push eax
push dword [esi + 0xbc]
call fcn.00421b95
push dword [ebx + 0x30]
mov dword [ebx + 0x1c], eax
call fcn.0040ff69
mov esi, eax
mov eax, dword [ebx + 0x1c]
lea ecx, [ebp - 0x14]
push ecx
push eax
mov dword [ebx + 0xd0], esi
call fcn.0040febe
mov dword [ebp + 0xc], eax
call fcn.0040fdef
push dword [ebp + 0xc]
mov edi, dword [ebp - 0x14]
call fcn.0040fe5b
push dword [ebp + 0xc]
call fcn.00409f9a
push dword [ebx + 0xd0]
mov esi, dword [ebp + 8]
push esi
call fcn.0041aee4
push 1
push dword [esi + 0xd4]
call fcn.00438938
add esp, 0x40
jmp 0x41a725
cmp dword [ebp + 0x14], edi
je 0x41a701
push str.Unexpected_data_from_server_while_waiting_for_user_host_key_response
jmp 0x419636
cmp dword [ebp + 0x10], edi
jg 0x41a9a2
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x282c]
mov dword [ebx + 0xd4], eax
jmp 0x41a9b7
mov eax, dword [ebp + 0x14]
cmp eax, edi
jne 0x41a734
mov dword [esi + 0x178], 0x15ff
jmp 0x419a58
mov eax, dword [eax + 8]
cmp eax, dword [ebx + 0x34]
je 0x41a746
push str.expected_key_exchange_reply_packet_from_server
jmp 0x419636
mov eax, dword [ebp + 8]
push 2
push dword [eax + 0xd4]
call fcn.00438938
mov eax, dword [ebp + 0x14]
pop ecx
lea esi, [ebx + 0x68]
lea edi, [ebx + 0x58]
pop ecx
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x10], edi
call fcn.00410325
call fcn.004103f2
test eax, eax
mov dword [ebx + 0x20], eax
jne 0x41a7ab
push str.unable_to_parse_key_exchange_reply_packet
call fcn.0040a30f
mov esi, dword [ebp + 8]
push 0
mov edi, eax
call fcn.00410a17
push edi
push dword [esi + 0xd4]
call fcn.00437ff7
push edi
push 0x4561e8
push dword [esi + 0xd4]
jmp 0x41acb2
mov eax, dword [ebp + 0x14]
lea esi, [ebx + 0x6c]
lea edi, [ebx + 0x5c]
mov dword [ebp - 8], esi
mov dword [ebp - 4], edi
call fcn.00410325
push dword [ebx + 0x20]
mov esi, dword [ebp + 8]
push dword [esi + 0xbc]
call fcn.00421ca4
mov dword [ebx + 0x24], eax
push 0
push dword [esi + 0xd4]
call fcn.00438938
mov eax, dword [ebp - 0x10]
push dword [eax]
mov eax, dword [esi + 0x90]
mov ecx, dword [ebp - 0x14]
push dword [esi + 0xc]
mov ebx, dword [ecx]
mov esi, dword [eax + 0x18]
call fcn.0040fca2
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x90]
mov edi, dword [ebp - 0xc]
add esp, 0x18
cmp dword [eax + 8], 0
jne 0x41a868
mov ecx, dword [edi + 4]
mov eax, dword [eax + 0x18]
mov edx, ecx
shr edx, 0x18
mov byte [ebp + 0xc], dl
mov edx, ecx
shr edx, 0x10
mov byte [ebp + 0xd], dl
mov edx, ecx
mov byte [ebp + 0xf], cl
push 4
lea ecx, [ebp + 0xc]
push ecx
push dword [ebx + 0xc]
shr edx, 8
mov byte [ebp + 0xe], dl
call dword [eax + 4]
push dword [edi + 0x14]
mov eax, dword [ebx + 0x90]
push dword [ebx + 0xc]
mov esi, dword [eax + 0x18]
call fcn.0041029c
push dword [edi + 0x18]
mov eax, dword [ebx + 0x90]
push dword [ebx + 0xc]
mov esi, dword [eax + 0x18]
call fcn.0041029c
add esp, 0x1c
push dword [edi + 0x1c]
mov eax, dword [ebx + 0x90]
push dword [ebx + 0xc]
mov esi, dword [eax + 0x18]
call fcn.0041029c
push dword [edi + 0x20]
mov eax, dword [ebx + 0x90]
push dword [ebx + 0xc]
mov esi, dword [eax + 0x18]
call fcn.0041029c
push dword [edi + 0x24]
mov eax, dword [ebx + 0x90]
push dword [ebx + 0xc]
mov esi, dword [eax + 0x18]
call fcn.0041029c
mov eax, dword [ebx + 0x90]
mov eax, dword [eax + 0x18]
add esp, 0x18
cmp dword [eax + 0xc], 0x20
jbe 0x41a8cd
push 0x161c
push str..._ssh.c
push str.ssh__kex__hash__hlen___sizeof_s__exchange_hash_
call fcn.00444ae0
add esp, 0xc
mov eax, dword [ebx + 0x90]
mov eax, dword [eax + 0x18]
lea esi, [edi + 0x74]
push esi
push dword [ebx + 0xc]
call dword [eax + 8]
push dword [ebx + 0xbc]
call fcn.00421b56
and dword [ebx + 0xbc], 0
mov ecx, dword [ebp - 0x14]
push dword [ecx]
mov ecx, dword [ebp - 0x10]
push dword [ecx]
mov eax, dword [ebx + 0x94]
call dword [eax]
add esp, 0x14
test eax, eax
mov dword [edi + 0x70], eax
je 0x41ac85
mov edx, dword [ebx + 0x90]
mov edx, dword [edx + 0x18]
push dword [edx + 0xc]
mov edx, dword [ebp - 8]
mov ecx, dword [ebx + 0x94]
push esi
push dword [edx]
mov edx, dword [ebp - 4]
push dword [edx]
push eax
call dword [ecx + 0x28]
add esp, 0x14
test eax, eax
je 0x41ac85
push dword [edi + 0x70]
mov eax, dword [ebx + 0x94]
call dword [eax + 8]
push dword [edi + 0x70]
mov dword [edi + 0x60], eax
mov eax, dword [ebx + 0x94]
call dword [eax + 0x24]
mov dword [edi + 0x64], eax
xor edi, edi
inc edi
mov esi, ebx
call fcn.00410a00
mov esi, dword [ebp - 0xc]
mov eax, dword [ebx + 0x94]
push ebx
push 0x4194b1
push dword [esi + 0x64]
push dword [esi + 0x60]
push dword [eax + 0x34]
push dword [ebx + 0xc4]
push dword [ebx + 0xc0]
push dword [ebx + 0xd4]
call fcn.0043816a
add esp, 0x28
test eax, eax
mov dword [esi + 0xd4], eax
jge 0x41a9b4
mov eax, dword [ebp + 8]
mov dword [eax + 0x178], 0x163e
jmp 0x419a58
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp + 8]
xor edi, edi
call fcn.00410a00
cmp dword [ebx + 0xd4], edi
jne 0x41a9e4
mov eax, str.User_aborted_at_host_key_verification
mov esi, dword [ebp + 8]
push 1
push 0
push 0
call fcn.00412dc6
add esp, 0xc
jmp 0x41acc0
cmp dword [ebx + 0xc8], 0
mov edi, dword [ebp + 8]
jne 0x41aa0f
lea esi, [edi + 0xd4]
push str.Host_key_fingerprint_is:
push dword [esi]
call fcn.00437ff7
push dword [ebx + 0x64]
push dword [esi]
call fcn.00437ff7
add esp, 0x10
push dword [ebx + 0x64]
call fcn.00409f9a
push dword [ebx + 0x60]
call fcn.00409f9a
push dword [ebx + 0x70]
mov eax, dword [edi + 0x94]
call dword [eax + 4]
add esp, 0xc
cmp dword [ebx + 0xc8], 0
jne 0x41aa84
push 0x20
lea eax, [ebx + 0x74]
push eax
lea eax, [edi + 0x98]
push eax
call fcn.00445380
mov eax, dword [edi + 0x90]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0xc]
add esp, 0xc
cmp eax, 0x20
mov dword [edi + 0xb8], eax
jbe 0x41aa7a
push 0x165f
push str..._ssh.c
push str.ssh__v2_session_id_len___sizeof_ssh__v2_session_id_
call fcn.00444ae0
add esp, 0xc
mov dword [ebx + 0xc8], 1
push 0x15
call fcn.0040ff69
push eax
push edi
mov dword [ebx + 0xd0], eax
call fcn.0041aee4
mov eax, dword [edi + 0x68]
and dword [edi + 0x2c50], 0
add esp, 0xc
test eax, eax
je 0x41aab1
mov ecx, dword [edi + 0x60]
push eax
call dword [ecx + 4]
pop ecx
mov eax, dword [ebx + 0x40]
mov dword [edi + 0x60], eax
call dword [eax]
mov dword [edi + 0x68], eax
mov eax, dword [edi + 0x78]
test eax, eax
je 0x41aacb
mov ecx, dword [edi + 0x70]
push eax
call dword [ecx + 4]
pop ecx
mov eax, dword [ebx + 0x48]
mov dword [edi + 0x70], eax
call dword [eax]
mov dword [edi + 0x78], eax
mov eax, dword [edi + 0x88]
test eax, eax
je 0x41aaeb
mov ecx, dword [edi + 0x80]
push eax
call dword [ecx + 8]
pop ecx
mov eax, dword [ebx + 0x50]
mov dword [edi + 0x80], eax
call dword [eax + 4]
mov dword [edi + 0x88], eax
mov eax, dword [edi + 0x90]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0xc]
shl eax, 1
cmp eax, 0x40
jbe 0x41ab27
push 0x1683
push str..._ssh.c
push str.sizeof_keyspace____ssh__kex__hash__hlen__SSH2_MKKEY_ITERS
call fcn.00444ae0
add esp, 0xc
lea eax, [ebp - 0x54]
push eax
push 0x43
lea esi, [ebx + 0x74]
push esi
push dword [ebx + 0x24]
call fcn.0041123e
mov eax, dword [edi + 0x60]
mov eax, dword [eax + 0x20]
add esp, 0x10
add eax, 7
push 8
cdq
pop ecx
idiv ecx
mov ecx, dword [edi + 0x90]
mov ecx, dword [ecx + 0x18]
mov ecx, dword [ecx + 0xc]
shl ecx, 1
cmp eax, ecx
jle 0x41ab74
push 0x1686
push str..._ssh.c
push str._ssh__cscipher__keylen7____8___ssh__kex__hash__hlen__SSH2_MKKEY_ITERS
call fcn.00444ae0
add esp, 0xc
mov eax, dword [edi + 0x60]
lea ecx, [ebp - 0x54]
push ecx
push dword [edi + 0x68]
call dword [eax + 0xc]
lea eax, [ebp - 0x54]
push eax
push 0x41
push esi
push dword [ebx + 0x24]
call fcn.0041123e
mov eax, dword [edi + 0x90]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0xc]
mov ecx, dword [edi + 0x60]
shl eax, 1
add esp, 0x18
cmp dword [ecx + 0x1c], eax
jle 0x41abc0
push 0x168a
push str..._ssh.c
push str.ssh__cscipher__blksize___ssh__kex__hash__hlen__SSH2_MKKEY_ITERS
call fcn.00444ae0
add esp, 0xc
mov eax, dword [edi + 0x60]
lea ecx, [ebp - 0x54]
push ecx
push dword [edi + 0x68]
call dword [eax + 8]
lea eax, [ebp - 0x54]
push eax
push 0x45
push esi
push dword [ebx + 0x24]
call fcn.0041123e
mov eax, dword [edi + 0x90]
mov eax, dword [eax + 0x18]
mov eax, dword [eax + 0xc]
mov ecx, dword [edi + 0x70]
shl eax, 1
add esp, 0x18
cmp dword [ecx + 0x18], eax
jle 0x41ac0c
push 0x168e
push str..._ssh.c
push str.ssh__csmac__len___ssh__kex__hash__hlen__SSH2_MKKEY_ITERS
call fcn.00444ae0
add esp, 0xc
mov eax, dword [edi + 0x70]
lea ecx, [ebp - 0x54]
push ecx
push dword [edi + 0x78]
call dword [eax + 8]
push 0x40
lea eax, [ebp - 0x54]
push 0
push eax
call fcn.00444660
mov eax, dword [edi + 0x60]
push dword [eax + 0x28]
push str.Initialised__.200s_client__server_encryption
push edi
call fcn.0040f8f2
mov eax, dword [edi + 0x70]
push dword [eax + 0x1c]
push str.Initialised__.200s_client__server_MAC_algorithm
push edi
call fcn.0040f8f2
mov eax, dword [edi + 0x80]
mov eax, dword [eax + 0x20]
add esp, 0x2c
test eax, eax
je 0x41ac67
push eax
push str.Initialised__s_compression
push edi
call fcn.0040f8f2
add esp, 0xc
mov esi, dword [ebp + 8]
and dword [esi + 0x120], 0
call fcn.00412ce5
mov dword [esi + 0x178], 0x16a5
jmp 0x419a58
push str.Servers_host_key_did_not_match_the_signature_supplied
call fcn.0040a30f
push 0
mov esi, ebx
mov edi, eax
call fcn.00410a17
push edi
push dword [ebx + 0xd4]
call fcn.00437ff7
push edi
push 0x4561e8
push dword [ebx + 0xd4]
call fcn.00438961
push edi
call fcn.00409f9a
add esp, 0x20
mov esi, dword [ebp + 8]
xor eax, eax
xor edi, edi
mov dword [esi + 0x178], edi
pop edi
pop esi
pop ebx
leave
ret