Function at 0x1400145fc
Capabilities:
Hash data using sha256
Hash data with md5

Disassembly:
push rbp
push rdi
push r12
push r14
push r15
mov eax, 0x2680
call fcn.140027750
sub rsp, rax
lea rbp, [rsp + 0x30]
mov qword [rbp + 0x2688], rbx
mov qword [rbp + 0x2690], rsi
mov rax, qword [0x1400dc020]
xor rax, rbp
mov qword [rbp + 0x2640], rax
mov rsi, rcx
mov qword [rbp + 8], rcx
lea r15, [0x1400dd4b8]
xor r12d, r12d
cmp qword [0x1400dd4c8], r12
jne 0x140014ddf
mov r14d, 0x1000
mov r8d, r14d
xor edx, edx
lea rcx, [rbp + 0x640]
call fcn.140028c20
mov r8d, r14d
xor edx, edx
lea rcx, [rbp + 0x1640]
call fcn.140028c20
lea rdx, [0x1400d20e0]
lea rcx, [rbp + 0x1c0]
call fcn.140014f28
nop
lea rdx, [0x1400d20e0]
lea rcx, [rbp + 0x10]
call fcn.140014f28
mov r8, rax
cmp qword [rax + 0x18], 0x10
jb 0x1400146ad
mov r8, qword [rax]
or rdi, 0xffffffffffffffff
test r8, r8
je 0x140014728
mov rax, rdi
inc rax
cmp byte [r8 + rax], r12b
jne 0x1400146b9
lea edx, [rax + 1]
cmp edx, 0x3fffffff
jg 0x140014728
cdqe
lea rax, [rax*2 + 2]
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x1400146ea
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.140027750
sub rsp, rcx
lea rbx, [rsp + 0x30]
test rbx, rbx
je 0x140014728
mov word [rbx], r12w
mov dword [rsp + 0x28], edx
mov qword [rsp + 0x20], rbx
mov r9d, edi
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
neg eax
sbb rdx, rdx
and rdx, rbx
jmp 0x14001472b
mov rdx, r12
mov qword [rbp + 0x30], r12
mov qword [rbp + 0x40], r12
mov qword [rbp + 0x48], 7
mov word [rbp + 0x30], r12w
lea rax, [rdx - 1]
lea rcx, [rbp + 0x30]
cmp rax, 0xfffe
ja 0x14001475a
movzx edx, dx
call fcn.140024ddc
jmp 0x140014760
call fcn.140024724
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x140014797
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, r14
jb 0x140014792
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140014e2b
call fcn.140026e6c
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x28], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x10], r12b
lea rdx, [0x1400d2118]
lea rcx, [rbp + 0x110]
call fcn.1400244dc
nop
lea rcx, [rbp + 0xf0]
call fcn.140014384
nop
lea rcx, [rbp + 0xd0]
call fcn.1400208b4
nop
lea rcx, [rbp + 0xb0]
call fcn.140008e3c
nop
lea rcx, [rbp + 0x90]
call fcn.1400204a0
nop
lea rcx, [rbp + 0x70]
call fcn.140009054
nop
lea r8, [rbp + 0x110]
cmp qword [rbp + 0x128], 8
cmovae r8, qword [rbp + 0x110]
mov ebx, 0x800
mov edx, ebx
lea rcx, [rbp + 0x640]
call fcn.1400359a4
lea r8, [rbp + 0xf0]
cmp qword [rbp + 0x108], 8
cmovae r8, qword [rbp + 0xf0]
mov edx, ebx
lea rcx, [rbp + 0x640]
call fcn.140035a0c
lea r8, [rbp + 0xd0]
cmp qword [rbp + 0xe8], 8
cmovae r8, qword [rbp + 0xd0]
mov edx, ebx
lea rcx, [rbp + 0x640]
call fcn.140035a0c
lea r8, [rbp + 0xb0]
cmp qword [rbp + 0xc8], 8
cmovae r8, qword [rbp + 0xb0]
mov edx, ebx
lea rcx, [rbp + 0x640]
call fcn.140035a0c
lea r8, [rbp + 0x30]
cmp qword [rbp + 0x48], 8
cmovae r8, qword [rbp + 0x30]
mov edx, ebx
lea rcx, [rbp + 0x640]
call fcn.140035a0c
lea r8, [rbp + 0x70]
cmp qword [rbp + 0x88], 8
cmovae r8, qword [rbp + 0x70]
mov edx, ebx
lea rcx, [rbp + 0x1640]
call fcn.140035a0c
lea r8, [rbp + 0x90]
cmp qword [rbp + 0xa8], 8
cmovae r8, qword [rbp + 0x90]
mov edx, ebx
lea rcx, [rbp + 0x1640]
call fcn.140035a0c
lea r8, [rbp + 0x30]
cmp qword [rbp + 0x48], 8
cmovae r8, qword [rbp + 0x30]
mov edx, ebx
lea rcx, [rbp + 0x1640]
call fcn.140035a0c
mov qword [rbp + 0x130], r12
mov qword [rbp + 0x138], r12
mov dword [rbp + 0x180], 0x6a09e667
mov dword [rbp + 0x184], 0xbb67ae85
mov dword [rbp + 0x188], 0x3c6ef372
mov dword [rbp + 0x18c], 0xa54ff53a
mov dword [rbp + 0x190], 0x510e527f
mov dword [rbp + 0x194], 0x9b05688c
mov dword [rbp + 0x198], 0x1f83d9ab
mov dword [rbp + 0x19c], 0x5be0cd19
mov edx, ebx
lea rcx, [rbp + 0x640]
call fcn.140034ea8
lea r9, [rax + rax]
lea r8, [rbp + 0x640]
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x130]
call fcn.14001f404
nop
mov edx, ebx
lea rcx, [rbp + 0x1640]
call fcn.140034ea8
lea r9, [rax + rax]
lea r8, [rbp + 0x1640]
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0x130]
call fcn.14001f404
nop
mov rdx, rax
cmp qword [rax + 0x18], 0x10
jb 0x1400149cd
mov rdx, qword [rax]
mov r8, qword [rax + 0x10]
lea rcx, [rbp + 0x50]
call fcn.140021048
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x140014a12
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, r14
jb 0x140014a0d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140014e31
call fcn.140026e6c
mov ebx, 0x400
mov r8d, ebx
xor edx, edx
lea rcx, [rbp + 0x240]
call fcn.140028c20
mov word [rbp + 1], reloc.WS2_32.dll_WSAStartup
mov byte [rbp], 0x25
lea r9, [rbp + 0x50]
cmp qword [rbp + 0x68], 0x10
cmovae r9, qword [rbp + 0x50]
lea r8, [rbp]
mov edx, ebx
lea rcx, [rbp + 0x240]
call fcn.140023214
mov qword [rbp + 0x1e0], r12
mov qword [rbp + 0x1e8], r12
mov dword [rbp + 0x230], 0x67452301
mov dword [rbp + 0x234], 0xefcdab89
mov dword [rbp + 0x238], 0x98badcfe
mov dword [rbp + 0x23c], 0x10325476
lea rdx, [rbp + 0x240]
lea rcx, [rbp + 0x1e0]
call fcn.140010318
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x1e0]
call fcn.14001ed34
mov r9, rax
cmp qword [rax + 0x18], 0x10
jb 0x140014abb
mov r9, qword [rax]
mov rax, r15
test r9, r9
jne 0x140014ae2
mov qword [0x1400dd4c8], r12
cmp qword [reloc.WS2_32.dll_ntohs], 0x10
cmovae rax, qword [0x1400dd4b8]
mov byte [rax], r12b
jmp 0x140014c89
mov rcx, qword [reloc.WS2_32.dll_ntohs]
mov r8, qword [0x1400dd4b8]
cmp rcx, 0x10
cmovae rax, r8
cmp r9, rax
jb 0x140014c49
mov rax, r15
cmp rcx, 0x10
cmovae rax, r8
mov rdx, qword [0x1400dd4c8]
add rax, rdx
cmp r9, rax
ja 0x140014c49
mov rax, r15
cmp rcx, 0x10
cmovae rax, r8
sub r9, rax
mov qword [rbp + 0x10], r12
mov qword [rbp + 0x28], reloc.WS2_32.dll_ntohs
cmp rdx, r9
jb 0x140014e37
sub rdx, r9
cmp rdx, rdi
cmovb rdi, rdx
cmp rcx, 0x10
cmovae r15, r8
add r15, r9
cmp rdi, 0xf
ja 0x140014b7a
mov qword [rbp + 0x20], rdi
mov r8, rdi
mov rdx, r15
lea rcx, [rbp + 0x10]
call fcn.140028de0
mov byte [rbp + rdi + 0x10], r12b
jmp 0x140014bfa
movabs rbx, 0x7fffffffffffffff
cmp rdi, rbx
ja 0x140014e3d
mov rax, rdi
or rax, 0xf
cmp rax, rbx
jbe 0x140014ba5
movabs rcx, 0x8000000000000000
jmp 0x140014bbd
mov rbx, rax
mov ecx, socket
cmp rax, rcx
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, r14
jb 0x140014bc7
call fcn.140021a0c
mov r14, rax
jmp 0x140014bd6
test rcx, rcx
je 0x140014bd3
call fcn.140026e74
jmp 0x140014bc2
mov r14, r12
mov qword [rbp + 0x20], rdi
mov qword [rbp + 0x28], rbx
mov r8, rdi
mov rdx, r15
mov rcx, r14
call fcn.140028de0
mov byte [r14 + rdi], r12b
mov qword [rbp + 0x10], r14
mov r14d, 0x1000
mov r8b, r12b
lea rdx, [rbp + 0x10]
lea r15, [0x1400dd4b8]
mov rcx, r15
call fcn.1400217b4
mov rdx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x140014c89
inc rdx
mov rcx, qword [rbp + 0x10]
mov rax, rcx
cmp rdx, r14
jb 0x140014c42
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140014e43
call fcn.140026e6c
jmp 0x140014c89
inc rdi
cmp byte [r9 + rdi], r12b
jne 0x140014c49
cmp rdi, rcx
ja 0x140014c7d
mov rbx, r15
cmp rcx, 0x10
cmovae rbx, r8
mov qword [0x1400dd4c8], rdi
mov r8, rdi
mov rdx, r9
mov rcx, rbx
call fcn.140028de0
mov byte [rbx + rdi], r12b
jmp 0x140014c89
mov rdx, rdi
mov rcx, r15
call fcn.140021a48
nop
mov rdx, qword [rbp + 0x1b8]
cmp rdx, 0x10
jb 0x140014cc7
inc rdx
mov rcx, qword [rbp + 0x1a0]
mov rax, rcx
cmp rdx, r14
jb 0x140014cc1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140014e49
call fcn.140026e6c
nop
mov rdx, qword [rbp + 0x68]
cmp rdx, 0x10
jb 0x140014cfe
inc rdx
mov rcx, qword [rbp + 0x50]
mov rax, rcx
cmp rdx, r14
jb 0x140014cf9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140014e4f
call fcn.140026e6c
mov qword [rbp + 0x60], r12
mov qword [rbp + 0x68], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x50], r12b
lea rcx, [rbp + 0x70]
call fcn.140024f74
nop
lea rcx, [rbp + 0x90]
call fcn.140024f74
nop
lea rcx, [rbp + 0xb0]
call fcn.140024f74
nop
lea rcx, [rbp + 0xd0]
call fcn.140024f74
nop
lea rcx, [rbp + 0xf0]
call fcn.140024f74
nop
lea rcx, [rbp + 0x110]
call fcn.140024f74
nop
mov rdx, qword [rbp + 0x48]
cmp rdx, 8
jb 0x140014d95
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, r14
jb 0x140014d90
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140014e55
call fcn.140026e6c
mov qword [rbp + 0x40], r12
mov qword [rbp + 0x48], 7
mov word [rbp + 0x30], r12w
mov rdx, qword [rbp + 0x1d8]
cmp rdx, 0x10
jb 0x140014ddf
inc rdx
mov rcx, qword [rbp + 0x1c0]
mov rax, rcx
cmp rdx, r14
jb 0x140014dda
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140014e25
call fcn.140026e6c
mov qword [rsi], r12
mov qword [rsi + 0x10], r12
mov qword [rsi + 0x18], r12
mov rdx, r15
mov rcx, rsi
call fcn.140021714
mov rax, rsi
mov rcx, qword [rbp + 0x2640]
xor rcx, rbp
call fcn.140026bb0
mov rbx, qword [rbp + 0x2688]
mov rsi, qword [rbp + 0x2690]
lea rsp, [rbp + 0x2650]
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
call fcn.14002d728
nop
call fcn.14002d728
nop
call fcn.14002d728
nop
call fcn.14002162c
int3
call fcn.1400218f8
int3
call fcn.14002d728
nop
call fcn.14002d728
nop
call fcn.14002d728
nop
call fcn.14002d728
int3