Function at 0x561cf0
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5beef8
mov eax, dword fs:[0]
push eax
sub esp, 0x40
push ebx
push esi
push edi
mov eax, dword [0x68683c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], ecx
xor ebx, ebx
mov dword [ecx + 0x7fc], ebx
push ecx
lea ecx, [ebp - 0x24]
call fcn.0044c630
mov esi, dword [ebp + 0xc]
mov ecx, esi
mov dword [ebp - 4], ebx
call fcn.004babe0
mov eax, dword [esi + 4]
mov edi, dword [ebp + 8]
mov esi, dword [ebp + 0x10]
mov dword [ebp - 0x14], eax
mov byte [edi + 0x2f], bl
mov word [edi + 0x2c], bx
mov dword [edi + 0x3c], ebx
mov dword [edi + 0x5c], 0xffffffff
cmp byte [edi + 0x24], bl
je 0x561d75
lea ecx, [edi + 0x40]
call fcn.004078c0
test eax, eax
je 0x561d75
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.m_dbReturnPayload_is_non_empty.
mov ecx, esi
call eax
lea ecx, [edi + 0x40]
mov dword [ebp - 0x18], ecx
call fcn.0041b6b0
cmp dword [edi + 4], ebx
jne 0x561d8d
call sub.KERNEL32.dll_GetTickCount
mov dword [edi + 4], eax
lea ecx, [ebp - 0x4c]
call fcn.0041b9a0
push 0x10108
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 1
call fcn.00420200
lea ecx, [ebp - 0x4c]
mov dword [edi + 0x3c], 0
call fcn.0041b6b0
cmp dword [edi + 0x10], 5
jne 0x561ddf
cmp dword [0x689a68], 0xa
jge 0x561dd8
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.sshRp.m_totalTimeoutMs_wf_is_too_small__1_
mov ecx, esi
call eax
inc dword [0x689a68]
mov dword [edi + 0x10], 0x7530
or ebx, 0xffffffff
cmp dword [edi + 0x14], ebx
je 0x561e22
cmp dword [edi + 0x10], 0
je 0x561e22
cmp dword [edi + 4], 0
jne 0x561dfb
call sub.KERNEL32.dll_GetTickCount
mov dword [edi + 4], eax
cmp dword [edi + 0x10], 0x3e8
jae 0x561e0b
mov dword [edi + 0x10], 0x7530
call sub.KERNEL32.dll_GetTickCount
mov ecx, dword [edi + 4]
cmp eax, ecx
jbe 0x561e22
sub eax, ecx
cmp eax, dword [edi + 0x10]
ja 0x56213d
mov eax, dword [edi + 0xc]
mov ebx, dword [ebp + 0xc]
push esi
push ebx
test eax, eax
jne 0x561e38
push 5
push 1
lea ecx, [ebp - 0x4c]
push ecx
jmp 0x561e3f
push eax
push 0
lea edx, [ebp - 0x4c]
push edx
mov ecx, dword [ebp - 0x10]
call fcn.0055d730
test al, al
je 0x56215c
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x561e64
push esi
call fcn.0046eaf0
test al, al
jne 0x562176
lea ecx, [ebp - 0x4c]
call fcn.004078c0
test eax, eax
je 0x561da6
inc dword [edi + 0x60]
lea ecx, [ebp - 0x4c]
call fcn.004078c0
test eax, eax
jne 0x561e8d
mov ebx, 0xf423f
mov byte [ebp + 0xb], al
jmp 0x561ed4
lea ecx, [ebp - 0x4c]
call fcn.0041b6d0
movzx ebx, byte [eax]
cmp ebx, 0x5e
je 0x561ed0
cmp ebx, 0x5d
je 0x561ed0
cmp ebx, 0x5f
je 0x561ed0
cmp ebx, 0x5b
je 0x561ed0
cmp ebx, 0x5c
je 0x561ed0
cmp ebx, 0x61
je 0x561ed0
cmp ebx, 0x60
je 0x561ed0
cmp ebx, 0x62
je 0x561ed0
cmp ebx, 0x63
je 0x561ed0
cmp ebx, 0x64
je 0x561ed0
mov byte [ebp + 0xb], 0
jmp 0x561ed4
mov byte [ebp + 0xb], 1
mov ecx, dword [ebp - 0x10]
cmp byte [ecx + 0xc4], 0
je 0x561f05
cmp byte [ebp + 0xb], 0
jne 0x561f05
push 0x5c7d94
push ebx
call fcn.0055baa0
mov ecx, dword [ebp - 0x10]
add esp, 4
push eax
push str.TRAN_
call fcn.0055a0a0
mov ecx, dword [ebp - 0x10]
cmp byte [esi + 0x125], 0
je 0x561f3a
cmp byte [esi + 0x129], 0
je 0x561f3a
mov eax, dword [esi]
add eax, 0x2c
push ebx
mov dword [ebp + 0x10], eax
call fcn.0055baa0
add esp, 4
push eax
mov eax, dword [ebp + 0x10]
mov edx, dword [eax]
push str.mType
mov ecx, esi
call edx
mov ecx, dword [ebp - 0x10]
cmp ebx, 0x14
jne 0x561f7a
mov eax, dword [esi]
mov edx, dword [eax + 0x18]
push str.Received_KEXINIT_from_server...
mov ecx, esi
call edx
mov eax, dword [ebp + 0xc]
push esi
push eax
push edi
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x10]
call fcn.00560430
test al, al
jne 0x561da6
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.rekeyStart_failed.
mov ecx, esi
call edx
jmp 0x56210c
cmp ebx, 0x1f
jne 0x561fb6
cmp byte [ecx + 0x801], 0
je 0x5620e7
mov edx, dword [ebp + 0xc]
push esi
push edx
push edi
lea eax, [ebp - 0x4c]
push eax
call fcn.005602b0
test al, al
jne 0x561da6
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.rekeyKexDhGexGroup_failed.
mov ecx, esi
call edx
jmp 0x56210c
cmp ebx, 0x21
je 0x5620e7
cmp ebx, 0x15
jne 0x562023
push str.rekeyNewKeys
push esi
lea ecx, [ebp - 0x30]
call fcn.0045a1b0
mov ebx, dword [ebp - 0x10]
push 0x5c7d94
push str.SSH_Key_Exchange_Success.
push str.TRAN
mov ecx, ebx
mov byte [ebp - 4], 2
call fcn.0055a0a0
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.SSH_Key_Exchange_Success.
mov ecx, esi
call eax
push esi
mov ecx, ebx
call fcn.0055ab80
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.0045a240
cmp byte [ebx + 0x800], 0
jne 0x561da6
jmp 0x56227b
mov edx, dword [ebp + 0xc]
push esi
push edx
push edi
lea eax, [ebp - 0x4c]
push eax
push ebx
call fcn.0055fc30
test al, al
je 0x56204c
mov ecx, dword [ebp + 0xc]
call fcn.004bab80
test al, al
je 0x561da6
jmp 0x56210c
cmp ebx, 1
je 0x562186
cmp byte [ebp + 0xb], 0
lea ecx, [ebp - 0x4c]
push ecx
je 0x562270
call fcn.0055bee0
add esp, 4
mov dword [edi + 0x5c], eax
cmp byte [esi + 0x125], 0
mov dword [ebp + 8], eax
je 0x562090
cmp byte [edi + 0x24], 0
jne 0x562090
push eax
push str.channelNum
mov ecx, esi
call fcn.00459e10
mov eax, dword [ebp + 8]
cmp dword [edi + 0x28], 0
jne 0x562205
cmp byte [edi + 0x24], 0
je 0x5620b1
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Handling_channel_specific_message_without_m_pHandler.
mov ecx, esi
call eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
push esi
push ecx
mov ecx, dword [ebp - 0x10]
push edi
lea edx, [ebp - 0x4c]
push edx
push eax
push ebx
call fcn.00560f10
test al, al
je 0x562266
mov eax, dword [edi + 0x14]
cmp eax, 0xffffffff
je 0x56227b
cmp eax, dword [ebp + 8]
jne 0x561da6
jmp 0x56227b
mov eax, dword [ebp + 0xc]
push esi
push eax
push edi
lea edx, [ebp - 0x4c]
push edx
call fcn.0055fe40
test al, al
jne 0x561da6
push str.rekeyKexDhReply_failed.
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
mov ecx, esi
call eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0
call fcn.0041c170
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.0044c660
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov esi, dword [ebp + 0xc]
mov ecx, esi
call fcn.004babe0
lea ecx, [ebp - 0x4c]
mov byte [esi + 0x14], 1
mov byte [ebp - 4], 0
call fcn.0041c170
mov dword [ebp - 4], ebx
jmp 0x56211f
mov ecx, ebx
call fcn.004babb0
test al, al
jne 0x56210c
push esi
push str.sshReadMessage
mov ecx, ebx
call fcn.004bac40
jmp 0x56210c
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Aborted_by_app.
mov ecx, esi
call edx
jmp 0x56210c
mov byte [edi + 0x2f], 1
mov eax, dword [esi]
mov edx, dword [eax + 0x18]
push str.Received_DISCONNECT_message
mov ecx, esi
call edx
mov ebx, dword [ebp - 0x10]
push esi
lea edi, [ebx + 0x2880]
push edi
lea eax, [ebx + 0x287c]
push eax
lea ecx, [ebp - 0x4c]
push ecx
call fcn.0055c580
add esp, 0x10
test al, al
je 0x5621e0
push edi
push str.DisconnectReason
mov ecx, esi
call fcn.00459a60
push 0x5c7d94
mov ecx, edi
call fcn.0044da90
push eax
push str.TRAN_Reason:
mov ecx, ebx
call fcn.0055a0a0
mov edx, dword [ebp - 0x14]
mov eax, dword [ebx + 0xa20]
push 0
push esi
push edx
push eax
lea ecx, [ebx + 0x820]
call fcn.00538810
mov ecx, dword [ebp + 0xc]
mov byte [ecx + 0x17], 1
jmp 0x56210c
mov edx, dword [ebp + 0xc]
push esi
push edx
push edi
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x10]
push eax
push ebx
mov dword [edi + 0x3c], ebx
call fcn.00560f10
mov bl, al
test bl, bl
jne 0x562235
cmp byte [edi + 0x24], al
je 0x562235
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.returning_failed_status...
mov ecx, esi
call eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0
call fcn.0041c170
lea ecx, [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
call fcn.0044c660
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push str.Failed_to_process_channel_message.
jmp 0x562103
mov ecx, dword [ebp - 0x18]
mov dword [edi + 0x3c], ebx
call fcn.0041c4d0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 0
call fcn.0041c170
lea ecx, [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
call fcn.0044c660
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc