Function at 0x1002e990
Capabilities:
Hash data using sha1

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1bc
mov eax, dword [0x100b5004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, ecx
push esi
mov esi, edx
push edi
mov eax, dword [ebx + 0x70]
add eax, 0x1cc
mov dword [ebp - 0x1bc], esi
test byte [ebx + 0x3de], 8
je 0x1002eaec
mov ecx, eax
call fcn.10071200
test eax, eax
jne 0x1002ed4a
lea edx, [esi + 0x10]
mov esi, dword [ebx + 0x70]
add esi, 0x168
je 0x1002ed45
test edx, edx
je 0x1002ed45
mov ecx, 0x19
lea edi, [ebp - 0x1b8]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x1b8]
call fcn.1005f990
test eax, eax
jne 0x1002ed4a
mov cl, byte [ebx + 0x20e]
cmp cl, 3
jne 0x1002ea27
cmp byte [ebx + 0x20f], cl
jb 0x1002ed4a
jmp 0x1002ea3d
cmp cl, 0xfe
jne 0x1002ed4a
cmp byte [ebx + 0x20f], 0xfd
ja 0x1002ed4a
mov edx, dword [ebp - 0x1bc]
mov esi, dword [ebx + 0x70]
add edx, 0x24
add esi, 0x22c
je 0x1002ead4
test edx, edx
je 0x1002ead4
mov ecx, 0x1c
lea edi, [ebp - 0x150]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x150]
call fcn.1006d270
mov edx, eax
lea ecx, [ebp - 0x150]
mov eax, 0x70
nop
mov byte [ecx], 0
lea ecx, [ecx + 1]
sub eax, 1
jne 0x1002ea80
test edx, edx
jne 0x1002ead9
mov esi, dword [ebp - 0x1bc]
mov ecx, dword [ebx + 0x70]
add ecx, 0x2a0
lea edx, [esi + 0x44]
call fcn.10064860
test eax, eax
jne 0x1002ed4a
mov ecx, dword [ebx + 0x70]
lea edx, [esi + 0x74]
add ecx, 0x380
push ecx
call fcn.100647e0
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1007bc9e
mov esp, ebp
pop ebp
ret
mov edx, 0xffffff53
mov eax, edx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1007bc9e
mov esp, ebp
pop ebp
ret
test eax, eax
je 0x1002ed45
movups xmm0, xmmword [eax]
mov edx, dword [ebx + 0xc]
lea ecx, [ebp - 0x78]
push 0x30
movups xmmword [ebp - 0x78], xmm0
add edx, 0xa5
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ebp - 0x68], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [ebp - 0x58], xmm0
movups xmm0, xmmword [eax + 0x30]
movups xmmword [ebp - 0x48], xmm0
movups xmm0, xmmword [eax + 0x40]
movups xmmword [ebp - 0x38], xmm0
movups xmm0, xmmword [eax + 0x50]
movups xmmword [ebp - 0x28], xmm0
call fcn.10070fd0
add esp, 4
test eax, eax
jne 0x1002ed4a
push 0x30
mov edx, str.666666666666666666666666666666666666666666666666key
lea ecx, [ebp - 0x78]
call fcn.10070fd0
add esp, 4
test eax, eax
jne 0x1002ed4a
lea edx, [ebp - 0x14]
lea ecx, [ebp - 0x78]
call fcn.10071100
test eax, eax
jne 0x1002ed4a
mov edx, dword [ebx + 0xc]
lea ecx, [ebp - 0x78]
mov eax, dword [ebx + 0x88]
add edx, 0xa5
push 0x30
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], 0x67452301
mov dword [ebp - 0x28], 0xefcdab89
mov dword [ebp - 0x24], 0x98badcfe
mov dword [ebp - 0x20], 0x10325476
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
call fcn.10070fd0
add esp, 4
test eax, eax
jne 0x1002ed4a
push 0x30
mov edx, str._bad_certificate
lea ecx, [ebp - 0x78]
call fcn.10070fd0
add esp, 4
test eax, eax
jne 0x1002ed4a
push 0x10
lea edx, [ebp - 0x14]
lea ecx, [ebp - 0x78]
call fcn.10070fd0
add esp, 4
test eax, eax
jne 0x1002ed4a
mov edx, esi
lea ecx, [ebp - 0x78]
call fcn.10071100
test eax, eax
jne 0x1002ed4a
mov esi, dword [ebx + 0x70]
add esi, 0x168
je 0x1002ed45
mov edx, dword [ebx + 0xc]
lea edi, [ebp - 0xe0]
mov ecx, 0x19
add edx, 0xa5
rep movsd dword es:[edi], dword [esi]
push 0x30
lea ecx, [ebp - 0xe0]
call fcn.1005f810
add esp, 4
test eax, eax
jne 0x1002ed4a
push 0x28
mov edx, str.666666666666666666666666666666666666666666666666key
lea ecx, [ebp - 0xe0]
call fcn.1005f810
add esp, 4
test eax, eax
jne 0x1002ed4a
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0xe0]
call fcn.1005f990
test eax, eax
jne 0x1002ed4a
mov edx, dword [ebx + 0xc]
lea ecx, [ebp - 0xe0]
mov eax, dword [ebx + 0x88]
add edx, 0xa5
push 0x30
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x94], 0x67452301
mov dword [ebp - 0x90], 0xefcdab89
mov dword [ebp - 0x8c], 0x98badcfe
mov dword [ebp - 0x88], 0x10325476
mov dword [ebp - 0x84], 0xc3d2e1f0
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0
call fcn.1005f810
add esp, 4
test eax, eax
jne 0x1002ed4a
push 0x28
mov edx, str._bad_certificate
lea ecx, [ebp - 0xe0]
call fcn.1005f810
add esp, 4
test eax, eax
jne 0x1002ed4a
push 0x14
lea edx, [ebp - 0x18]
lea ecx, [ebp - 0xe0]
call fcn.1005f810
add esp, 4
test eax, eax
jne 0x1002ed4a
mov edx, dword [ebp - 0x1bc]
lea ecx, [ebp - 0xe0]
add edx, 0x10
call fcn.1005f990
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1007bc9e
mov esp, ebp
pop ebp
ret
mov eax, 0xffffff53
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1007bc9e
mov esp, ebp
pop ebp
ret