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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x44
mov eax, dword [0x42b238]
mov esi, ecx
mov edi, edx
mov dword [esp + 0x40], eax
mov ebp, dword [esi + 0x1cc]
test ebp, ebp
jne 0x44b11a
push 0x74c
push 1
call fcn.0043f807
add esp, 8
mov dword [esi + 0x1cc], eax
mov dword [eax], 0
mov ebp, dword [esi + 0x1cc]
mov dword [esp], esi
cmp dword [esi + 0xec], 0
je 0x44b13d
push 0x18f9
push str..._ssh.c
push 0x40c530
call fcn.004a509d
add esp, 0xc
mov eax, dword [esp]
cmp dword [eax + 0x198], 2
je 0x44b160
push 0x18fa
push str..._ssh.c
push str.ssh__version__2
call fcn.004a509d
add esp, 0xc
mov ecx, dword [ebp]
mov ebx, dword [esp + 0x5c]
mov eax, dword [esp + 0x58]
mov dword [esp + 8], ebp
cmp ecx, 0x1b72
jle 0x44b260
cmp ecx, 0x1c84
jg 0x44b2a1
cmp ecx, 0x1beb
jg 0x44b30c
cmp ecx, 0x1b73
je 0x44b798
cmp ecx, 0x1b96
jne 0x44d96d
test ebx, ebx
je 0x44cc74
mov eax, dword [ebx + 8]
cmp eax, dword [ebp + 0x3c]
jne 0x44c5f6
push 2
mov esi, dword [esp + 4]
push dword [esi + 0x110]
call fcn.00489d5f
add esp, 8
lea eax, [ebp + 0x7c]
lea edx, [ebp + 0x68]
mov ecx, ebx
push eax
call fcn.0044dc49
add esp, 4
mov eax, dword [ebp + 0x68]
test eax, eax
je 0x44caf1
mov ecx, dword [esi + 0x9c]
push dword [ebp + 0x7c]
push eax
push ecx
call dword [ecx]
add esp, 0xc
mov ecx, ebx
mov dword [ebp + 0x88], eax
call fcn.0044e1f4
test eax, eax
mov dword [ebp + 0x28], eax
je 0x44cd1a
mov eax, ebp
lea edx, [ebp + 0x6c]
mov ecx, ebx
sub eax, 0xffffff80
push eax
call fcn.0044dc49
add esp, 4
cmp dword [ebp + 0x6c], 0
je 0x44ce16
push dword [ebp + 0x28]
push dword [esi + 0xe8]
call fcn.00461760
add esp, 8
test eax, eax
je 0x44ce51
push eax
push str.key_exchange_reply_failed_validation:__s
call fcn.0043f758
add esp, 8
jmp 0x44ce23
cmp ecx, 0x1afe
jle 0x44b2d7
mov edi, dword [esp]
cmp ecx, 0x1b30
jg 0x44b653
cmp ecx, 0x1aff
je 0x44b7f7
cmp ecx, 0x1b18
jne 0x44d96d
test ebx, ebx
je 0x44c551
push str.Unexpected_data_from_server_while_waiting_for_user_response
jmp 0x44d884
cmp ecx, 0x1d7d
jg 0x44b750
cmp ecx, 0x1c85
je 0x44b809
cmp ecx, 0x1ced
jne 0x44d96d
test ebx, ebx
je 0x44c568
push str.Unexpected_data_from_server_while_waiting_for_user_host_key_response
jmp 0x44d884
mov edi, dword [esp]
test ecx, ecx
je 0x44b85b
cmp ecx, 0x1a26
je 0x44bf56
cmp ecx, 0x1abc
jne 0x44d96d
test ebx, ebx
je 0x44c57f
push str.Unexpected_data_from_server_while_waiting_for_user_response
jmp 0x44d884
cmp ecx, 0x1bec
je 0x44bfed
cmp ecx, 0x1c2a
jne 0x44d96d
test ebx, ebx
je 0x44c7b1
cmp dword [ebx + 8], 0x1e
jne 0x44c600
lea eax, [ebp + 0x7c]
lea edx, [ebp + 0x68]
mov ecx, ebx
push eax
call fcn.0044dc49
add esp, 4
mov esi, dword [ebp + 0x68]
mov edi, dword [esp]
test esi, esi
je 0x44cafb
mov eax, dword [esp]
mov ebx, dword [ebp + 0x7c]
lea ecx, [esp + 0x3c]
mov edi, dword [eax + 0xc]
mov eax, dword [esp]
mov eax, dword [eax + 0x98]
mov ebp, dword [eax + 0xc]
mov eax, ebx
shr eax, 0x18
mov byte [ecx], al
mov eax, ebx
shr eax, 0x10
mov byte [ecx + 1], al
mov byte [ecx + 2], bh
mov byte [ecx + 3], bl
push 4
push ecx
push edi
call dword [ebp + 8]
add esp, 0xc
push ebx
push esi
push edi
mov edi, dword [esp + 0xc]
call dword [ebp + 8]
mov ebp, dword [esp + 0x14]
add esp, 0xc
mov eax, dword [edi + 0x9c]
push dword [ebp + 0x7c]
push dword [ebp + 0x68]
push eax
call dword [eax]
add esp, 0xc
mov ecx, dword [esp + 0x5c]
mov dword [ebp + 0x88], eax
lea ebx, [esp + 0x3c]
lea eax, [ebp + 0x84]
mov edx, ebx
push eax
call fcn.0044dc49
add esp, 4
mov esi, dword [ebx]
test esi, esi
je 0x44cd24
push 1
push dword [ebp + 0x84]
call fcn.0043f807
add esp, 8
mov dword [ebp + 0x70], eax
push dword [ebp + 0x84]
push esi
push eax
call fcn.0049a1f0
add esp, 0xc
push dword [ebp + 0x84]
push dword [ebp + 0x70]
call fcn.0046b4ef
add esp, 8
test eax, eax
mov dword [ebp + 0x8c], eax
je 0x44ce2a
mov eax, dword [ebp + 0x70]
mov ecx, ebx
mov dword [esp + 4], eax
mov ebx, dword [ebp + 0x84]
mov eax, dword [edi + 0x98]
mov esi, dword [edi + 0xc]
mov ebp, dword [eax + 0xc]
mov eax, ebx
shr eax, 0x18
mov byte [esp + 0x3c], al
mov eax, ebx
shr eax, 0x10
mov byte [esp + 0x3d], al
mov byte [esp + 0x3e], bh
mov byte [esp + 0x3f], bl
push 4
push ecx
push esi
call dword [ebp + 8]
add esp, 0xc
push ebx
push dword [esp + 8]
push esi
call dword [ebp + 8]
add esp, 0xc
mov esi, dword [esp + 8]
push dword [esi + 0x8c]
call fcn.0046b516
add esp, 4
mov ecx, dword [edi + 0x98]
mov ebp, eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x14]
mov dword [esp + 0xc], eax
shl ecx, 4
sub ebp, ecx
neg ecx
add ebp, 0xffffffcf
lea eax, [eax + ecx - 0x32]
push eax
call fcn.0045b936
add esp, 4
test ebp, ebp
mov dword [esi + 0x2c], eax
jle 0x44b4e2
xor esi, esi
xor ebx, ebx
mov ecx, ebx
and ecx, 7
jne 0x44b4be
mov esi, ecx
call fcn.00469c4e
mov ecx, esi
mov esi, eax
mov eax, esi
shr eax, cl
and eax, 1
push eax
push ebx
mov eax, dword [esp + 0x10]
push dword [eax + 0x2c]
call fcn.0045b9c6
add esp, 0xc
inc ebx
cmp ebp, ebx
jne 0x44b4ac
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x2c]
lea ebx, [esp + 0x30]
mov ecx, eax
mov edx, ebx
call fcn.0044e2b0
mov ebx, dword [ebx]
xor ebp, ebp
mov esi, eax
inc ebp
mov dword [esp + 0x10], esi
lea eax, [ebx + 4]
mov dword [esp + 0x14], eax
push ebp
push eax
call fcn.0043f807
add esp, 8
mov ecx, ebx
mov dword [esp + 4], eax
shr ecx, 0x18
mov byte [eax], cl
mov ecx, ebx
shr ecx, 0x10
mov byte [eax + 1], cl
mov byte [eax + 2], bh
mov byte [eax + 3], bl
lea ecx, [eax + 4]
push ebx
push esi
push ecx
call fcn.0049a1f0
add esp, 0xc
mov ecx, dword [esp + 0xc]
lea eax, [ecx + 7]
sar eax, 0x1f
shr eax, 0x1d
lea edi, [ecx + eax + 7]
sar edi, 3
push ebp
push edi
call fcn.0043f807
add esp, 8
mov ebp, dword [esp]
mov dword [esp + 0xc], eax
mov esi, dword [esp + 8]
mov ecx, dword [ebp + 0x98]
push dword [esi + 0x8c]
push edi
push eax
push dword [esp + 0x20]
push dword [esp + 0x14]
push dword [ecx + 0xc]
call fcn.0046b526
add esp, 0x18
mov ecx, 0x1f
call fcn.00448c44
mov ebx, eax
mov dword [esi + 0x13c], ebx
mov ecx, ebx
mov edx, dword [ebx]
add edx, 4
mov dword [ebx], edx
call fcn.0044dbe6
mov eax, dword [ebx]
mov ecx, dword [ebx + 0x10]
mov dword [ecx + eax - 4], 0
mov eax, dword [ebx]
mov dword [ebx + 0x18], eax
mov ecx, dword [esi + 0x13c]
mov edx, dword [esp + 0xc]
push edi
call fcn.0044a58f
add esp, 4
mov edx, dword [esi + 0x13c]
mov ecx, ebp
call fcn.0044a75f
mov eax, dword [ebp + 0x98]
mov ecx, edi
mov edx, dword [ebp + 0xc]
mov esi, ecx
mov ebx, dword [eax + 0xc]
mov eax, ecx
shr eax, 0x18
mov byte [esp + 0x3c], al
mov eax, ecx
shr eax, 0x10
mov byte [esp + 0x3d], al
mov eax, 4
mov byte [esp + 0x3e], ch
mov byte [esp + 0x3f], cl
push eax
lea eax, [esp + 0x40]
push eax
mov edi, edx
push edi
call dword [ebx + 8]
add esp, 0xc
push esi
mov esi, dword [esp + 0x10]
push esi
push edi
call dword [ebx + 8]
add esp, 0xc
push dword [esp + 4]
call fcn.0043f9d4
add esp, 4
push dword [esp + 0x10]
call fcn.0043f9d4
add esp, 4
push esi
call fcn.0043f9d4
add esp, 4
mov esi, dword [esp + 8]
push dword [esi + 0x8c]
call fcn.0046b505
add esp, 4
mov ebp, esi
jmp 0x44c545
cmp ecx, 0x1b31
je 0x44c1b0
cmp ecx, 0x1b43
jne 0x44d96d
test ebx, ebx
je 0x44cae5
mov edi, dword [esp]
mov eax, dword [edi + 0x98]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x44c64b
mov edx, dword [eax + 0xc]
cmp ecx, 2
mov esi, dword [edx + 0x18]
jne 0x44c798
push eax
call fcn.00464da1
add esp, 4
push esi
push eax
push str.Doing_ECDH_key_exchange_with_curve__s_and_hash__s
push edi
call fcn.00447e12
add esp, 0x10
mov dword [edi + 0x184], 3
push dword [edi + 0x98]
call fcn.00464dae
add esp, 4
test eax, eax
mov dword [ebp + 0x90], eax
je 0x44cc80
lea ecx, [esp + 0x3c]
push ecx
push eax
call fcn.00464eb4
add esp, 8
mov esi, eax
test esi, esi
je 0x44cdfe
mov ecx, 0x1e
call fcn.00448c44
mov ebx, edi
mov edi, eax
mov dword [ebp + 0x13c], edi
mov ecx, edi
mov edx, dword [edi]
add edx, 4
mov dword [edi], edx
call fcn.0044dbe6
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov edx, esi
mov dword [ecx + eax - 4], 0
mov eax, dword [edi]
mov dword [edi + 0x18], eax
mov ecx, dword [ebp + 0x13c]
push dword [esp + 0x3c]
call fcn.0044a58f
add esp, 4
push esi
call fcn.0043f9d4
add esp, 4
mov edx, dword [ebp + 0x13c]
mov ecx, ebx
call fcn.0044a75f
jmp 0x44c539
cmp ecx, 0x1d7e
je 0x44c1c2
cmp ecx, 0x1dfd
jne 0x44d96d
test ebx, ebx
je 0x44c596
lea esi, [ebx + 8]
cmp dword [esi], 0x14
jne 0x44c59e
push str.Server_initiated_key_re_exchange
mov edi, dword [esp + 4]
push dword [edi + 0x110]
call fcn.004842ab
add esp, 8
jmp 0x44b8a9
test ebx, ebx
je 0x44ccee
cmp dword [ebx + 8], 0x1f
jne 0x44c60a
mov ecx, ebx
call fcn.0044e1f4
mov ecx, ebx
mov dword [ebp + 0x1c], eax
call fcn.0044e1f4
mov dword [ebp + 0x20], eax
test eax, eax
mov edi, dword [esp]
je 0x44c7bd
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
je 0x44c7bd
push eax
push ecx
call fcn.0046157b
add esp, 8
mov dword [edi + 0xe8], eax
mov dword [ebp + 0x38], 0x20
mov dword [ebp + 0x3c], 0x21
jmp 0x44cbbd
test ebx, ebx
je 0x44c5ce
push str.Unexpected_data_from_server_while_waiting_for_user_response
jmp 0x44d95c
mov edi, dword [esp]
test ebx, ebx
je 0x44c545
cmp dword [ebx + 8], 0x20
jne 0x44c614
mov eax, ebp
lea edx, [ebp + 0x6c]
mov ecx, ebx
sub eax, 0xffffff80
push eax
call fcn.0044dc49
add esp, 4
cmp dword [ebp + 0x6c], 0
je 0x44cb05
push dword [ebp + 0x70]
call fcn.0043f9d4
add esp, 4
lea eax, [ebp + 0x2c]
lea ebx, [edi + 0xc]
mov dword [esp + 0xc], eax
lea eax, [edi + 0x98]
jmp 0x44d01e
xor eax, eax
mov ecx, 0x40bf5c
mov edx, 0x40bf50
mov esi, 4
mov dword [ebp + 0x64], eax
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x48], eax
mov dword [ebp + 0x54], eax
mov dword [ebp + 0x50], eax
mov dword [ebp + 0x130], eax
mov dword [ebp + 0x12c], eax
mov dword [ebp + 0x138], eax
mov dword [ebp + 0x134], eax
mov eax, dword [edi + 0x50]
and eax, 2
cmove edx, ecx
shr eax, 1
sub esi, eax
mov dword [ebp + 0x40], edx
mov dword [ebp + 0x44], esi
xor esi, esi
mov dword [edi + 0x184], esi
mov dword [ebp + 0xd4], esi
push esi
push 0x18
push dword [edi + 0x248]
call fcn.004319e9
add esp, 0xc
cmp eax, 5
ja case.default.0x44b8d1
jmp dword [eax*4 + 0x41013c]
cmp esi, 4
jg case.default.0x44b8d1
mov eax, dword [ebp + 0xd4]
lea ecx, [eax + 1]
mov dword [ebp + 0xd4], ecx
mov dword [ebp + eax*4 + 0xd8], 0
jmp case.default.0x44b8d1
mov eax, dword [ebp + 0xd4]
lea ecx, [eax + 1]
mov dword [ebp + 0xd4], ecx
mov dword [ebp + eax*4 + 0xd8], 0x414d3c
jmp case.default.0x44b8d1
mov eax, dword [ebp + 0xd4]
lea ecx, [eax + 1]
mov dword [ebp + 0xd4], ecx
mov dword [ebp + eax*4 + 0xd8], 0x414d48
jmp case.default.0x44b8d1
mov eax, dword [ebp + 0xd4]
lea ecx, [eax + 1]
mov dword [ebp + 0xd4], ecx
mov dword [ebp + eax*4 + 0xd8], 0x414d58
jmp case.default.0x44b8d1
mov eax, dword [ebp + 0xd4]
lea ecx, [eax + 1]
mov dword [ebp + 0xd4], ecx
mov dword [ebp + eax*4 + 0xd8], 0x416180
jmp case.default.0x44b8d1
mov eax, dword [ebp + 0xd4]
lea ecx, [eax + 1]
mov dword [ebp + 0xd4], ecx
mov dword [ebp + eax*4 + 0xd8], 0x41526c
inc esi
cmp esi, 6
jne 0x44b8b7
xor esi, esi
mov dword [ebp + 0xf0], 0
push esi
push 0x19
push dword [edi + 0x248]
call fcn.004319e9
add esp, 0xc
cmp esi, 4
jne 0x44b9ba
test eax, eax
je 0x44b9d0
mov ecx, dword [ebp + 0xf0]
lea edx, [ecx + 1]
mov dword [ebp + 0xf0], edx
mov dword [ebp + ecx*4 + 0xf4], eax
inc esi
cmp esi, 5
jne 0x44b9a0
mov dword [ebp + 0x108], 0
xor esi, esi
mov eax, dword [edi + 0x248]
push esi
push 0x1f
push eax
call fcn.004319e9
add esp, 0xc
cmp eax, 6
ja case.default.0x44b9fd
jmp dword [eax*4 + 0x410154]
cmp esi, 5
jg case.default.0x44b9fd
mov eax, dword [ebp + 0x108]
lea ecx, [eax + 1]
mov dword [ebp + 0x108], ecx
mov dword [ebp + eax*4 + 0x10c], 0
jmp case.default.0x44b9fd
mov eax, dword [ebp + 0x108]
lea ecx, [eax + 1]
mov dword [ebp + 0x108], ecx
mov dword [ebp + eax*4 + 0x10c], 0x414150
jmp case.default.0x44b9fd
mov eax, dword [ebp + 0x108]
lea ecx, [eax + 1]
mov dword [ebp + 0x108], ecx
mov dword [ebp + eax*4 + 0x10c], 0x4138a4
jmp case.default.0x44b9fd
mov eax, dword [ebp + 0x108]
lea ecx, [eax + 1]
mov dword [ebp + 0x108], ecx
mov dword [ebp + eax*4 + 0x10c], 0x410220
jmp case.default.0x44b9fd
push 0x22
push dword [edi + 0x248]
call fcn.0043194f
add esp, 8
test eax, eax
je case.default.0x44b9fd
mov eax, dword [ebp + 0x108]
lea ecx, [eax + 1]
mov dword [ebp + 0x108], ecx
mov dword [ebp + eax*4 + 0x10c], 0x414160
jmp case.default.0x44b9fd
mov eax, dword [ebp + 0x108]
lea ecx, [eax + 1]
mov dword [ebp + 0x108], ecx
mov dword [ebp + eax*4 + 0x10c], 0x4127a4
jmp case.default.0x44b9fd
mov eax, dword [ebp + 0x108]
lea ecx, [eax + 1]
mov dword [ebp + 0x108], ecx
mov dword [ebp + eax*4 + 0x10c], 0x413bf4
mov eax, dword [edi + 0x248]
inc esi
cmp esi, 7
jne 0x44b9e8
push 0x17
push eax
call fcn.0043194f
add esp, 8
test eax, eax
mov eax, 0x417308
mov ecx, 0x40bf6c
cmovne ecx, eax
xor eax, eax
inc eax
mov dword [ebp + 0x128], ecx
xor ecx, ecx
mov dword [edi + 0x164], eax
mov dword [edi + 0x694], eax
lea eax, [ebp + 0x14c]
xor edx, edx
mov dword [eax + edx], 0
add edx, 0xc
cmp edx, 0xc0
jne 0x44bb35
inc ecx
add eax, 0xc0
cmp ecx, 8
jne 0x44bb33
mov dword [esp + 0x14], ebx
mov eax, dword [ebp + 0xd4]
test eax, eax
jle 0x44bbc0
mov ecx, dword [esp + 8]
xor edx, edx
xor ebp, ebp
lea edi, [ecx + 0x14c]
mov ecx, dword [esp + 8]
mov ebx, dword [ecx + edx*4 + 0xd8]
test ebx, ebx
je 0x44bbb8
cmp dword [ebx], 0
jle 0x44bbbb
xor esi, esi
mov dword [esp + 4], edx
mov eax, dword [ebx + 4]
mov ecx, edi
mov eax, dword [eax + esi*4]
mov edx, dword [eax]
call fcn.0044e093
mov ecx, dword [ebx + 4]
mov ecx, dword [ecx + esi*4]
inc esi
mov dword [eax + 4], ecx
mov dword [eax + 8], ebp
cmp esi, dword [ebx]
jl 0x44bb88
mov eax, dword [esp + 8]
mov edx, dword [esp + 4]
mov eax, dword [eax + 0xd4]
jmp 0x44bbbb
xor ebp, ebp
inc ebp
inc edx
cmp edx, eax
jl 0x44bb6e
mov ebp, dword [esp + 8]
cmp dword [ebp + 0x134], 0
je 0x44c423
mov esi, dword [esp]
cmp dword [esi + 0x98], 0
jne 0x44bbf4
push 0x19bf
push str..._ssh.c
push str.ssh__kex
call fcn.004a509d
add esp, 0xc
mov eax, dword [esi + 0x9c]
lea ecx, [ebp + 0x20c]
mov edx, dword [eax + 0x30]
call fcn.0044e093
mov ecx, dword [esi + 0x9c]
mov dword [eax + 4], ecx
mov dword [eax + 8], 0
mov dword [esp + 0xc], 2
mov eax, dword [ebp + 0x108]
test eax, eax
jle 0x44bc8e
mov ecx, dword [esp + 0xc]
xor ebx, ebx
lea ecx, [ecx + ecx*2]
shl ecx, 6
lea edi, [ebp + ecx + 0x14c]
xor ecx, ecx
mov esi, dword [ebp + ecx*4 + 0x10c]
test esi, esi
je 0x44bc86
cmp dword [esi], 0
jle 0x44bc89
xor ebp, ebp
mov dword [esp + 4], ecx
mov eax, dword [esi + 4]
mov ecx, edi
mov eax, dword [eax + ebp*4]
mov edx, dword [eax + 0x20]
call fcn.0044e093
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + ebp*4]
inc ebp
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
cmp ebp, dword [esi]
jl 0x44bc55
mov ebp, dword [esp + 8]
mov ecx, dword [esp + 4]
mov eax, dword [ebp + 0x108]
jmp 0x44bc89
xor ebx, ebx
inc ebx
inc ecx
cmp ecx, eax
jl 0x44bc3f
mov eax, dword [esp + 0xc]
mov ecx, eax
inc ecx
mov eax, ecx
cmp ecx, 4
mov dword [esp + 0xc], eax
jne 0x44bc20
mov eax, dword [ebp + 0x44]
mov esi, 4
test eax, eax
jle 0x44bd15
lea eax, [esi + esi*2]
xor ebx, ebx
shl eax, 6
lea edi, [ebp + eax + 0x14c]
mov eax, dword [ebp + 0x40]
mov ecx, edi
mov eax, dword [eax + ebx*4]
mov edx, dword [eax + 0x24]
call fcn.0044e093
mov ecx, dword [ebp + 0x40]
mov ecx, dword [ecx + ebx*4]
inc ebx
mov dword [eax + 4], ecx
mov dword [eax + 8], 0
mov eax, dword [ebp + 0x44]
cmp ebx, eax
jl 0x44bcbb
test eax, eax
jle 0x44bd15
xor ebx, ebx
mov ecx, dword [ebp + 0x40]
mov ecx, dword [ecx + ebx*4]
mov edx, dword [ecx + 0x28]
test edx, edx
je 0x44bd10
mov ecx, edi
call fcn.0044e093
mov ecx, dword [ebp + 0x40]
mov ecx, dword [ecx + ebx*4]
mov dword [eax + 4], ecx
mov dword [eax + 8], 1
mov eax, dword [ebp + 0x44]
inc ebx
cmp ebx, eax
jl 0x44bce9
inc esi
cmp esi, 6
jne 0x44bca8
mov esi, 6
mov eax, dword [ebp + 0x128]
mov edx, dword [eax]
lea eax, [esi + esi*2]
shl eax, 6
lea edi, [ebp + eax + 0x14c]
mov ecx, edi
call fcn.0044e093
mov ecx, dword [ebp + 0x128]
mov dword [eax + 4], ecx
cmp dword [ebp + 0x12c], 0
je 0x44bd6b
mov eax, dword [ebp + 0x128]
mov edx, dword [eax + 4]
test edx, edx
je 0x44bd6b
mov ecx, edi
call fcn.0044e093
mov ecx, dword [ebp + 0x128]
mov dword [eax + 4], ecx
mov ebx, 0xfffffff8
mov ebp, dword [ebx + 0x40bfcc]
mov ecx, edi
mov edx, dword [ebp]
call fcn.0044e093
mov dword [eax + 4], ebp
mov eax, dword [esp + 8]
cmp dword [eax + 0x12c], 0
je 0x44bda1
mov edx, dword [ebp + 4]
test edx, edx
je 0x44bda1
mov ecx, edi
call fcn.0044e093
mov dword [eax + 4], ebp
add ebx, 4
jne 0x44bd70
mov ebp, dword [esp + 8]
inc esi
cmp esi, 8
jne 0x44bd20
mov ecx, 0x14
call fcn.00448c44
mov esi, 0x10
mov dword [ebp + 0x13c], eax
call fcn.00469c4e
mov edi, dword [ebp + 0x13c]
mov ebx, eax
mov edx, dword [edi]
mov ecx, edi
inc edx
mov dword [edi], edx
call fcn.0044dbe6
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
dec esi
mov byte [ecx + eax - 1], bl
jne 0x44bdc9
mov edi, dword [ebp + 0x13c]
mov edx, dword [edi]
mov ecx, edi
add edx, 4
mov dword [edi], edx
call fcn.0044dbe6
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
xor esi, esi
mov dword [ecx + eax - 4], 0
mov eax, dword [edi]
mov dword [edi + 0x18], eax
lea eax, [ebp + 0x14c]
xor ebx, ebx
mov dword [esp + 0xc], esi
mov esi, eax
mov dword [esp + 4], eax
dec ebx
mov edi, dword [esi]
test edi, edi
je 0x44be71
mov ebp, dword [ebp + 0x13c]
mov eax, dword [ebp]
cmp eax, dword [ebp + 0x18]
jle 0x44be4e
mov edx, 0x40ac60
mov ecx, ebp
push 1
call fcn.0044a58f
add esp, 4
push edi
call fcn.004a7f30
add esp, 4
mov ecx, ebp
mov edx, edi
push eax
call fcn.0044a58f
add esp, 4
mov ebp, dword [esp + 8]
inc ebx
add esi, 0xc
cmp ebx, 0xf
jl 0x44be29
mov edi, dword [ebp + 0x13c]
mov esi, dword [esp + 0xc]
mov edx, dword [edi]
mov ecx, edi
inc esi
add edx, 4
mov dword [edi], edx
call fcn.0044dbe6
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov dword [ecx + eax - 4], 0
mov eax, dword [edi]
mov dword [edi + 0x18], eax
mov eax, dword [esp + 4]
add eax, 0xc0
cmp esi, 8
jne 0x44be1c
mov edi, dword [ebp + 0x13c]
mov edx, dword [edi]
mov ecx, edi
add edx, 4
mov dword [edi], edx
call fcn.0044dbe6
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
xor esi, esi
mov dword [ecx + eax - 4], esi
mov eax, dword [edi]
mov dword [edi + 0x18], eax
mov edi, dword [ebp + 0x13c]
mov edx, dword [edi]
mov ecx, edi
inc edx
mov dword [edi], edx
call fcn.0044dbe6
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov byte [ecx + eax - 1], 0
mov edi, dword [ebp + 0x13c]
mov edx, dword [edi]
mov ecx, edi
add edx, 4
mov dword [edi], edx
call fcn.0044dbe6
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov dword [ecx + eax - 4], esi
mov eax, dword [ebp + 0x13c]
mov eax, dword [eax]
add eax, 0xfffffffb
xor ecx, ecx
inc ecx
mov dword [ebp + 0x34], eax
push ecx
push eax
call fcn.0043f807
add esp, 8
mov dword [ebp + 0x30], eax
mov ecx, dword [ebp + 0x13c]
mov ecx, dword [ecx + 0x10]
add ecx, 5
push dword [ebp + 0x34]
push ecx
push eax
call fcn.0049a1f0
add esp, 0xc
mov edi, dword [esp]
mov edx, dword [ebp + 0x13c]
mov ecx, edi
call fcn.0044a75f
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x44c40d
cmp dword [ebx + 8], 0x14
jne 0x44c419
xor ecx, ecx
mov eax, 0x10
lea esi, [esp + 0x34]
mov dword [edi + 0x98], ecx
mov dword [edi + 0x9c], ecx
mov dword [ebp + 0x60], ecx
mov dword [ebp + 0x64], ecx
mov dword [ebp + 0x10], ecx
mov dword [ebp + 0xc], ecx
mov dword [ebp + 0x18], ecx
mov dword [ebp + 0x14], ecx
mov dword [ebp + 0x4c], ecx
mov dword [ebp + 0x48], ecx
mov dword [ebp + 0x54], ecx
mov dword [ebp + 0x50], ecx
add dword [ebx + 0x18], eax
lea edi, [esp + 0x38]
mov dword [ebp + 0x144], ecx
mov ecx, ebx
mov edx, edi
push esi
call fcn.0044dc49
add esp, 4
mov eax, dword [edi]
xor edi, edi
test eax, eax
mov dword [esp + 4], eax
je 0x44d87f
lea eax, [ebp + 0x48]
lea edx, [ebp + 0x10]
lea ecx, [ebp + 0xc]
mov dword [esp + 0x10], 0x154
mov dword [esp + 0x14], ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], ecx
jmp 0x44d61a
test ebx, ebx
je 0x44c539
cmp dword [ebx + 8], 0x1f
jne 0x44c629
lea eax, [ebp + 0x7c]
lea edx, [ebp + 0x68]
mov ecx, ebx
push eax
call fcn.0044dc49
add esp, 4
mov edi, dword [ebp + 0x68]
test edi, edi
je 0x44cb0f
mov esi, dword [esp]
mov ebx, dword [ebp + 0x7c]
lea ecx, [esp + 0x3c]
mov edx, dword [esi + 0xc]
mov dword [esp + 4], edx
mov eax, dword [esi + 0x98]
mov ebp, dword [eax + 0xc]
mov eax, ebx
shr eax, 0x18
mov byte [ecx], al
mov eax, ebx
shr eax, 0x10
mov byte [ecx + 1], al
mov byte [ecx + 2], bh
mov byte [ecx + 3], bl
push 4
push ecx
push edx
call dword [ebp + 8]
add esp, 0xc
push ebx
push edi
mov edi, esi
push dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
call dword [ebp + 8]
add esp, 0xc
mov eax, dword [edi + 0x9c]
push dword [ebx + 0x7c]
push dword [ebx + 0x68]
push eax
call dword [eax]
add esp, 0xc
mov dword [ebx + 0x88], eax
lea eax, [esp + 0x30]
push eax
push dword [ebx + 0x90]
call fcn.00464eb4
add esp, 8
mov esi, eax
test esi, esi
je 0x44cd2e
lea eax, [edi + 0xc]
lea ecx, [edi + 0x98]
lea edx, [esp + 0x30]
mov dword [esp + 0x10], eax
mov ebx, dword [edx]
mov ebp, dword [eax]
mov dword [esp + 4], ecx
mov eax, dword [ecx]
mov edi, dword [eax + 0xc]
mov eax, ebx
shr eax, 0x18
mov byte [esp + 0x3c], al
mov eax, ebx
shr eax, 0x10
mov byte [esp + 0x3d], al
mov byte [esp + 0x3e], bh
mov byte [esp + 0x3f], bl
push 4
lea eax, [esp + 0x40]
push eax
push ebp
call dword [edi + 8]
add esp, 0xc
push ebx
push esi
push ebp
call dword [edi + 8]
add esp, 0xc
push esi
call fcn.0043f9d4
add esp, 4
mov ecx, dword [esp + 0x5c]
lea eax, [esp + 0x2c]
lea esi, [esp + 0x30]
mov edx, esi
push eax
call fcn.0044dc49
add esp, 4
mov edi, dword [esi]
test edi, edi
je 0x44ce3f
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x2c]
mov esi, dword [eax]
mov eax, dword [esp + 4]
mov eax, dword [eax]
mov ebp, dword [eax + 0xc]
mov eax, ebx
shr eax, 0x18
mov byte [esp + 0x3c], al
mov eax, ebx
shr eax, 0x10
mov byte [esp + 0x3d], al
mov byte [esp + 0x3e], bh
mov byte [esp + 0x3f], bl
push 4
lea eax, [esp + 0x40]
push eax
push esi
call dword [ebp + 8]
add esp, 0xc
push ebx
push edi
push esi
call dword [ebp + 8]
add esp, 0xc
push ebx
push edi
mov ebp, dword [esp + 0x10]
push dword [ebp + 0x90]
call fcn.00464fab
add esp, 0xc
test eax, eax
mov dword [ebp + 0x2c], eax
je 0x44d5c4
mov ecx, dword [esp + 0x5c]
mov eax, ebp
lea edx, [ebp + 0x6c]
sub eax, 0xffffff80
push eax
call fcn.0044dc49
add esp, 4
cmp dword [ebp + 0x6c], 0
mov edi, dword [esp]
je 0x44d950
lea eax, [ebp + 0x2c]
mov dword [esp + 0xc], eax
push dword [ebp + 0x90]
call fcn.00465199
jmp 0x44d013
test ebx, ebx
je 0x44c5e2
push str.Unexpected_data_from_server_while_waiting_for_user_response
jmp 0x44d95c
mov edi, dword [esp]
test ebx, ebx
je 0x44d40a
cmp dword [ebx + 8], 0x15
jne 0x44c641
mov dword [edi + 0x684], 0
mov eax, dword [edi + 0x6c]
test eax, eax
je 0x44c1f2
mov ecx, dword [edi + 0x64]
push eax
call dword [ecx + 4]
add esp, 4
mov eax, dword [ebp + 0x4c]
test eax, eax
je 0x44c201
mov dword [edi + 0x64], eax
call dword [eax]
mov dword [edi + 0x6c], eax
mov eax, dword [edi + 0x84]
test eax, eax
je 0x44c215
mov ecx, dword [edi + 0x74]
push eax
call dword [ecx + 4]
add esp, 4
mov eax, dword [ebp + 0x54]
test eax, eax
je 0x44c233
mov dword [edi + 0x74], eax
mov ecx, dword [ebp + 0x5c]
mov dword [edi + 0x7c], ecx
push dword [edi + 0x6c]
call dword [eax]
add esp, 4
mov dword [edi + 0x84], eax
mov eax, dword [edi + 0x94]
test eax, eax
je 0x44c24a
mov ecx, dword [edi + 0x8c]
push eax
call dword [ecx + 0x18]
add esp, 4
mov eax, dword [ebp + 0x64]
mov dword [edi + 0x8c], eax
call dword [eax + 0x14]
mov dword [edi + 0x94], eax
mov eax, dword [edi + 0x64]
test eax, eax
je 0x44c300
mov edx, dword [ebp + 0x2c]
lea esi, [ebp + 0x94]
mov ecx, edi
push dword [eax + 0x2c]
push 0x44
push esi
call fcn.0044e34d
add esp, 0xc
mov edi, eax
mov eax, dword [esp]
mov eax, dword [eax + 0x64]
push edi
mov ecx, dword [esp + 4]
push dword [ecx + 0x6c]
call dword [eax + 0xc]
add esp, 8
mov eax, dword [esp]
mov eax, dword [eax + 0x64]
push dword [eax + 0x2c]
push edi
call fcn.0048f5d3
add esp, 8
push edi
call fcn.0043f9d4
add esp, 4
mov eax, dword [esp]
mov edx, dword [ebp + 0x2c]
mov ecx, dword [esp]
mov eax, dword [eax + 0x64]
push dword [eax + 0x24]
push 0x42
push esi
call fcn.0044e34d
add esp, 0xc
mov edi, eax
mov eax, dword [esp]
mov eax, dword [eax + 0x64]
push edi
mov ecx, dword [esp + 4]
push dword [ecx + 0x6c]
call dword [eax + 8]
add esp, 8
mov eax, dword [esp]
mov eax, dword [eax + 0x64]
push dword [eax + 0x24]
push edi
call fcn.0048f5d3
add esp, 8
push edi
mov edi, dword [esp + 4]
call fcn.0043f9d4
add esp, 4
mov eax, dword [edi + 0x74]
test eax, eax
je 0x44c358
mov edx, dword [ebp + 0x2c]
lea esi, [ebp + 0x94]
mov ecx, edi
push dword [eax + 0x30]
push 0x46
push esi
call fcn.0044e34d
add esp, 0xc
mov edi, eax
mov eax, dword [esp]
mov eax, dword [eax + 0x74]
push edi
mov ecx, dword [esp + 4]
push dword [ecx + 0x84]
call dword [eax + 8]
add esp, 8
mov eax, dword [esp]
mov eax, dword [eax + 0x74]
push dword [eax + 0x30]
push edi
call fcn.0048f5d3
add esp, 8
push edi
mov edi, dword [esp + 4]
call fcn.0043f9d4
add esp, 4
mov eax, dword [edi + 0x64]
test eax, eax
je 0x44c370
push dword [eax + 0x34]
push str.Initialised__.200s_server__client_encryption
push edi
call fcn.00447e12
add esp, 0xc
mov eax, dword [edi + 0x74]
test eax, eax
je 0x44c3aa
mov ecx, dword [edi + 0x64]
xor edx, edx
mov esi, 0x402159
cmp dword [ecx + 0x38], edx
mov ecx, str.__required_by_cipher_
cmove ecx, esi
cmp dword [edi + 0x7c], edx
mov edx, str.__in_ETM_mode_
cmove edx, esi
push ecx
push edx
push dword [eax + 0x34]
push str.Initialised__.200s_server__client_MAC_algorithm_s_s
push edi
call fcn.00447e12
add esp, 0x14
mov eax, dword [edi + 0x8c]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x44c3c6
push eax
push str.Initialised__s_decompression
push edi
call fcn.00447e12
add esp, 0xc
push dword [ebp + 0x2c]
call fcn.0045b91a
add esp, 4
push dword [edi + 0x110]
call fcn.00489bb6
add esp, 4
mov eax, dword [edi + 0x6a0]
test eax, eax
je 0x44cb19
push eax
push dword [edi + 0x110]
call fcn.004842ab
add esp, 8
mov dword [edi + 0x6a0], 0
xor ebx, ebx
jmp 0x44b8a9
mov dword [ebp], 0x1a26
jmp 0x44d974
push str.expected_key_exchange_packet_from_server
jmp 0x44d95c
cmp dword [ebp + 0xf0], 0
mov edi, dword [esp]
jle 0x44bc18
lea eax, [ebp + 0x20c]
mov ecx, ebp
xor ebp, ebp
mov dword [esp + 0xc], 0
mov dword [esp + 4], eax
mov eax, dword [ecx + ebp*4 + 0xf4]
mov edx, dword [esp + 0xc]
mov ecx, 1
mov ebx, 4
test eax, eax
cmove edx, ecx
mov dword [esp + 0xc], edx
jmp 0x44c477
mov eax, dword [esp + 8]
add ebx, 8
mov eax, dword [eax + ebp*4 + 0xf4]
cmp dword [ebx + 0x40bf94], eax
jne 0x44c4b6
mov esi, dword [ebx + 0x40bf90]
push dword [esi + 0x34]
push dword [edi + 0xfc]
push dword [edi + 0xf8]
call fcn.00494b22
add esp, 0xc
test eax, eax
je 0x44c4b6
mov edx, dword [esi + 0x30]
mov ecx, dword [esp + 4]
call fcn.0044e093
mov dword [eax + 4], esi
mov ecx, dword [esp + 0xc]
mov dword [eax + 8], ecx
cmp ebx, 0x2c
jne 0x44c469
mov ecx, dword [esp + 8]
inc ebp
mov eax, dword [ecx + 0xf0]
cmp ebp, eax
jl 0x44c449
test eax, eax
mov ebp, ecx
jle 0x44bc18
xor esi, esi
xor ebx, ebx
mov eax, dword [ebp + esi*4 + 0xf4]
mov ecx, 1
mov ebp, 4
test eax, eax
cmove ebx, ecx
jmp 0x44c502
mov eax, dword [esp + 8]
add ebp, 8
mov eax, dword [eax + esi*4 + 0xf4]
cmp dword [ebp + 0x40bf94], eax
jne 0x44c522
mov edi, dword [ebp + 0x40bf90]
mov ecx, dword [esp + 4]
mov edx, dword [edi + 0x30]
call fcn.0044e093
mov dword [eax + 4], edi
mov dword [eax + 8], ebx
cmp ebp, 0x2c
jne 0x44c4f4
mov ebp, dword [esp + 8]
inc esi
cmp esi, dword [ebp + 0xf0]
jl 0x44c4dc
jmp 0x44bc18
mov dword [ebp], 0x1bec
jmp 0x44d974
mov dword [ebp], 0x1c85
jmp 0x44d974
mov edi, dword [esp]
test eax, eax
jle 0x44c7c7
mov dword [ebp], 0x1b18
jmp 0x44d974
mov edi, dword [esp]
test eax, eax
jle 0x44c7d8
mov dword [ebp], 0x1ced
jmp 0x44d974
mov edi, dword [esp]
test eax, eax
jle 0x44c847
mov dword [ebp], 0x1abc
jmp 0x44d974
test eax, eax
js 0x44c93e
mov ecx, dword [esp]
cmp dword [ecx + 0x238], 0
jne 0x44c5c2
xor eax, eax
mov dword [ecx + 0x238], 1
xor edx, edx
push eax
push eax
call fcn.0044e4fe
add esp, 8
mov dword [ebp], 0x1dfd
jmp 0x44d974
test eax, eax
jle 0x44c9a9
mov dword [ebp], 0x1aff
jmp 0x44d974
test eax, eax
jle 0x44caa4
mov dword [ebp], 0x1b31
jmp 0x44d974
push str.expected_key_exchange_reply_packet_from_server
jmp 0x44d884
push str.expected_RSA_public_key_packet_from_server
jmp 0x44d884
push str.expected_key_exchange_group_packet_from_server
jmp 0x44d884
push dword [ebp + 0x70]
call fcn.0043f9d4
add esp, 4
push str.expected_signature_packet_from_server
jmp 0x44d95c
push dword [ebp + 0x90]
call fcn.00465199
add esp, 4
push str.expected_ECDH_reply_packet_from_server
jmp 0x44d884
push str.expected_new_keys_packet_from_server
jmp 0x44d95c
mov edx, dword [ebp + 0x48]
xor eax, eax
mov ecx, 0
test edx, edx
je 0x44c65c
mov ecx, dword [edx + 0x28]
mov edx, dword [ebp + 0x4c]
test edx, edx
je 0x44c666
mov eax, dword [edx + 0x28]
cmp ecx, eax
cmovge eax, ecx
mov dword [ebp + 4], eax
mov ecx, dword [edi + 0x98]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x14]
shl ecx, 3
cmp eax, ecx
cmovle ecx, eax
mov dword [ebp + 4], ecx
push dword [edi + 0x98]
call fcn.00461508
add esp, 4
test eax, eax
je 0x44cb7a
push str.Doing_Diffie_Hellman_group_exchange
push dword [edi + 0x110]
call fcn.004842ab
add esp, 8
mov dword [edi + 0x184], 2
mov eax, dword [ebp + 4]
lea ecx, [eax - 1]
sar ecx, 0x1f
shr ecx, 0x1a
lea ecx, [eax + ecx - 1]
mov eax, 0x200
shr ecx, 6
shl eax, cl
mov ecx, 0x400
cmp eax, 0x3ff
cmovg ecx, eax
mov eax, 0x2000
cmp ecx, 0x2001
cmovl eax, ecx
mov dword [ebp + 8], eax
test byte [edi + 0x51], 0x10
jne 0x44cc8a
mov ecx, 0x22
call fcn.00448c44
lea ecx, [ebp + 0x13c]
mov esi, eax
mov dword [esp + 0xc], ecx
mov dword [ebp + 0x13c], esi
mov ecx, esi
mov edx, dword [esi]
add edx, 4
mov dword [esi], edx
call fcn.0044dbe6
mov eax, dword [esi]
mov ecx, dword [esi + 0x10]
mov dword [ecx + eax - 4], 0x40000
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0x13c]
mov eax, ebx
mov edi, ebx
mov ecx, esi
shr eax, 0x18
shr edi, 0x10
mov dword [esp + 4], eax
mov edx, dword [esi]
add edx, 4
mov dword [esi], edx
call fcn.0044dbe6
mov eax, dword [esi]
mov ecx, dword [esi + 0x10]
mov edx, dword [esp + 4]
mov byte [ecx + eax - 4], dl
mov edx, edi
mov byte [ecx + eax - 3], dl
mov byte [ecx + eax - 2], bh
mov byte [ecx + eax - 1], bl
mov esi, dword [ebp + 0x13c]
mov edx, dword [esi]
mov ecx, esi
add edx, 4
mov dword [esi], edx
call fcn.0044dbe6
mov bh, 0x20
xor edx, edx
mov dword [esp + 4], 0
mov bl, dl
jmp 0x44ccc7
push esi
push str.Doing_RSA_key_exchange_with_hash__s
push edi
call fcn.00447e12
add esp, 0xc
mov dword [edi + 0x184], 4
mov dword [ebp], 0x1c2a
jmp 0x44d974
push str.unable_to_read_mp_ints_from_incoming_group_packet
jmp 0x44d95c
mov eax, dword [edi + 0x25c]
mov dword [ebp + 0x140], eax
jmp 0x44ca2c
mov eax, dword [edi + 0x25c]
mov dword [ebp + 0x140], eax
lea eax, [edi + 0x10]
mov eax, dword [eax]
test eax, eax
je 0x44c7f8
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x18]
add esp, 8
xor esi, esi
mov dword [edi + 0x260], esi
cmp dword [ebp + 0x140], esi
je 0x44cdd6
lea eax, [edi + 0x9c]
lea edx, [ebp + 0x134]
lea ecx, [ebp + 0x78]
lea ebx, [ebp + 0x74]
lea esi, [ebp + 0x88]
mov dword [esp + 4], eax
mov dword [esp + 0xc], edx
push dword [ecx]
call fcn.0043f9d4
add esp, 4
mov eax, dword [ebx]
mov dword [edi + 0xa0], eax
mov ebx, dword [esp + 0xc]
jmp 0x44d17a
mov eax, dword [edi + 0x25c]
mov dword [ebp + 0x140], eax
lea eax, [edi + 0x10]
mov eax, dword [eax]
test eax, eax
je 0x44c867
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x18]
add esp, 8
xor esi, esi
mov dword [edi + 0x260], esi
cmp dword [ebp + 0x140], esi
je 0x44cde3
lea eax, [ebp + 0x10]
cmp dword [eax], 0
je 0x44c9dd
mov eax, dword [edi + 0x10]
test eax, eax
je 0x44c899
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x18]
add esp, 8
mov dword [edi + 0x260], 1
cmp dword [edi + 0x6c8], 0
jle 0x44d8eb
xor ebx, ebx
xor esi, esi
mov edi, dword [edi + ebx*4 + 0x6b0]
xor ebp, ebp
dec ebp
inc ebp
push ebp
push 0x19
mov eax, dword [esp + 8]
push dword [eax + 0x248]
call fcn.004319e9
add esp, 0xc
test eax, eax
je 0x44c8e6
cmp eax, dword [edi*8 + 0x40bf98]
je 0x44c8ec
cmp ebp, 3
jle 0x44c8be
mov ebp, dword [esp + 8]
jmp 0x44c929
mov eax, dword [edi*8 + 0x40bf94]
mov ebp, dword [esp + 8]
test esi, esi
mov eax, dword [eax + 0x30]
je 0x44c91e
push 0
push eax
push 0x40ac60
push esi
call fcn.0043fa97
add esp, 0x10
mov edi, eax
push esi
call fcn.0043f9d4
add esp, 4
mov esi, edi
jmp 0x44c929
push eax
call fcn.0043f79e
add esp, 4
mov esi, eax
mov edi, dword [esp]
inc ebx
cmp ebx, dword [edi + 0x6c8]
jl 0x44c8b4
jmp 0x44d8ed
cmp eax, 0xfffffffe
jne 0x44c984
cmp dword [ebp + 0x12c], 0
je 0x44c963
push 0x1e15
push str..._ssh.c
push str._s__userauth_succeeded
call fcn.004a509d
add esp, 0xc
mov dword [ebp + 0x12c], 1
cmp dword [ebp + 0x130], 0
je 0x44c59e
mov dword [ebp + 0x130], 0
mov esi, dword [esp]
test byte [esi + 0x50], 0x40
jne 0x44cd6d
push edi
push str.Initiating_key_re_exchange___s_
push esi
call fcn.00447e12
add esp, 0xc
xor ebx, ebx
mov edi, esi
jmp 0x44b8a9
mov eax, dword [edi + 0x25c]
mov dword [ebp + 0x140], eax
lea eax, [edi + 0x10]
mov eax, dword [eax]
test eax, eax
je 0x44c9c9
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x18]
add esp, 8
xor esi, esi
mov dword [edi + 0x260], esi
cmp dword [ebp + 0x140], esi
je 0x44cd5d
cmp dword [ebp + 0x14], 0
je 0x44ca54
mov eax, dword [edi + 0x10]
test eax, eax
je 0x44c9f5
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x18]
add esp, 8
mov dword [edi + 0x260], 1
mov eax, dword [ebp + 0x48]
push edi
push 0x44e1b5
push dword [eax + 0x20]
push str.client_to_server_cipher
push dword [edi + 0x110]
call fcn.00484828
add esp, 0x14
test eax, eax
mov dword [ebp + 0x140], eax
js 0x44c55c
lea eax, [edi + 0x10]
mov eax, dword [eax]
test eax, eax
je 0x44ca40
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x18]
add esp, 8
xor esi, esi
mov dword [edi + 0x260], esi
cmp dword [ebp + 0x140], esi
je 0x44cd0a
cmp dword [ebp + 0x18], 0
je 0x44cad8
mov eax, dword [edi + 0x10]
test eax, eax
je 0x44ca6c
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x18]
add esp, 8
mov dword [edi + 0x260], 1
mov eax, dword [ebp + 0x4c]
push edi
push 0x44e1b5
push dword [eax + 0x20]
push str.server_to_client_cipher
push dword [edi + 0x110]
call fcn.00484828
add esp, 0x14
test eax, eax
mov dword [ebp + 0x140], eax
jns 0x44cab0
jmp 0x44c5ea
mov eax, dword [edi + 0x25c]
mov dword [ebp + 0x140], eax
lea eax, [edi + 0x10]
mov eax, dword [eax]
test eax, eax
je 0x44cac4
mov ecx, dword [eax]
push 0
push eax
call dword [ecx + 0x18]
add esp, 8
xor esi, esi
mov dword [edi + 0x260], esi
cmp dword [ebp + 0x140], esi
je 0x44ccfa
cmp dword [ebp + 0x148], 0
je 0x44b673
mov dword [ebp], 0x1b43
jmp 0x44d974
push str.unable_to_parse_key_exchange_reply_packet
jmp 0x44ce1b
push str.unable_to_parse_RSA_public_key_packet
jmp 0x44d95c
push str.unable_to_parse_signature_packet
jmp 0x44d95c
push str.unable_to_parse_ECDH_reply_packet
jmp 0x44d884
lea esi, [ebx + 8]
mov dword [edi + 0x694], 0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [edi + 0x69c], eax
push 0x1a
push dword [edi + 0x248]
call fcn.0043194f
add esp, 8
test eax, eax
je 0x44b773
push 0x1a
push dword [edi + 0x248]
call fcn.0043194f
add esp, 8
imul eax, eax, 0xea60
push edi
push 0x44e4a7
push eax
call fcn.0047d9f4
add esp, 0xc
mov dword [edi + 0x698], eax
jmp 0x44b773
mov dword [edi + 0x184], 1
push dword [edi + 0x98]
call fcn.00461518
add esp, 4
mov dword [edi + 0xe8], eax
mov dword [ebp + 0x38], 0x1e
mov dword [ebp + 0x3c], 0x1f
mov eax, dword [edi + 0x98]
push dword [eax + 4]
push str.Using_Diffie_Hellman_with_standard_group___s_
push edi
call fcn.00447e12
add esp, 0xc
mov eax, dword [edi + 0x98]
mov eax, dword [eax + 0xc]
push dword [eax + 0x18]
push str.Doing_Diffie_Hellman_key_exchange_with_hash__s
push edi
call fcn.00447e12
add esp, 0xc
push 2
push dword [edi + 0x110]
call fcn.00489d5f
add esp, 8
mov eax, dword [ebp + 4]
add eax, eax
push eax
push dword [edi + 0xe8]
call fcn.00461624
add esp, 8
mov dword [ebp + 0x24], eax
mov ecx, dword [ebp + 0x38]
call fcn.00448c44
mov esi, eax
lea edx, [esp + 0x3c]
mov dword [ebp + 0x13c], esi
mov ecx, dword [ebp + 0x24]
call fcn.0044e2b0
mov edx, dword [esi]
mov ecx, esi
mov ebx, eax
add edx, 4
mov dword [esi], edx
call fcn.0044dbe6
mov eax, dword [esi]
mov ecx, dword [esi + 0x10]
mov edx, ebx
mov dword [ecx + eax - 4], 0
mov ecx, esi
mov eax, dword [esi]
mov dword [esi + 0x18], eax
lea eax, [esp + 0x3c]
push dword [eax]
call fcn.0044a58f
add esp, 4
push ebx
call fcn.0043f9d4
add esp, 4
mov edx, dword [ebp + 0x13c]
mov ecx, edi
call fcn.0044a75f
push 1
push dword [edi + 0x110]
call fcn.00489d5f
add esp, 8
mov dword [ebp], 0x1b96
jmp 0x44d974
push str.Unable_to_generate_key_for_ECDH
jmp 0x44d95c
mov ecx, 0x1e
call fcn.00448c44
mov esi, eax
lea eax, [ebp + 0x13c]
mov dword [esp + 0xc], eax
mov dword [ebp + 0x13c], esi
mov ecx, esi
mov ebx, dword [ebp + 8]
mov eax, ebx
mov edi, ebx
shr eax, 0x10
shr edi, 0x18
mov dword [esp + 4], eax
mov edx, dword [esi]
add edx, 4
mov dword [esi], edx
call fcn.0044dbe6
mov edx, edi
mov eax, dword [esi + 0x10]
mov ecx, dword [esi]
mov byte [eax + ecx - 4], dl
mov edx, dword [esp + 4]
mov byte [eax + ecx - 3], dl
mov byte [eax + ecx - 2], bh
mov byte [eax + ecx - 1], bl
mov eax, dword [esp + 0xc]
mov ecx, dword [esp]
mov edx, dword [eax]
call fcn.0044a75f
mov dword [ebp], 0x1b73
jmp 0x44d974
mov edx, str.User_aborted_at_cipher_warning
mov ecx, edi
push 1
push esi
push esi
jmp 0x44cdee
mov edx, str.User_aborted_at_cipher_warning
mov ecx, edi
push 1
push esi
push esi
jmp 0x44cdee
push str.unable_to_parse_key_exchange_reply_packet
jmp 0x44ce1b
push str.unable_to_parse_RSA_public_key_packet
jmp 0x44d95c
push dword [ebx + 0x90]
call fcn.00465199
add esp, 4
push str.Unable_to_encode_public_key_for_ECDH_hash
call fcn.0043f758
add esp, 4
mov ecx, edi
mov edx, eax
call fcn.0044e0cb
mov dword [ebx], 0
jmp 0x44d974
mov edx, str.User_aborted_at_host_key_warning
mov ecx, edi
push 1
push esi
push esi
jmp 0x44cdee
push edi
push str.Server_bug_prevents_key_re_exchange___s_
push esi
call fcn.00447e12
add esp, 0xc
xor eax, eax
mov dword [esi + 0x688], eax
mov dword [esi + 0x684], eax
push 0x1a
push dword [esi + 0x248]
call fcn.0043194f
add esp, 8
test eax, eax
je 0x44c59e
push 0x1a
mov esi, dword [esp + 4]
push dword [esi + 0x248]
call fcn.0043194f
add esp, 8
imul eax, eax, 0xea60
push esi
push 0x44e4a7
push eax
call fcn.0047d9f4
add esp, 0xc
mov dword [esi + 0x698], eax
jmp 0x44c59e
mov edx, str.Aborted_at_host_key_verification
mov ecx, edi
push 1
push esi
push esi
jmp 0x44cdee
mov edx, str.User_aborted_at_kex_warning
mov ecx, edi
push 1
push esi
push esi
call fcn.0044a668
add esp, 0xc
mov dword [ebp], esi
jmp 0x44d974
push dword [ebp + 0x90]
call fcn.00465199
add esp, 4
push str.Unable_to_encode_public_key_for_ECDH
jmp 0x44d95c
push str.unable_to_parse_key_exchange_reply_packet
call fcn.0043f758
add esp, 4
mov ecx, esi
jmp 0x44d966
push dword [ebp + 0x70]
call fcn.0043f9d4
add esp, 4
push str.unable_to_parse_RSA_public_key_from_server
jmp 0x44d95c
push str.unable_to_parse_ECDH_reply_packet
call fcn.0043f758
add esp, 4
jmp 0x44d8b4
push dword [ebp + 0x28]
push dword [esi + 0xe8]
call fcn.004617bb
add esp, 8
mov dword [ebp + 0x2c], eax
push 0
push dword [esi + 0x110]
call fcn.00489d5f
add esp, 8
mov eax, dword [esp]
mov edi, dword [ebp + 0x68]
mov ebx, dword [ebp + 0x7c]
lea ecx, [esp + 0x3c]
lea eax, [eax + 0xc]
mov dword [esp + 0x10], eax
mov eax, dword [esp]
mov esi, dword [eax + 0xc]
mov eax, dword [esp]
mov eax, dword [eax + 0x98]
mov ebp, dword [eax + 0xc]
mov eax, ebx
shr eax, 0x18
mov byte [ecx], al
mov eax, ebx
shr eax, 0x10
mov byte [ecx + 1], al
mov eax, dword [esp]
mov byte [ecx + 2], bh
mov byte [ecx + 3], bl
lea eax, [eax + 0x98]
mov dword [esp + 4], eax
push 4
push ecx
push esi
call dword [ebp + 8]
add esp, 0xc
push ebx
push edi
mov edi, dword [esp + 8]
push esi
call dword [ebp + 8]
mov ebp, dword [esp + 0x14]
add esp, 0xc
push dword [edi + 0x98]
call fcn.00461508
add esp, 4
test eax, eax
je 0x44cfa0
test byte [edi + 0x51], 0x10
jne 0x44cf19
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x10]
mov ecx, dword [ecx]
mov eax, dword [eax]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x3c], 0x40000
push 4
lea edx, [esp + 0x40]
push edx
push eax
call dword [ecx + 8]
add esp, 0xc
mov eax, dword [ebp + 8]
mov edx, dword [edi + 0x98]
mov ecx, dword [edi + 0xc]
mov ebx, eax
mov edx, dword [edx + 0xc]
shr ebx, 0x18
mov byte [esp + 0x3c], bl
mov ebx, eax
shr ebx, 0x10
mov byte [esp + 0x3d], bl
mov byte [esp + 0x3e], ah
mov byte [esp + 0x3f], al
push 4
lea ebx, [esp + 0x40]
push ebx
push ecx
call dword [edx + 8]
add esp, 0xc
mov al, 0x10
mov esi, dword [esp + 0x10]
test byte [edi + 0x51], al
jne 0x44cf78
mov ecx, dword [esp + 4]
mov eax, dword [esi]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x3c], 0x200000
push 4
push ebx
push eax
call dword [ecx + 8]
add esp, 0xc
mov ebx, dword [esp + 4]
mov edx, dword [esi]
mov eax, dword [ebx]
mov ecx, dword [eax + 0xc]
push dword [ebp + 0x1c]
call fcn.0044e23d
add esp, 4
mov eax, dword [ebx]
mov edx, dword [esi]
mov ecx, dword [eax + 0xc]
push dword [ebp + 0x20]
call fcn.0044e23d
add esp, 4
mov eax, dword [edi + 0x98]
mov edx, dword [edi + 0xc]
lea esi, [ebp + 0x2c]
mov ecx, dword [eax + 0xc]
push dword [ebp + 0x24]
call fcn.0044e23d
add esp, 4
mov eax, dword [edi + 0x98]
mov edx, dword [edi + 0xc]
mov ecx, dword [eax + 0xc]
push dword [ebp + 0x28]
call fcn.0044e23d
add esp, 4
push dword [edi + 0xe8]
call fcn.004615d8
add esp, 4
push dword [ebp + 0x28]
call fcn.0045b91a
add esp, 4
push dword [edi + 0x98]
call fcn.00461508
add esp, 4
test eax, eax
mov dword [esp + 0xc], esi
je 0x44d016
push dword [ebp + 0x20]
call fcn.0045b91a
add esp, 4
push dword [ebp + 0x1c]
call fcn.0045b91a
add esp, 4
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 4]
mov esi, eax
mov edx, dword [ebx]
mov eax, dword [esi]
mov ecx, dword [eax + 0xc]
mov eax, dword [esp + 0xc]
push dword [eax]
call fcn.0044e23d
add esp, 4
mov dword [esp + 4], esi
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
cmp dword [eax + 0x14], 0x41
jb 0x44d064
push 0x1c96
push str..._ssh.c
push str.ssh__kex__hash__hlen___sizeof_s__exchange_hash_
call fcn.004a509d
add esp, 0xc
mov eax, dword [esp + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0xc]
lea esi, [ebp + 0x94]
push esi
push dword [ebx]
call dword [eax + 0xc]
add esp, 8
mov dword [edi + 0xe8], 0
mov eax, dword [ebp + 0x88]
test eax, eax
je 0x44d416
mov edx, dword [esp + 4]
mov ecx, dword [edi + 0x9c]
mov edx, dword [edx]
mov edx, dword [edx + 0xc]
push dword [edx + 0x14]
push esi
push dword [ebp + 0x80]
push dword [ebp + 0x6c]
push eax
call dword [ecx + 0x28]
add esp, 0x14
test eax, eax
je 0x44d420
lea eax, [ebp + 0x88]
mov dword [esp + 0x10], eax
lea eax, [edi + 0x9c]
mov dword [esp + 4], eax
mov eax, dword [eax]
push dword [ebp + 0x88]
call dword [eax + 8]
add esp, 4
mov esi, eax
lea ebx, [ebp + 0x134]
mov dword [ebp + 0x74], esi
cmp dword [ebp + 0x134], 0
je 0x44d42a
cmp dword [edi + 0x6cc], 0
je 0x44d8cd
push dword [ebp + 0x88]
push dword [edi + 0x9c]
call fcn.0046982f
add esp, 8
mov dword [ebp + 0x78], eax
push str.Storing_additional_host_key_for_this_host:
push dword [edi + 0x110]
call fcn.004842ab
add esp, 8
push dword [ebp + 0x78]
push dword [edi + 0x110]
call fcn.004842ab
add esp, 8
push dword [ebp + 0x78]
call fcn.0043f9d4
add esp, 4
mov eax, dword [edi + 0x9c]
push dword [ebp + 0x74]
push dword [eax + 0x34]
push dword [edi + 0xfc]
push dword [edi + 0xf8]
call fcn.00494b46
add esp, 0x10
mov dword [edi + 0x6cc], 0
mov eax, dword [ebp + 0x74]
mov dword [edi + 0xa0], eax
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 4]
mov eax, dword [eax]
push dword [esi]
call dword [eax + 4]
add esp, 4
cmp dword [ebx], 0
jne 0x44d1da
mov eax, dword [esp]
lea esi, [ebp + 0x94]
mov ecx, 0x10
lea edi, [eax + 0xa4]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp]
mov eax, dword [edi + 0x98]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x14]
cmp eax, 0x41
mov dword [edi + 0xe4], eax
jb 0x44d1d4
push 0x1d2b
push str..._ssh.c
push str.ssh__v2_session_id_len___sizeof_ssh__v2_session_id_
call fcn.004a509d
add esp, 0xc
mov dword [ebx], 1
mov ecx, 0x15
call fcn.00448c44
mov ecx, edi
mov edx, eax
mov dword [ebp + 0x13c], eax
call fcn.0044a75f
mov dword [edi + 0x688], 0
mov eax, dword [edi + 0x68]
test eax, eax
je 0x44d20e
mov ecx, dword [edi + 0x60]
push eax
call dword [ecx + 4]
add esp, 4
mov eax, dword [ebp + 0x48]
test eax, eax
mov dword [edi + 0x60], eax
je 0x44d21d
call dword [eax]
mov dword [edi + 0x68], eax
mov eax, dword [edi + 0x80]
test eax, eax
je 0x44d231
mov ecx, dword [edi + 0x70]
push eax
call dword [ecx + 4]
add esp, 4
mov eax, dword [ebp + 0x50]
mov dword [edi + 0x70], eax
test eax, eax
mov ecx, dword [ebp + 0x58]
mov dword [edi + 0x78], ecx
je 0x44d24f
push dword [edi + 0x68]
call dword [eax]
add esp, 4
mov dword [edi + 0x80], eax
mov eax, dword [edi + 0x90]
test eax, eax
je 0x44d266
mov ecx, dword [edi + 0x88]
push eax
call dword [ecx + 0xc]
add esp, 4
mov eax, dword [ebp + 0x60]
mov dword [edi + 0x88], eax
call dword [eax + 8]
mov dword [edi + 0x90], eax
mov eax, dword [edi + 0x60]
test eax, eax
je 0x44d313
mov edx, dword [ebp + 0x2c]
mov ecx, dword [esp]
lea edi, [ebp + 0x94]
push dword [eax + 0x2c]
push 0x43
push edi
call fcn.0044e34d
add esp, 0xc
mov esi, eax
mov eax, dword [esp]
mov eax, dword [eax + 0x60]
push esi
mov ecx, dword [esp + 4]
push dword [ecx + 0x68]
call dword [eax + 0xc]
add esp, 8
mov eax, dword [esp]
mov eax, dword [eax + 0x60]
push dword [eax + 0x2c]
push esi
call fcn.0048f5d3
add esp, 8
push esi
call fcn.0043f9d4
add esp, 4
mov eax, dword [esp]
mov edx, dword [ebp + 0x2c]
mov ecx, dword [esp]
mov eax, dword [eax + 0x60]
push dword [eax + 0x24]
push 0x41
push edi
mov edi, dword [esp + 0xc]
call fcn.0044e34d
add esp, 0xc
mov esi, eax
mov eax, dword [edi + 0x60]
push esi
push dword [edi + 0x68]
call dword [eax + 8]
add esp, 8
mov eax, dword [edi + 0x60]
push dword [eax + 0x24]
push esi
call fcn.0048f5d3
add esp, 8
push esi
call fcn.0043f9d4
add esp, 4
mov eax, dword [edi + 0x70]
test eax, eax
je 0x44d35d
mov edx, dword [ebp + 0x2c]
lea esi, [ebp + 0x94]
mov ecx, edi
push dword [eax + 0x30]
push 0x45
push esi
call fcn.0044e34d
add esp, 0xc
mov esi, eax
mov eax, dword [edi + 0x70]
push esi
push dword [edi + 0x80]
call dword [eax + 8]
add esp, 8
mov eax, dword [edi + 0x70]
push dword [eax + 0x30]
push esi
call fcn.0048f5d3
add esp, 8
push esi
call fcn.0043f9d4
add esp, 4
mov eax, dword [edi + 0x60]
test eax, eax
je 0x44d375
push dword [eax + 0x34]
push str.Initialised__.200s_client__server_encryption
push edi
call fcn.00447e12
add esp, 0xc
mov eax, dword [edi + 0x70]
test eax, eax
je 0x44d3af
mov ecx, dword [edi + 0x60]
xor edx, edx
mov esi, 0x402159
cmp dword [ecx + 0x38], edx
mov ecx, str.__required_by_cipher_
cmove ecx, esi
cmp dword [edi + 0x78], edx
mov edx, str.__in_ETM_mode_
cmove edx, esi
push ecx
push edx
push dword [eax + 0x34]
push str.Initialised__.200s_client__server_MAC_algorithm_s_s
push edi
call fcn.00447e12
add esp, 0x14
mov eax, dword [edi + 0x88]
mov eax, dword [eax + 0x24]
test eax, eax
je 0x44d3cb
push eax
push str.Initialised__s_compression
push edi
call fcn.00447e12
add esp, 0xc
xor esi, esi
mov dword [edi + 0x164], esi
cmp dword [edi + 0x15c], esi
jle 0x44d3f9
mov eax, dword [edi + 0x158]
mov ecx, edi
mov edx, dword [eax + esi*4]
push 0
call fcn.0044a8af
add esp, 4
inc esi
cmp esi, dword [edi + 0x15c]
jl 0x44d3db
mov ecx, edi
mov dword [edi + 0x15c], 0
call fcn.0044a98e
mov dword [ebp], 0x1d7e
jmp 0x44d974
push str.Servers_host_key_is_invalid
jmp 0x44d95c
push str.Servers_host_key_did_not_match_the_signature_supplied
jmp 0x44d95c
lea eax, [ebp + 0x74]
mov dword [esp + 0xc], ebx
xor edi, edi
xor ebx, ebx
xor ebp, ebp
mov dword [esp + 0x14], eax
mov eax, dword [ebp*8 + 0x40bf94]
mov ecx, dword [esp + 4]
cmp eax, dword [ecx]
je 0x44d4a2
mov ecx, dword [esp]
xor edx, edx
mov ecx, dword [ecx + 0x6c8]
test ecx, ecx
jle 0x44d46a
mov esi, dword [esp]
cmp dword [esi + edx*4 + 0x6b0], ebp
je 0x44d46a
inc edx
cmp edx, ecx
jl 0x44d459
cmp edx, ecx
jge 0x44d4a2
mov eax, dword [eax + 0x30]
test edi, edi
je 0x44d486
push eax
push edi
push 0x40cae2
call fcn.0043f758
add esp, 0xc
jmp 0x44d494
push eax
push 0x409613
call fcn.0043f758
add esp, 8
mov esi, eax
push edi
call fcn.0043f9d4
add esp, 4
inc ebx
mov edi, esi
inc ebp
cmp ebp, 6
jne 0x44d43b
mov esi, dword [esp]
test edi, edi
je 0x44d4e6
cmp ebx, 1
mov eax, str.any_of_them
mov ecx, 0x40caf4
mov ebx, 0x406a69
mov edx, 0x402159
cmovg ecx, eax
cmovg edx, ebx
push ecx
push edx
push edi
push str.Server_also_has__s_host_key_s__but_we_dont_know__s
push esi
call fcn.00447e12
add esp, 0x14
push edi
call fcn.0043f9d4
add esp, 4
mov ebp, dword [esp + 8]
push dword [ebp + 0x88]
push dword [esi + 0x9c]
call fcn.0046982f
add esp, 8
lea ecx, [ebp + 0x78]
mov dword [esp + 0x18], ecx
mov dword [ebp + 0x78], eax
push str.Host_key_fingerprint_is:
push dword [esi + 0x110]
call fcn.004842ab
add esp, 8
push dword [ebp + 0x78]
push dword [esi + 0x110]
call fcn.004842ab
add esp, 8
push dword [ebp + 0x88]
push dword [esi + 0x9c]
push dword [ebp + 0x78]
push esi
call fcn.00447e63
add esp, 0x10
test eax, eax
mov edi, esi
mov dword [ebp + 0x140], eax
je 0x44d957
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jns 0x44c82c
mov eax, dword [edi + 0x10]
test eax, eax
je 0x44d578
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x18]
add esp, 8
mov dword [edi + 0x260], 1
mov eax, dword [edi + 0x9c]
push edi
push 0x44e1b5
push dword [ebp + 0x78]
push dword [ebp + 0x74]
push dword [eax + 0x34]
push dword [edi + 0xfc]
push dword [edi + 0xf8]
push dword [edi + 0x110]
call fcn.004846a7
add esp, 0x20
test eax, eax
mov dword [ebp + 0x140], eax
jns 0x44c7e4
jmp 0x44c573
push dword [ebp + 0x90]
call fcn.00465199
add esp, 4
push str.point_received_in_ECDH_was_not_valid
jmp 0x44d884
cmp byte [esp + 0x1c], 0
je 0x44d5f9
mov ecx, dword [esp + 0x10]
mov eax, dword [ebx + ecx - 4]
mov dword [ebp + 0x54], eax
mov eax, dword [ebx + ecx]
mov dword [ebp + 0x5c], eax
jmp 0x44d817
cmp edi, 6
je 0x44d60c
cmp edi, 7
jne 0x44d817
jmp 0x44d993
mov eax, dword [ebx + 0x5d0]
mov dword [ebp + 0x60], eax
jmp 0x44d853
cmp edi, 4
jne 0x44d644
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
test eax, eax
je 0x44d675
mov eax, dword [eax + 0x38]
test eax, eax
je 0x44d675
mov dword [ebp + 0x50], eax
xor ecx, ecx
cmp dword [eax + 0x28], 0
setne cl
mov dword [ebp + 0x58], ecx
jmp 0x44d857
cmp edi, 5
jne 0x44d675
mov eax, dword [ebp + 0x4c]
mov cl, 1
mov dword [esp + 0x1c], ecx
test eax, eax
je 0x44d67d
mov eax, dword [eax + 0x38]
test eax, eax
je 0x44d67d
mov ebp, dword [esp + 8]
xor ecx, ecx
mov dword [ebp + 0x54], eax
cmp dword [eax + 0x28], 0
setne cl
mov dword [ebp + 0x5c], ecx
jmp 0x44d857
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 8]
mov esi, edi
mov dword [esp + 0x18], edi
or esi, 1
xor ebp, ebp
dec ebp
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x10]
mov edi, dword [ebx + eax - 8]
test edi, edi
je 0x44d894
mov edx, dword [esp + 4]
mov ecx, edi
push dword [esp + 0xc]
call fcn.0044e107
add esp, 4
test eax, eax
jne 0x44d6fb
cmp esi, 7
jne 0x44d6ed
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 4]
mov eax, dword [ebx + eax - 4]
mov ecx, dword [eax + 4]
push dword [esp + 0xc]
call fcn.0044e107
add esp, 4
test eax, eax
je 0x44d6ed
mov eax, dword [esp + 8]
mov dword [eax + 0x130], 1
inc ebp
add ebx, 0xc
cmp ebp, 0xf
jl 0x44d695
jmp 0x44d894
cmp dword [esp + 0x18], 1
ja 0x44d72d
cmp ebp, 0xffffffff
je 0x44d717
mov eax, dword [esp + 8]
mov dword [eax + 0x144], 0
jmp 0x44d72d
mov edx, dword [esp + 4]
mov ecx, edi
push dword [esp + 0xc]
call fcn.0044e16b
add esp, 4
test eax, eax
je 0x44d707
mov edi, dword [esp + 0x18]
lea esi, [esp + 0x34]
cmp edi, 3
ja case.default.0x44d73e
mov ebp, dword [esp + 8]
jmp dword [edi*4 + 0x410170]
mov eax, dword [ebx + 0x150]
mov ecx, dword [esp]
mov dword [ecx + 0x98], eax
mov eax, dword [ebx + 0x154]
mov ecx, dword [esp + 0x24]
mov dword [ecx], eax
jmp 0x44d853
mov ebp, dword [esp + 8]
cmp edi, 4
jne 0x44d5dc
mov eax, dword [ebx + 0x450]
mov dword [ebp + 0x50], eax
mov eax, dword [ebx + 0x454]
mov dword [ebp + 0x58], eax
jmp 0x44d853
mov eax, dword [ebx + 0x210]
mov ecx, dword [esp]
xor esi, esi
mov dword [ecx + 0x9c], eax
mov eax, dword [ebx + 0x214]
mov edx, dword [esp + 0x20]
mov dword [edx], eax
mov dword [ecx + 0x6c8], 0
mov edi, dword [esi*8 + 0x40bf94]
mov eax, dword [esp]
cmp edi, dword [eax + 0x9c]
je 0x44d811
mov ecx, dword [edi + 0x30]
mov edx, dword [esp + 4]
push dword [esp + 0xc]
call fcn.0044e107
add esp, 4
test eax, eax
je 0x44d811
push dword [edi + 0x34]
mov eax, dword [esp + 4]
push dword [eax + 0xfc]
push dword [eax + 0xf8]
call fcn.00494b22
add esp, 0xc
test eax, eax
jne 0x44d811
mov edx, dword [esp]
mov eax, dword [edx + 0x6c8]
lea ecx, [eax + 1]
mov dword [edx + 0x6c8], ecx
mov dword [edx + eax*4 + 0x6b0], esi
inc esi
cmp esi, 6
jne 0x44d7b0
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
lea esi, [esp + 0x34]
cmp edi, 6
jle 0x44d857
jmp 0x44d9a4
mov eax, dword [ebx + 0x2d0]
mov dword [ebp + 0x48], eax
mov eax, dword [ebx + 0x2d4]
mov dword [ebp + 0x14], eax
jmp 0x44d853
mov eax, dword [ebx + 0x390]
mov dword [ebp + 0x4c], eax
mov eax, dword [ebx + 0x394]
mov dword [ebp + 0x18], eax
mov ebx, dword [esp + 0x14]
inc edi
mov ecx, ebx
lea edx, [esp + 0x38]
push esi
call fcn.0044dc49
add esp, 4
mov eax, dword [esp + 0x38]
add dword [esp + 0x10], 0xc0
test eax, eax
mov dword [esp + 4], eax
jne 0x44d61a
push str.KEXINIT_packet_was_incomplete
call fcn.0043f758
add esp, 4
mov ecx, dword [esp]
jmp 0x44d966
push dword [esp + 4]
push dword [esp + 0x10]
mov eax, dword [esp + 0x20]
push dword [eax*4 + 0x40bf30]
push str.Couldnt_agree_a__s__available:__.s_
call fcn.0043f758
add esp, 0x10
mov ecx, dword [esp]
mov edx, eax
call fcn.0044e0cb
mov eax, dword [esp + 8]
mov dword [eax], 0
jmp 0x44d974
push esi
push dword [edi + 0xa0]
call fcn.004a7d00
add esp, 8
test eax, eax
je 0x44d985
push str.Host_key_was_different_in_repeat_key_exchange
jmp 0x44d95c
xor esi, esi
mov ecx, dword [edi + 0x9c]
mov eax, dword [edi + 0x110]
test esi, esi
mov ecx, dword [ecx + 0x30]
je 0x44d928
push edi
push 0x44e1b5
push esi
push ecx
push eax
call fcn.0048488b
add esp, 0x14
mov dword [ebp + 0x140], eax
push esi
call fcn.0043f9d4
add esp, 4
mov eax, dword [ebp + 0x140]
jmp 0x44d943
push edi
push 0x44e1b5
push ecx
push str.host_key_type
push eax
call fcn.00484828
add esp, 0x14
mov dword [ebp + 0x140], eax
test eax, eax
jns 0x44c9b5
jmp 0x44c5d6
push str.unable_to_parse_key_exchange_reply_packet
jmp 0x44d95c
push str.Host_key_did_not_appear_in_manually_configured_list
call fcn.0043f758
add esp, 4
mov ecx, edi
mov edx, eax
call fcn.0044e0cb
mov dword [ebp], 0
mov ecx, dword [esp + 0x40]
call fcn.00497c4a
add esp, 0x44
pop esi
pop edi
pop ebx
pop ebp
ret
push esi
call fcn.0043f9d4
add esp, 4
jmp 0x44d176
mov eax, dword [ebx + 0x690]
lea esi, [esp + 0x34]
mov dword [ebp + 0x64], eax
mov ebx, dword [esp + 0x14]
cmp dword [ebp + 0x130], 0
je 0x44d9c4
push str.Server_supports_delayed_compression__will_try_this_later
mov eax, dword [esp + 4]
push dword [eax + 0x110]
call fcn.004842ab
add esp, 8
lea edi, [esp + 0x38]
mov ecx, ebx
mov edx, edi
push esi
call fcn.0044dc49
add esp, 4
mov ecx, ebx
mov edx, edi
push esi
call fcn.0044dc49
add esp, 4
mov eax, dword [ebx + 0x18]
cmp dword [ebx], eax
jle 0x44da04
mov ecx, dword [ebx + 0x14]
cmp byte [ecx + eax], 0
lea eax, [eax + 1]
mov dword [ebx + 0x18], eax
je 0x44da04
cmp dword [ebp + 0x144], 0
sete al
jmp 0x44da06
xor eax, eax
mov ecx, dword [esp]
movzx eax, al
mov dword [ebp + 0x148], eax
mov eax, dword [ecx + 0x98]
mov eax, dword [eax + 0xc]
call dword [eax]
mov edi, eax
mov eax, dword [esp]
mov dword [eax + 0xc], edi
mov eax, dword [esp]
mov eax, dword [eax + 4]
mov dword [esp + 4], eax
push eax
call fcn.004a7f30
add esp, 4
mov ecx, eax
mov eax, dword [esp]
lea esi, [esp + 0x3c]
mov ebp, ecx
mov eax, dword [eax + 0x98]
mov ebx, dword [eax + 0xc]
mov eax, ecx
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, 4
mov byte [esi + 2], ch
mov byte [esi + 3], cl
push eax
push esi
push edi
call dword [ebx + 8]
add esp, 0xc
push ebp
push dword [esp + 8]
push edi
call dword [ebx + 8]
add esp, 0xc
mov eax, dword [esp]
mov eax, dword [eax + 8]
mov dword [esp + 4], eax
push eax
call fcn.004a7f30
add esp, 4
mov ecx, eax
mov eax, dword [esp]
mov edi, ecx
mov ebx, dword [eax + 0xc]
mov eax, dword [esp]
mov eax, dword [eax + 0x98]
mov ebp, dword [eax + 0xc]
mov eax, ecx
shr eax, 0x18
mov byte [esi], al
mov eax, ecx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, 4
mov byte [esi + 2], ch
mov byte [esi + 3], cl
push eax
push esi
push ebx
call dword [ebp + 8]
add esp, 0xc
push edi
push dword [esp + 8]
push ebx
call dword [ebp + 8]
add esp, 0xc
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x30]
mov dword [esp + 4], eax
mov eax, dword [esp + 8]
mov ebx, dword [eax + 0x34]
mov eax, dword [esp]
mov ebp, dword [eax + 0xc]
mov eax, dword [esp]
mov eax, dword [eax + 0x98]
mov edi, dword [eax + 0xc]
mov eax, ebx
shr eax, 0x18
mov byte [esi], al
mov eax, ebx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, 4
mov byte [esi + 2], bh
mov byte [esi + 3], bl
push eax
push esi
push ebp
call dword [edi + 8]
add esp, 0xc
push ebx
push dword [esp + 8]
push ebp
call dword [edi + 8]
add esp, 0xc
mov eax, dword [esp + 8]
push dword [eax + 0x30]
call fcn.0043f9d4
add esp, 4
mov eax, dword [esp + 0x14]
mov ebx, dword [eax]
mov edi, dword [eax + 0x14]
mov eax, dword [esp]
mov ebp, dword [eax + 0xc]
mov eax, dword [esp]
inc ebx
dec edi
mov eax, dword [eax + 0x98]
mov ecx, dword [eax + 0xc]
mov eax, ebx
shr eax, 0x18
mov byte [esi], al
mov eax, ebx
shr eax, 0x10
mov byte [esi + 1], al
mov eax, 4
mov byte [esi + 2], bh
mov byte [esi + 3], bl
push eax
push esi
push ebp
mov esi, ecx
call dword [esi + 8]
add esp, 0xc
push ebx
push edi
mov edi, dword [esp + 8]
push ebp
mov ebp, dword [esp + 0x14]
call dword [esi + 8]
add esp, 0xc
cmp dword [ebp + 0xc], 0
mov eax, dword [esp + 0x20]
je 0x44c87e
mov eax, dword [edi + 0x10]
test eax, eax
je 0x44dba8
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x18]
add esp, 8
mov dword [edi + 0x260], 1
mov eax, dword [edi + 0x98]
push edi
push 0x44e1b5
push dword [eax]
push str.key_exchange_algorithm
push dword [edi + 0x110]
call fcn.00484828
add esp, 0x14
test eax, eax
mov dword [ebp + 0x140], eax
jns 0x44c853
jmp 0x44c58a