Function at 0x40b7f0
Capabilities:
Hash data using sha1
Hash data using sha256

Disassembly:
mov ecx, dword [0x4769cc]
test ecx, ecx
je 0x40b7ff
call fcn.0040d3a0
push esi
mov esi, dword [0x4769b8]
test esi, esi
je 0x40b83b
mov ecx, dword [esi + 0x64]
test ecx, ecx
je 0x40b821
call fcn.00410fe0
push dword [esi + 0x64]
call fcn.0044a73d
add esp, 4
push dword [esi + 0x6c]
call fcn.0044a73d
mov eax, dword [fcn.004459f0]
push 0x88
push 0
push esi
call eax
add esp, 0x10
cmp dword [0x4769bc], 0
je 0x40b849
call fcn.0040d560
cmp dword [0x4769cc], 0
jne 0x40b866
push 0xd0
push 1
call fcn.0044a732
add esp, 8
mov dword [0x4769cc], eax
cmp dword [0x4769b8], 0
jne 0x40b883
push 0x88
push 1
call fcn.0044a732
add esp, 8
mov dword [0x4769b8], eax
mov eax, dword [0x4769bc]
test eax, eax
jne 0x40b8a8
push 0x8e0
push 1
call fcn.0044a732
add esp, 8
mov dword [0x4769bc], eax
test eax, eax
je 0x40bb54
cmp dword [0x4769cc], 0
je 0x40bb54
mov eax, dword [0x4769b8]
test eax, eax
je 0x40bb54
push edi
push 0x88
push 0
push eax
call fcn.004459f0
mov esi, dword [0x4769cc]
push 0x38
push 0
push esi
call fcn.004459f0
push 0x40
lea eax, [esi + 0x50]
push 0
push eax
call fcn.004459f0
push 0x40
lea eax, [esi + 0x90]
push 0
push eax
call fcn.004459f0
xorps xmm0, xmm0
movq qword [esi + 0x38], xmm0
mov dword [esi + 0x40], 0
movq qword [esi + 0x44], xmm0
mov dword [esi + 0x4c], 0
mov edi, dword [0x4769bc]
push 0x144
push 0
lea eax, [edi + 0x84]
push eax
call fcn.004459f0
push 0x88
lea eax, [edi + 0x1cc]
push 0
push eax
call fcn.004459f0
add esp, 0x48
mov dword [edi + 0x374], 0
lea eax, [edi + 0x454]
push 0x48c
push 0
push eax
call fcn.004459f0
push 0x54
lea eax, [edi + 0x258]
push 0
push eax
call fcn.004459f0
push 0x58
lea eax, [edi + 0x2b0]
push 0
push eax
call fcn.004459f0
push 0x68
lea eax, [edi + 0x30c]
mov dword [edi + 0x254], 0
push 0
push eax
mov dword [edi + 0x258], 0
mov dword [edi + 0x25c], 0x67452301
mov dword [edi + 0x260], 0xefcdab89
mov dword [edi + 0x264], 0x98badcfe
mov dword [edi + 0x268], 0x10325476
mov dword [edi + 0x2ac], 0
mov dword [edi + 0x2b0], 0
mov dword [edi + 0x2b4], 0x67452301
mov dword [edi + 0x2b8], 0xefcdab89
mov dword [edi + 0x2bc], 0x98badcfe
mov dword [edi + 0x2c0], 0x10325476
mov dword [edi + 0x2c4], 0xc3d2e1f0
call fcn.004459f0
mov dword [edi + 0x308], 0
mov dword [edi + 0x30c], 0
mov dword [edi + 0x310], 0x6a09e667
mov dword [edi + 0x314], 0xbb67ae85
mov dword [edi + 0x318], 0x3c6ef372
mov dword [edi + 0x31c], 0xa54ff53a
mov dword [edi + 0x320], 0x510e527f
mov dword [edi + 0x324], 0x9b05688c
mov dword [edi + 0x328], 0x1f83d9ab
mov dword [edi + 0x32c], 0x5be0cd19
push 0xd8
lea esi, [edi + 0x378]
mov dword [edi + 0x370], 0
push 0
push esi
call fcn.004459f0
mov edx, 1
mov ecx, esi
call fcn.00412cc0
push 0x7c
lea eax, [edi + 8]
mov dword [edi + 0x450], 0x40a9b0
push 0
push eax
mov dword [edi], 0
mov dword [edi + 4], 0
call fcn.004459f0
add esp, 0x48
lea ecx, [edi + 0x84]
call fcn.004144c0
mov dword [edi + 0x1c8], 3
mov eax, dword [0x476980]
pop edi
test byte [eax + 0xcc], 2
je 0x40bb50
mov ecx, dword [0x4769bc]
mov eax, dword [0x4769c4]
mov dword [ecx + 0x200], eax
mov eax, dword [0x476980]
mov cl, byte [eax + 0xcc]
mov eax, dword [0x4769bc]
and cl, 1
add cl, cl
mov byte [eax + 0x1ec], cl
cmp dword [0x4769d4], 0
je 0x40bb50
push 0
push str.set_timer_to__d_ms
push 0x51
push str.C:UserspentesterDownloadsxxxxxxxcs4.5externalmbedtls_2.14.1library_ssl_tls.c
push 3
push 0x476980
call fcn.00411980
push 0
push 0
push dword [0x4769d0]
call dword [0x4769d4]
add esp, 0x24
xor eax, eax
pop esi
ret
push str.alloc___of_ssl_sub_contexts_failed
push 0x1a28
push str.C:UserspentesterDownloadsxxxxxxxcs4.5externalmbedtls_2.14.1library_ssl_tls.c
push 1
push 0x476980
call fcn.00411980
push dword [0x4769bc]
call fcn.0044a73d
push dword [0x4769cc]
call fcn.0044a73d
push dword [0x4769b8]
call fcn.0044a73d
add esp, 0x20
mov dword [0x4769bc], 0
mov dword [0x4769cc], 0
mov eax, 0xffff8100
mov dword [0x4769b8], 0
pop esi
ret