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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x74cd58
mov eax, dword fs:[0]
push eax
sub esp, 0x38
push ebx
push esi
push edi
mov eax, dword [0x899944]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x20], ebx
mov edi, dword [ebp + 0x2c]
cmp byte [edi + 0xad], 0
je 0x56c1a7
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
push str.s2_ReadMax2Output...
mov ecx, edi
call edx
mov eax, dword [ebp + 0x1c]
lea ecx, [ebp - 0x44]
mov byte [eax], 0
call fcn.0040fe80
mov ecx, dword [ebp + 0x20]
xor esi, esi
mov dword [ebp - 4], esi
mov dword [ecx], esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], esi
call sub.KERNEL32.dll_GetTickCount
mov ecx, dword [ebp + 0x18]
mov dword [ebp - 0x14], eax
cmp ecx, esi
je 0x56c1e2
mov edx, dword [ebp + 0x28]
cmp dword [edx + 4], esi
je 0x56c1e2
push edi
call fcn.004a6a40
mov eax, dword [ebp + 0x28]
mov edx, dword [ebp + 0x14]
push edi
push eax
lea ecx, [ebp + 0x2f]
push ecx
push 1
push edx
lea eax, [ebp - 0x44]
push eax
lea eax, [ebx + 0xc]
push eax
lea ecx, [ebx + 0x8c]
mov byte [ebp + 0x2f], 0
call fcn.00543bb0
mov cl, byte [ebx + 0xb4]
mov byte [ebp - 0xd], cl
lea ecx, [ebp - 0x44]
mov byte [ebp - 0xe], al
call fcn.004033b0
mov esi, eax
test esi, esi
je 0x56c2e7
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebp + 0x18]
xor ebx, ebx
add dword [eax], esi
adc dword [eax + 4], ebx
test ecx, ecx
je 0x56c249
mov edx, dword [ebp + 0x28]
mov eax, dword [edx + 4]
test eax, eax
je 0x56c249
push edi
push eax
push esi
call fcn.004a6c80
mov eax, dword [ebp + 0x28]
push edi
push eax
push esi
lea ecx, [ebp - 0x44]
call fcn.0040fbb0
mov ecx, dword [ebp + 8]
push eax
call fcn.004a8d70
test al, al
je 0x56c353
add dword [ebp - 0x28], esi
adc dword [ebp - 0x24], ebx
call sub.KERNEL32.dll_GetTickCount
mov ecx, dword [ebp - 0x14]
cmp eax, ecx
jbe 0x56c2b7
sub eax, ecx
mov dword [ebp - 0x18], eax
fild dword [ebp - 0x18]
jns 0x56c28a
fadd qword [0x79c748]
fild qword [ebp - 0x28]
mov edx, dword [ebp + 0x20]
fnstcw word [ebp - 0x10]
fdivrp st(1)
movzx eax, word [ebp - 0x10]
or eax, 0xc00
mov dword [ebp - 0x18], eax
fmul qword [0x7b00d0]
fldcw word [ebp - 0x18]
fistp qword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
mov dword [edx], ecx
fldcw word [ebp - 0x10]
jmp 0x56c2c4
jae 0x56c2c4
mov dword [ebp - 0x14], eax
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
mov edx, ecx
or edx, eax
je 0x56c2dc
cmp dword [ebp - 0x24], eax
jg 0x56c318
jl 0x56c2dc
cmp dword [ebp - 0x28], ecx
jae 0x56c318
lea ecx, [ebp - 0x44]
call fcn.0040fb90
mov ebx, dword [ebp - 0x20]
cmp byte [ebp - 0xd], 0
jne 0x56c318
cmp byte [ebp - 0xe], 0
je 0x56c318
mov esi, dword [ebp + 0x28]
push edi
mov ecx, esi
call fcn.004a71f0
test al, al
je 0x56c1e2
mov byte [esi + 0x11], 1
mov edx, dword [edi]
mov eax, dword [edx + 0x14]
push str.SSL_TLS_read_aborted_by_application_callback.
mov ecx, edi
call eax
mov ecx, dword [ebp + 0x18]
test ecx, ecx
je 0x56c330
mov edx, dword [ebp + 0x28]
mov eax, dword [edx + 4]
test eax, eax
je 0x56c330
push edi
push eax
call fcn.004a6ef0
lea ecx, [ebp - 0x44]
mov dword [ebp - 4], 0xffffffff
call fcn.004105c0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x28
mov eax, dword [edi]
mov edx, dword [eax + 0x14]
push str.Failed_to_write_to_SSL_TLS_output.
mov ecx, edi
call edx
mov eax, dword [ebp + 0x1c]
mov byte [eax], 1
jmp 0x56c318