Function at 0x14008e6a0
Capabilities:
Hash data using sha1

Disassembly:
mov rax, rsp
mov byte [rax + 0x20], r9b
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x940
mov qword [rsp + 0xa0], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov r14, r8
mov r13, rdx
mov r15, rcx
test r9b, r9b
jne 0x14008e6ea
call fcn.14008df10
test al, al
je 0x14008ec6f
call fcn.140086c40
mov rbx, rax
xor edi, edi
cmp qword [rax + 0x10], rdi
jne 0x14008e71d
lea ecx, [rdi + 0x10]
call fcn.14009889c
mov qword [rsp + 0x20], rax
test rax, rax
je 0x14008e716
mov rcx, rax
call 0x14008afd0
jmp 0x14008e719
mov rax, rdi
mov qword [rbx + 0x10], rax
mov rbp, qword [rbx + 0x10]
mov esi, dword [rbp]
sub esi, dword [rbp + 4]
mov eax, 0x40
cmp rsi, rax
cmova rsi, rax
mov rbx, rdi
or r12d, 0xffffffff
test rsi, rsi
je 0x14008e789
nop
mov edx, dword [rbp + 4]
add rdx, rbx
shl rdx, 2
mov rcx, qword [rbp + 8]
mov rax, qword [rcx + 0x10]
sub rax, 4
cmp rdx, rax
ja 0x14008e775
mov r9d, 4
lea r8, [rsp + 0x20]
call fcn.140089470
test al, al
je 0x14008e775
mov eax, dword [rsp + 0x20]
jmp 0x14008e778
mov eax, r12d
mov dword [rsp + rbx*4 + 0x30], eax
inc rbx
cmp rbx, rsi
jb 0x14008e740
mov eax, 0x40
mov qword [rsp + 0x20], rax
lea rdx, [rsi*4]
lea r9, [rsp + 0x20]
lea r8, [rsp + 0xc0]
lea rcx, [rsp + 0x30]
call fcn.1400897c0
mov rdx, qword [rsp + 0x20]
mov byte [rsp + rdx + 0xc0], 0
mov dword [rsp + 0x84], edi
mov dword [rsp + 0x80], edi
mov rbx, rdi
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x88], 0x67452301
mov dword [rsp + 0x8c], 0xefcdab89
mov dword [rsp + 0x90], 0x98badcfe
mov dword [rsp + 0x94], 0x10325476
mov dword [rsp + 0x98], 0xc3d2e1f0
mov byte [rsp + 0x30], bl
mov rax, qword [r13 + 0x10]
sub rax, 4
cmp rax, 0x10
jb 0x14008e83a
mov r9d, 4
lea r8, [rsp + 0x20]
lea edx, [r9 + 0xc]
mov rcx, r13
call fcn.140089470
test al, al
je 0x14008e83a
mov esi, dword [rsp + 0x20]
jmp 0x14008e83d
mov esi, r12d
mov rax, qword [r13 + 0x10]
sub rax, 4
cmp rax, 0xc
jb 0x14008e86b
mov r9d, 4
lea r8, [rsp + 0x20]
lea edx, [r9 + 8]
mov rcx, r13
call fcn.140089470
test al, al
je 0x14008e86b
mov r12d, dword [rsp + 0x20]
mov ebp, esi
test esi, esi
je 0x14008e8ee
mov esi, r12d
mov rax, qword [r13 + 0x10]
dec rax
cmp rsi, rax
ja 0x14008e8a1
mov r9d, 1
lea r8, [rsp + 0x28]
mov rdx, rsi
mov rcx, r13
call fcn.140089470
test al, al
je 0x14008e8a1
movzx eax, byte [rsp + 0x28]
jmp 0x14008e8a3
mov al, 0xff
mov byte [rsp + rbx + 0x40], al
mov rbx, qword [rsp + 0x38]
inc rbx
mov qword [rsp + 0x38], rbx
add dword [rsp + 0x84], 8
jne 0x14008e8c5
inc dword [rsp + 0x80]
cmp rbx, 0x40
jne 0x14008e8da
lea rcx, [rsp + 0x30]
call fcn.140089b90
mov rbx, qword [rsp + 0x38]
inc rsi
sub rbp, 1
jne 0x14008e874
cmp byte [rsp + 0x30], bpl
jne 0x14008e9ac
mov byte [rsp + rbx + 0x40], 0x80
mov rax, qword [rsp + 0x38]
inc rax
mov qword [rsp + 0x38], rax
cmp rax, 0x38
jbe 0x14008e930
cmp rax, 0x40
jae 0x14008e921
lea rcx, [rsp + rax + 0x40]
mov r8d, 0x40
sub r8, rax
xor edx, edx
call fcn.14009e560
lea rcx, [rsp + 0x30]
call fcn.140089b90
mov rax, qword [rsp + 0x38]
cmp rax, 0x38
jae 0x14008e94b
lea rcx, [rsp + rax + 0x40]
mov r8d, 0x38
sub r8, rax
xor edx, edx
call fcn.14009e560
mov eax, dword [rsp + 0x80]
shr eax, 0x10
rol ax, 8
movzx edx, ax
movzx eax, word [rsp + 0x80]
rol ax, 8
movzx ecx, ax
shl ecx, 0x10
or edx, ecx
mov dword [rsp + 0x78], edx
mov eax, dword [rsp + 0x84]
shr eax, 0x10
rol ax, 8
movzx edx, ax
movzx eax, word [rsp + 0x84]
rol ax, 8
movzx ecx, ax
shl ecx, 0x10
or edx, ecx
mov dword [rsp + 0x7c], edx
lea rcx, [rsp + 0x30]
call fcn.140089b90
mov byte [rsp + 0x30], 1
mov r8, rdi
nop
mov edx, dword [rsp + r8 + 0x88]
mov eax, edx
shr eax, 0x10
rol ax, 8
movzx ecx, ax
rol dx, 8
movzx eax, dx
shl eax, 0x10
or ecx, eax
mov dword [rsp + r8 + 0xa8], ecx
add r8, 4
cmp r8, 0x14
jb 0x14008e9b0
mov qword [rsp + 0x20], 0x40
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x100]
mov edx, socket
lea rcx, [rsp + 0xa8]
call fcn.1400897c0
mov rdx, qword [rsp + 0x20]
mov byte [rsp + rdx + 0x100], 0
lea rax, [0x1400aaa50]
lea rdx, [0x1400aaa68]
movzx esi, byte [rsp + 0x988]
test sil, sil
cmovne rdx, rax
mov r8, r14
mov rcx, r15
call fcn.14008e500
lea r11, [0x1400aaa80]
mov rcx, rdi
cmp byte [r15 + 8], cl
je 0x14008ea60
nop
inc rcx
cmp byte [rcx + r15 + 8], 0
jne 0x14008ea50
nop dword [rax + rax]
cmp rcx, 0x800
jae 0x14008ea7e
movzx eax, byte [r11]
mov byte [rcx + r15 + 8], al
inc rcx
inc r11
cmp byte [r11], 0
jne 0x14008ea60
mov byte [rcx + r15 + 8], 0
lea rcx, [rsp + 0xc0]
mov rax, rdi
cmp byte [r15 + 8], al
je 0x14008eaa0
inc rax
cmp byte [rax + r15 + 8], 0
jne 0x14008ea95
cmp byte [rsp + 0xc0], 0
je 0x14008eb27
nop word [rax + rax]
cmp rax, 0x7fc
jae 0x14008eb27
movzx r8d, byte [rcx]
mov dl, r8b
cmp r8b, 0x2b
je 0x14008eb09
cmp dl, 0x2f
je 0x14008eaf1
cmp dl, 0x3d
je 0x14008ead9
mov byte [rax + r15 + 8], r8b
inc rax
jmp 0x14008eb1f
mov byte [rax + r15 + 8], 0x25
mov byte [rax + r15 + 9], gethostbyname
mov byte [rax + r15 + 0xa], 0x44
add rax, 3
jmp 0x14008eb1f
mov byte [rax + r15 + 8], 0x25
mov byte [rax + r15 + 9], gethostbyname
mov byte [rax + r15 + 0xa], 0x46
add rax, 3
jmp 0x14008eb1f
mov byte [rax + r15 + 8], 0x25
mov byte [rax + r15 + 9], gethostbyname
mov byte [rax + r15 + 0xa], 0x42
add rax, 3
inc rcx
cmp byte [rcx], 0
jne 0x14008eab0
mov byte [rax + r15 + 8], 0
lea rdx, [0x1400aaa88]
mov rcx, rdi
cmp byte [r15 + 8], cl
je 0x14008eb50
nop dword [rax]
inc rcx
cmp byte [rcx + r15 + 8], 0
jne 0x14008eb40
nop dword [rax + rax]
cmp rcx, 0x800
jae 0x14008eb6c
movzx eax, byte [rdx]
mov byte [rcx + r15 + 8], al
inc rcx
inc rdx
cmp byte [rdx], 0
jne 0x14008eb50
mov byte [rcx + r15 + 8], 0
lea rax, [rsp + 0x100]
cmp byte [r15 + 8], 0
je 0x14008eb8c
inc rdi
cmp byte [rdi + r15 + 8], 0
jne 0x14008eb81
cmp byte [rsp + 0x100], 0
je 0x14008ec0b
cmp rdi, 0x7fc
jae 0x14008ec0b
movzx edx, byte [rax]
mov cl, dl
cmp dl, 0x2b
je 0x14008ebed
cmp dl, 0x2f
je 0x14008ebd5
cmp dl, 0x3d
je 0x14008ebbd
mov byte [rdi + r15 + 8], dl
inc rdi
jmp 0x14008ec03
mov byte [rdi + r15 + 8], 0x25
mov byte [rdi + r15 + 9], gethostbyname
mov byte [rdi + r15 + 0xa], 0x44
add rdi, 3
jmp 0x14008ec03
mov byte [rdi + r15 + 8], 0x25
mov byte [rdi + r15 + 9], gethostbyname
mov byte [rdi + r15 + 0xa], 0x46
add rdi, 3
jmp 0x14008ec03
mov byte [rdi + r15 + 8], 0x25
mov byte [rdi + r15 + 9], gethostbyname
mov byte [rdi + r15 + 0xa], 0x42
add rdi, 3
inc rax
cmp byte [rax], 0
jne 0x14008eb96
mov byte [rdi + r15 + 8], 0
test sil, sil
je 0x14008ec6d
lea r8, [r15 + 8]
mov edx, 0x800
lea rcx, [rsp + 0x140]
call fcn.140099170
mov qword [rsp + 0x20], 0x800
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0x140]
repne scasb al, byte [rdi]
not rcx
lea rdx, [rcx - 1]
lea r9, [rsp + 0x20]
lea r8, [r15 + 8]
lea rcx, [rsp + 0x140]
call fcn.1400897c0
mov rdx, qword [rsp + 0x20]
mov byte [rdx + r15 + 8], 0
mov al, 1
lea r11, [rsp + 0x940]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret