Function at 0x18048d6a0
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 0x18048d6ea
call fcn.18048cf10
test al, al
je 0x18048dc6f
call fcn.180485c40
mov rbx, rax
xor edi, edi
cmp qword [rax + 0x10], rdi
jne 0x18048d71d
lea ecx, [rdi + 0x10]
call fcn.18049789c
mov qword [rsp + 0x20], rax
test rax, rax
je 0x18048d716
mov rcx, rax
call 0x180489fd0
jmp 0x18048d719
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 0x18048d789
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 0x18048d775
mov r9d, 4
lea r8, [rsp + 0x20]
call fcn.180488470
test al, al
je 0x18048d775
mov eax, dword [rsp + 0x20]
jmp 0x18048d778
mov eax, r12d
mov dword [rsp + rbx*4 + 0x30], eax
inc rbx
cmp rbx, rsi
jb 0x18048d740
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.1804887c0
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 0x18048d83a
mov r9d, 4
lea r8, [rsp + 0x20]
lea edx, [r9 + 0xc]
mov rcx, r13
call fcn.180488470
test al, al
je 0x18048d83a
mov esi, dword [rsp + 0x20]
jmp 0x18048d83d
mov esi, r12d
mov rax, qword [r13 + 0x10]
sub rax, 4
cmp rax, 0xc
jb 0x18048d86b
mov r9d, 4
lea r8, [rsp + 0x20]
lea edx, [r9 + 8]
mov rcx, r13
call fcn.180488470
test al, al
je 0x18048d86b
mov r12d, dword [rsp + 0x20]
mov ebp, esi
test esi, esi
je 0x18048d8ee
mov esi, r12d
mov rax, qword [r13 + 0x10]
dec rax
cmp rsi, rax
ja 0x18048d8a1
mov r9d, 1
lea r8, [rsp + 0x28]
mov rdx, rsi
mov rcx, r13
call fcn.180488470
test al, al
je 0x18048d8a1
movzx eax, byte [rsp + 0x28]
jmp 0x18048d8a3
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 0x18048d8c5
inc dword [rsp + 0x80]
cmp rbx, 0x40
jne 0x18048d8da
lea rcx, [rsp + 0x30]
call fcn.180488b90
mov rbx, qword [rsp + 0x38]
inc rsi
sub rbp, 1
jne 0x18048d874
cmp byte [rsp + 0x30], bpl
jne 0x18048d9ac
mov byte [rsp + rbx + 0x40], 0x80
mov rax, qword [rsp + 0x38]
inc rax
mov qword [rsp + 0x38], rax
cmp rax, 0x38
jbe 0x18048d930
cmp rax, 0x40
jae 0x18048d921
lea rcx, [rsp + rax + 0x40]
mov r8d, 0x40
sub r8, rax
xor edx, edx
call fcn.18049d560
lea rcx, [rsp + 0x30]
call fcn.180488b90
mov rax, qword [rsp + 0x38]
cmp rax, 0x38
jae 0x18048d94b
lea rcx, [rsp + rax + 0x40]
mov r8d, gethostname
sub r8, rax
xor edx, edx
call fcn.18049d560
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.180488b90
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 0x18048d9b0
mov qword [rsp + 0x20], 0x40
lea r9, [rsp + 0x20]
lea r8, [rsp + 0x100]
mov edx, reloc.WS2_32.dll_sendto
lea rcx, [rsp + 0xa8]
call fcn.1804887c0
mov rdx, qword [rsp + 0x20]
mov byte [rsp + rdx + 0x100], 0
lea rax, [0x1804a9a50]
lea rdx, [0x1804a9a68]
movzx esi, byte [rsp + 0x988]
test sil, sil
cmovne rdx, rax
mov r8, r14
mov rcx, r15
call fcn.18048d500
lea r11, [0x1804a9a80]
mov rcx, rdi
cmp byte [r15 + 8], cl
je 0x18048da60
nop
inc rcx
cmp byte [rcx + r15 + 8], 0
jne 0x18048da50
nop dword [rax + rax]
cmp rcx, 0x800
jae 0x18048da7e
movzx eax, byte [r11]
mov byte [rcx + r15 + 8], al
inc rcx
inc r11
cmp byte [r11], 0
jne 0x18048da60
mov byte [rcx + r15 + 8], 0
lea rcx, [rsp + 0xc0]
mov rax, rdi
cmp byte [r15 + 8], al
je 0x18048daa0
inc rax
cmp byte [rax + r15 + 8], 0
jne 0x18048da95
cmp byte [rsp + 0xc0], 0
je 0x18048db27
nop word [rax + rax]
cmp rax, 0x7fc
jae 0x18048db27
movzx r8d, byte [rcx]
mov dl, r8b
cmp r8b, 0x2b
je 0x18048db09
cmp dl, 0x2f
je 0x18048daf1
cmp dl, 0x3d
je 0x18048dad9
mov byte [rax + r15 + 8], r8b
inc rax
jmp 0x18048db1f
mov byte [rax + r15 + 8], Ordinal_41
mov byte [rax + r15 + 9], 0x33
mov byte [rax + r15 + 0xa], 0x44
add rax, 3
jmp 0x18048db1f
mov byte [rax + r15 + 8], Ordinal_41
mov byte [rax + r15 + 9], reloc.WLDAP32.dll_Ordinal_50
mov byte [rax + r15 + 0xa], 0x46
add rax, 3
jmp 0x18048db1f
mov byte [rax + r15 + 8], Ordinal_41
mov byte [rax + r15 + 9], reloc.WLDAP32.dll_Ordinal_50
mov byte [rax + r15 + 0xa], 0x42
add rax, 3
inc rcx
cmp byte [rcx], 0
jne 0x18048dab0
mov byte [rax + r15 + 8], 0
lea rdx, [0x1804a9a88]
mov rcx, rdi
cmp byte [r15 + 8], cl
je 0x18048db50
nop dword [rax]
inc rcx
cmp byte [rcx + r15 + 8], 0
jne 0x18048db40
nop dword [rax + rax]
cmp rcx, 0x800
jae 0x18048db6c
movzx eax, byte [rdx]
mov byte [rcx + r15 + 8], al
inc rcx
inc rdx
cmp byte [rdx], 0
jne 0x18048db50
mov byte [rcx + r15 + 8], 0
lea rax, [rsp + 0x100]
cmp byte [r15 + 8], 0
je 0x18048db8c
inc rdi
cmp byte [rdi + r15 + 8], 0
jne 0x18048db81
cmp byte [rsp + 0x100], 0
je 0x18048dc0b
cmp rdi, 0x7fc
jae 0x18048dc0b
movzx edx, byte [rax]
mov cl, dl
cmp dl, 0x2b
je 0x18048dbed
cmp dl, 0x2f
je 0x18048dbd5
cmp dl, 0x3d
je 0x18048dbbd
mov byte [rdi + r15 + 8], dl
inc rdi
jmp 0x18048dc03
mov byte [rdi + r15 + 8], Ordinal_41
mov byte [rdi + r15 + 9], 0x33
mov byte [rdi + r15 + 0xa], 0x44
add rdi, 3
jmp 0x18048dc03
mov byte [rdi + r15 + 8], Ordinal_41
mov byte [rdi + r15 + 9], reloc.WLDAP32.dll_Ordinal_50
mov byte [rdi + r15 + 0xa], 0x46
add rdi, 3
jmp 0x18048dc03
mov byte [rdi + r15 + 8], Ordinal_41
mov byte [rdi + r15 + 9], reloc.WLDAP32.dll_Ordinal_50
mov byte [rdi + r15 + 0xa], 0x42
add rdi, 3
inc rax
cmp byte [rax], 0
jne 0x18048db96
mov byte [rdi + r15 + 8], 0
test sil, sil
je 0x18048dc6d
lea r8, [r15 + 8]
mov edx, 0x800
lea rcx, [rsp + 0x140]
call fcn.180498170
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.1804887c0
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