Function at 0x4288f0
Capabilities:
Terminate thread

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
mov eax, 0xb4
call fcn.004403c0
mov eax, dword [0x470324]
xor eax, esp
mov dword [esp + 0xb0], eax
cmp dword [ebp + 0xc], 0
mov eax, dword [ebp + 0x10]
push ebx
push esi
mov esi, dword [ebp + 8]
mov ebx, 5
push edi
mov edi, 0x458d10
mov dword [esp + 0x50], esi
mov dword [esp + 0x60], eax
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebx
je 0x428947
lea edi, [ebp + 0xc]
mov ebx, 1
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebx
push str.multiblock_input_buffer
push dword [edi + ebx*4 - 4]
call fcn.00437320
mov ecx, dword [edi + ebx*4 - 4]
add ecx, 0x400
mov dword [esp + 0x54], eax
push str.multiblock_output_buffer
push ecx
call fcn.00437320
mov dword [esp + 0x50], eax
call sub.libcrypto_1_1.dll_EVP_CIPHER_CTX_new
mov ebx, eax
lea eax, [esp + 0x9c]
push eax
push 0
push 0
push esi
push ebx
mov dword [esp + 0x6c], ebx
call sub.libcrypto_1_1.dll_EVP_EncryptInit_ex
push ebx
call sub.libcrypto_1_1.dll_EVP_CIPHER_CTX_key_length
mov edi, eax
push str.evp_cipher_key
push edi
call fcn.00437320
mov esi, eax
push esi
push ebx
call sub.libcrypto_1_1.dll_EVP_CIPHER_CTX_rand_key
push 0
push esi
push 0
push 0
push ebx
call sub.libcrypto_1_1.dll_EVP_EncryptInit_ex
add esp, 0x4c
push 0xe19
push str.apps_speed.c
push edi
push esi
call sub.libcrypto_1_1.dll_CRYPTO_clear_free
lea eax, [esp + 0xac]
mov edi, ebx
push eax
push 0x20
push 0x17
push edi
call sub.libcrypto_1_1.dll_EVP_CIPHER_CTX_ctrl
push dword [esp + 0x70]
call sub.libcrypto_1_1.dll_EVP_CIPHER_nid
push eax
call sub.libcrypto_1_1.dll_OBJ_nid2ln
mov ebx, dword [esp + 0x64]
add esp, 0x28
mov dword [esp + 0x44], eax
mov edx, str.Doing__s_for__ds_on__d_size_blocks:
mov dword [esp + 0x5c], 0
mov dword [esp + 0x50], ebx
nop dword [eax]
mov ecx, dword [esp + 0x60]
push dword [ebx]
cmp dword [0x47057c], 0
mov esi, dword [ecx]
push esi
push eax
mov eax, str.DT:_s:_d:_d_n
cmove eax, edx
push eax
push dword [0x4703fc]
call sub.libcrypto_1_1.dll_BIO_printf
push 0
push 0
push 0xb
push dword [0x4703fc]
call sub.libcrypto_1_1.dll_BIO_ctrl
imul eax, esi, 0x3e8
push 0
mov dword [0x470580], eax
call fcn.004285f0
xor esi, esi
mov dword [0x470578], 1
add esp, 0x28
fstp st(0)
cmp dword [0x470578], esi
je 0x428b66
nop word [eax + eax]
cmp esi, 0x7fffffff
jge 0x428b66
mov ebx, dword [ebx]
lea eax, [esp + 0x7c]
mov dword [esp + 0x70], eax
xorps xmm0, xmm0
lea eax, [esp + 0x6c]
movq qword [esp + 0x7c], xmm0
push eax
push 0x10
push 0x19
push edi
mov dword [esp + 0x94], 0x20317
mov byte [esp + 0x98], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], 8
call sub.libcrypto_1_1.dll_EVP_CIPHER_CTX_ctrl
add esp, 0x10
test eax, eax
jle 0x428b0d
mov eax, dword [esp + 0x40]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x70], eax
lea eax, [esp + 0x6c]
push eax
push 0x10
push 0x1a
push edi
mov dword [esp + 0x84], ebx
call sub.libcrypto_1_1.dll_EVP_CIPHER_CTX_ctrl
add esp, 0x10
jmp 0x428b54
push 0x10
push dword [esp + 0x44]
call sub.libcrypto_1_1.dll_RAND_bytes
add ebx, 0x10
mov eax, ebx
mov byte [esp + 0x90], bl
shr eax, 8
mov byte [esp + 0x8f], al
lea eax, [esp + 0x84]
push eax
push 0xd
push 0x16
push edi
call sub.libcrypto_1_1.dll_EVP_CIPHER_CTX_ctrl
add eax, ebx
push eax
push dword [esp + 0x68]
push dword [esp + 0x60]
push edi
call sub.libcrypto_1_1.dll_EVP_Cipher
add esp, 0x28
mov ebx, dword [esp + 0x50]
inc esi
cmp dword [0x470578], 0
jne 0x428a80
push dword [0x46fb64]
push 1
call fcn.00437420
add esp, 8
cmp dword [0x470578], 0
fstp qword [esp + 0x50]
je 0x428b91
push 0
push dword [0x470588]
call dword [sym.imp.KERNEL32.dll_TerminateThread]
push dword [0x470588]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 8
call fcn.004403c0
movsd xmm0, qword [esp + 0x58]
mov ecx, str._d__ss_in__.2fs_n
cmp dword [0x47057c], 0
mov eax, str.R:_d:_s:_f_n
movsd qword [esp], xmm0
push 0x458e68
push esi
cmove eax, ecx
push eax
push dword [0x4703fc]
call sub.libcrypto_1_1.dll_BIO_printf
movd xmm1, esi
add esp, 0x18
cvtdq2pd xmm1, xmm1
mov edx, str.Doing__s_for__ds_on__d_size_blocks:
mov eax, dword [esp + 0x5c]
movd xmm0, dword [ebx]
add ebx, 4
divsd xmm1, qword [esp + 0x50]
mov dword [esp + 0x50], ebx
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movsd qword [eax*8 + 0x4709b0], xmm1
inc eax
cmp eax, dword [esp + 0x38]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x44]
jl 0x428a10
cmp dword [0x47057c], 0
mov ebx, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
je 0x428cef
push 0x459f54
push 1
call ebx
add esp, 4
push eax
call fcn.00417f90
add esp, 8
xor esi, esi
nop dword [eax + eax]
mov eax, dword [esp + 0x3c]
push dword [eax + esi*4]
push 0x459fa4
push 1
call ebx
add esp, 4
push eax
call fcn.00417f90
inc esi
add esp, 0xc
cmp esi, dword [esp + 0x38]
jl 0x428c50
push 0x444f18
push 1
call ebx
add esp, 4
push eax
call fcn.00417f90
add esp, 8
push dword [esp + 0x44]
push 0x16
push str.F:_d:_s
push 1
call ebx
add esp, 4
push eax
call fcn.00417f90
mov edi, dword [esp + 0x48]
add esp, 0x10
xor esi, esi
nop dword [eax]
mov eax, 8
call fcn.004403c0
movsd xmm0, qword [esi*8 + 0x4709b0]
movsd qword [esp], xmm0
push str.:_.2f
push 1
call ebx
add esp, 4
push eax
call fcn.00417f90
inc esi
add esp, 0x10
cmp esi, edi
jl 0x428cb0
push 1
call ebx
mov edi, dword [esp + 0x4c]
jmp 0x428ddd
push str.The_numbers_are_in_1000s_of_bytes_per_second_processed._n
push 1
call ebx
add esp, 4
push eax
call fcn.00417f90
add esp, 8
push str.type
push 1
call ebx
add esp, 4
push eax
call fcn.00417f90
mov edi, dword [esp + 0x40]
add esp, 8
xor esi, esi
nop
mov eax, dword [esp + 0x3c]
push dword [eax + esi*4]
push str._7d_bytes
push 1
call ebx
add esp, 4
push eax
call fcn.00417f90
inc esi
add esp, 0xc
cmp esi, edi
jl 0x428d20
push 0x444f18
push 1
call ebx
add esp, 4
push eax
call fcn.00417f90
add esp, 8
push dword [esp + 0x44]
push str.__24s
push 1
call ebx
add esp, 4
push eax
call fcn.00417f90
mov edi, dword [esp + 0x54]
add esp, 0xc
xor esi, esi
movsd xmm0, qword [esi*8 + 0x4709b0]
comisd xmm0, xmmword [0x45a298]
push 1
movsd qword [esp + 0x64], xmm0
jbe 0x428da7
call ebx
movsd xmm0, qword [esp + 0x64]
mov edx, str.__11.2fk
divsd xmm0, qword [0x45a290]
jmp 0x428db4
call ebx
movsd xmm0, qword [esp + 0x64]
mov edx, str.__11.2f
add esp, 4
mov ecx, eax
mov eax, 8
call fcn.004403c0
movsd qword [esp], xmm0
push edx
push ecx
call fcn.00417f90
inc esi
add esp, 0x10
cmp esi, dword [esp + 0x38]
jl 0x428d75
push 1
call ebx
add esp, 4
push 0x444f18
push eax
call fcn.00417f90
push 0xe68
push str.apps_speed.c
push dword [esp + 0x5c]
call sub.libcrypto_1_1.dll_CRYPTO_free
push 0xe69
push str.apps_speed.c
push dword [esp + 0x5c]
call sub.libcrypto_1_1.dll_CRYPTO_free
push edi
call sub.libcrypto_1_1.dll_EVP_CIPHER_CTX_free
mov ecx, dword [esp + 0xe0]
add esp, 0x24
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004403ed
mov esp, ebp
pop ebp
ret