joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14026dd50
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
mov rbx, rcx
mov ebp, 0x7ff
movzx ecx, word [rcx + 6]
mov esi, edx
shr cx, 4
and cx, bp
cmp cx, bp
jne 0x14026ddb0
test byte [rbx + 6], 0xf
jne 0x14026dda1
xor edi, edi
cmp word [rbx + 4], di
jne 0x14026dda1
cmp word [rbx + 2], di
jne 0x14026dda1
cmp word [rbx], di
jne 0x14026dda1
lea r10d, [rdi + 1]
jmp 0x14026dda7
mov r10d, 2
movzx eax, r10w
jmp 0x14026dfbb
xor edi, edi
test cx, cx
jne 0x14026ddcb
mov rcx, rbx
call fcn.1402700d8
movzx ecx, ax
cmp di, ax
jl 0x14026dfb8
test esi, esi
jle 0x14026de00
movsx eax, cx
sub ebp, eax
cmp ebp, esi
jg 0x14026de00
movsd xmm0, qword [0x1403e3af0]
mov ebp, 0x8000
test word [rbx + 6], bp
je 0x14026ddf2
xorps xmm0, xmmword [0x1402f06d0]
movsd qword [rbx], xmm0
mov eax, 1
jmp 0x14026dfbb
movsx edx, cx
mov eax, edx
neg eax
cmp eax, esi
jge 0x14026de27
add si, cx
mov eax, 0x800f
and word [rbx + 6], ax
shl si, 4
or word [rbx + 6], si
or eax, 0xffffffff
jmp 0x14026dfbb
movzx ecx, word [rbx + 6]
lea r11d, [rsi - 1]
movzx r14d, cx
add r11d, edx
and cx, 0xf
mov ebp, 0x8000
mov r15d, reloc.OLEAUT32.dll_SafeArrayGetDim
and r14w, bp
or cx, r15w
lea eax, [r11 + 0x35]
mov word [rbx + 6], cx
cmp eax, 0x34
ja 0x14026dfad
lea r10d, [r15 - 0xf]
movzx esi, di
cmp r11w, 0xfff0
jg 0x14026dec5
movzx edx, word [rbx + 2]
mov eax, 0xfff0
sub ax, r11w
movzx r9d, cx
movzx ecx, word [rbx + 4]
shr ax, 4
add ax, r10w
movzx r8d, ax
movzx eax, r8w
shl ax, 4
add r11w, ax
test si, si
mov eax, edi
setne al
movzx esi, ax
or si, word [rbx]
mov word [rbx], dx
movzx edx, cx
movzx ecx, r9w
mov r9d, edi
sub r8, r10
jne 0x14026de99
mov word [rbx + 6], di
mov word [rbx + 4], cx
mov word [rbx + 2], dx
neg r11w
je 0x14026df4f
movzx r8d, word [rbx]
mov eax, edi
movzx edx, r8w
movsx r9d, r11w
sub r15d, r9d
mov ecx, r15d
shl dx, cl
test si, si
movzx esi, dx
movzx edx, word [rbx + 2]
setne al
or si, ax
movzx eax, dx
shl ax, cl
movzx ecx, r11w
shr r8w, cl
mov ecx, r15d
or ax, r8w
movzx r8d, word [rbx + 4]
mov word [rbx], ax
movzx eax, r8w
shl ax, cl
movzx ecx, r11w
shr dx, cl
mov ecx, r15d
or ax, dx
movzx edx, word [rbx + 6]
mov word [rbx + 2], ax
movzx eax, dx
shl ax, cl
movzx ecx, r11w
shr r8w, cl
mov ecx, r9d
or ax, r8w
shr dx, cl
mov word [rbx + 6], dx
mov word [rbx + 4], ax
or word [rbx + 6], r14w
movzx eax, word [rbx + 6]
cmp bp, si
jb 0x14026df64
jne 0x14026df85
test byte [rbx], r10b
je 0x14026df85
add word [rbx], r10w
jne 0x14026df85
add word [rbx + 2], r10w
jne 0x14026df85
add word [rbx + 4], r10w
jne 0x14026df85
add ax, r10w
mov word [rbx + 6], ax
jmp 0x14026de1f
cmp ax, r14w
jne 0x14026de1f
cmp word [rbx + 4], di
jne 0x14026de1f
cmp word [rbx + 2], di
jne 0x14026de1f
cmp word [rbx], di
je 0x14026dfb8
jmp 0x14026de1f
mov word [rbx + 6], r14w
mov dword [rbx + 2], edi
mov word [rbx], di
movzx eax, di
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret
Function at 0x1402a99bc
Capabilities:
Parse pe header

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
push r15
sub rsp, 0x20
mov esi, r8d
mov ebx, edx
mov r14d, ecx
test r8d, r8d
jne 0x1402a970c
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x1402a970c
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x1402a970c
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x1402a970c
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x1402a970c
cmp dword [rcx + 0x84], 0xe
jbe 0x1402a970c
cmp dword [rcx + 0xf8], esi
je 0x1402a970c
mov ecx, r14d
call fcn.1402a98d0
mov ecx, 2
call fcn.1402abdc8
nop
cmp byte [0x1403f9d88], 0
jne 0x1402a97d6
mov r15d, 1
mov eax, r15d
xchg dword [0x1403f9d78], eax
test ebx, ebx
jne 0x1402a977f
mov rdi, qword [0x1403e39c0]
mov edx, edi
and edx, 0x3f
lea ecx, [rbx + 0x40]
sub ecx, edx
xor eax, eax
ror rax, cl
xor rax, rdi
mov rcx, qword [0x1403f9d80]
cmp rcx, rax
je 0x1402a9776
xor rdi, rcx
mov ecx, edx
ror rdi, cl
mov rcx, rdi
call qword [fcn.140244fb0]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call rdi
lea rcx, [0x1403f9d98]
jmp 0x1402a978b
cmp ebx, r15d
jne 0x1402a9791
lea rcx, [0x1403f9db0]
call fcn.1402abaa0
nop
test ebx, ebx
jne 0x1402a97a8
lea rdx, [0x1402df050]
lea rcx, [0x1402df030]
call fcn.1402a958c
lea rdx, [0x1402df060]
lea rcx, [0x1402df058]
call fcn.1402a958c
movzx eax, byte [0x1403f9d88]
test esi, esi
cmove eax, r15d
mov byte [0x1403f9d88], al
jmp 0x1402a97d6
mov ecx, 2
call fcn.1402abe1c
test esi, esi
jne 0x1402a97ed
mov ecx, r14d
call fcn.1402a9808
int3
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
add rsp, 0x20
pop r15
ret
xor r8d, r8d
xor edx, edx
jmp 0x1402a969c
Function at 0x1402b57b4
Capabilities:
Read file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov qword [rax + 8], rcx
push rbp
mov rbp, rsp
sub rsp, 0x20
test rcx, rcx
jne 0x1402b53e0
call fcn.14027be18
mov dword [rax], reloc.OLEAUT32.dll_SafeArrayAccessData
call fcn.14027bc6c
or eax, 0xffffffff
mov rbx, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop rbp
ret
mov eax, dword [rcx + 0x14]
shr eax, 0xd
test al, 1
je 0x1402b53c8
mov rax, qword [rbp + 0x10]
mov ecx, dword [rax + 0x14]
shr ecx, 0xc
test cl, 1
jne 0x1402b53c8
mov rax, qword [rbp + 0x10]
mov ecx, dword [rax + 0x14]
mov rax, qword [rbp + 0x10]
shr ecx, 1
test cl, 1
je 0x1402b5412
lock or dword [rax + 0x14], 0x10
jmp 0x1402b53c8
lock or dword [rax + 0x14], 1
mov rax, qword [rbp + 0x10]
mov ecx, dword [rax + 0x14]
test ecx, 0x4c0
jne 0x1402b542f
mov rcx, qword [rbp + 0x10]
call fcn.1402b6214
mov rax, qword [rbp + 0x10]
mov rcx, qword [rax + 8]
mov qword [rax], rcx
mov rbx, qword [rbp + 0x10]
mov rcx, rbx
call fcn.1402a6dbc
mov rdx, qword [rbp + 0x10]
mov ecx, eax
mov r8d, dword [rdx + 0x20]
mov rdx, qword [rdx + 8]
call fcn.1402ba2b4
mov dword [rbx + 0x10], eax
mov rax, qword [rbp + 0x10]
mov edx, dword [rax + 0x10]
lea ecx, [rdx + 1]
cmp ecx, 1
ja 0x1402b5486
neg edx
sbb ecx, ecx
and ecx, 8
add ecx, 8
lock or dword [rax + 0x14], ecx
mov rax, qword [rbp + 0x10]
and dword [rax + 0x10], 0
jmp 0x1402b53c8
mov ecx, dword [rax + 0x14]
test cl, 6
jne 0x1402b54f2
mov rcx, qword [rbp + 0x10]
call fcn.1402a6dbc
cmp eax, 0xffffffff
je 0x1402b54d9
mov rcx, qword [rbp + 0x10]
call fcn.1402a6dbc
cmp eax, 0xfffffffe
je 0x1402b54d9
mov rbx, qword [rbp + 0x10]
mov rcx, rbx
call fcn.1402a6dbc
movsxd rdi, eax
lea rsi, [0x1403fa000]
mov rcx, rbx
sar rdi, 6
call fcn.1402a6dbc
and eax, 0x3f
shl rax, 6
add rax, qword [rsi + rdi*8]
jmp 0x1402b54e0
lea rax, [0x1403e3f80]
mov al, byte [rax + 0x38]
and al, 0x82
cmp al, 0x82
jne 0x1402b54f2
mov rax, qword [rbp + 0x10]
lock or dword [rax + 0x14], 0x20
mov rax, qword [rbp + 0x10]
cmp dword [rax + 0x20], 0x200
jne 0x1402b5528
mov ecx, dword [rax + 0x14]
shr ecx, 6
test cl, 1
je 0x1402b5524
mov rax, qword [rbp + 0x10]
mov ecx, dword [rax + 0x14]
shr ecx, 8
test cl, 1
jne 0x1402b5524
mov rax, qword [rbp + 0x10]
mov dword [rax + 0x20], 0x1000
mov rax, qword [rbp + 0x10]
dec dword [rax + 0x10]
mov rcx, qword [rax]
movzx edx, byte [rcx]
inc rcx
mov qword [rax], rcx
mov eax, edx
jmp 0x1402b53cb
jmp 0x1402b5398
Function at 0x1402b57bc
Capabilities:
Read file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov qword [rax + 8], rcx
push rbp
push r14
push r15
mov rbp, rsp
sub rsp, 0x20
test rcx, rcx
jne 0x1402b5592
call fcn.14027be18
mov dword [rax], reloc.OLEAUT32.dll_SafeArrayAccessData
call fcn.14027bc6c
mov eax, 0xffff
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop rbp
ret
mov eax, dword [rcx + 0x14]
shr eax, 0xd
test al, 1
je 0x1402b5574
mov rax, qword [rbp + 0x20]
mov ecx, dword [rax + 0x14]
shr ecx, 0xc
test cl, 1
jne 0x1402b5574
mov rax, qword [rbp + 0x20]
mov ecx, dword [rax + 0x14]
mov rax, qword [rbp + 0x20]
shr ecx, 1
test cl, 1
je 0x1402b55c4
lock or dword [rax + 0x14], 0x10
jmp 0x1402b5574
lock or dword [rax + 0x14], 1
mov rax, qword [rbp + 0x20]
mov ecx, dword [rax + 0x14]
test ecx, 0x4c0
jne 0x1402b55e1
mov rcx, qword [rbp + 0x20]
call fcn.1402b6214
mov rax, qword [rbp + 0x20]
cmp dword [rax + 0x10], 1
jne 0x1402b55f6
mov rcx, qword [rax]
mov sil, 1
mov r14b, byte [rcx]
jmp 0x1402b55fc
xor sil, sil
xor r14b, r14b
mov rcx, qword [rax + 8]
mov qword [rax], rcx
mov rbx, qword [rbp + 0x20]
mov rcx, rbx
call fcn.1402a6dbc
mov rdx, qword [rbp + 0x20]
mov ecx, eax
mov r8d, dword [rdx + 0x20]
mov rdx, qword [rdx + 8]
call fcn.1402ba2b4
mov dword [rbx + 0x10], eax
mov rax, qword [rbp + 0x20]
mov edx, dword [rax + 0x10]
lea ecx, [rdx + 1]
cmp ecx, 2
ja 0x1402b564f
neg edx
sbb ecx, ecx
and ecx, 8
add ecx, 8
lock or dword [rax + 0x14], ecx
mov rax, qword [rbp + 0x20]
and dword [rax + 0x10], 0
jmp 0x1402b5574
mov ecx, dword [rax + 0x14]
test cl, 6
jne 0x1402b56bb
mov rcx, qword [rbp + 0x20]
call fcn.1402a6dbc
cmp eax, 0xffffffff
je 0x1402b56a2
mov rcx, qword [rbp + 0x20]
call fcn.1402a6dbc
cmp eax, 0xfffffffe
je 0x1402b56a2
mov rbx, qword [rbp + 0x20]
mov rcx, rbx
call fcn.1402a6dbc
movsxd rdi, eax
lea r15, [0x1403fa000]
mov rcx, rbx
sar rdi, 6
call fcn.1402a6dbc
and eax, 0x3f
shl rax, 6
add rax, qword [r15 + rdi*8]
jmp 0x1402b56a9
lea rax, [0x1403e3f80]
mov al, byte [rax + 0x38]
and al, 0x82
cmp al, 0x82
jne 0x1402b56bb
mov rax, qword [rbp + 0x20]
lock or dword [rax + 0x14], 0x20
mov rax, qword [rbp + 0x20]
cmp dword [rax + 0x20], 0x200
jne 0x1402b56f1
mov ecx, dword [rax + 0x14]
shr ecx, 6
test cl, 1
je 0x1402b56ed
mov rax, qword [rbp + 0x20]
mov ecx, dword [rax + 0x14]
shr ecx, 8
test cl, 1
jne 0x1402b56ed
mov rax, qword [rbp + 0x20]
mov dword [rax + 0x20], 0x1000
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
test sil, sil
je 0x1402b570f
movzx edx, byte [rcx]
dec dword [rax + 0x10]
shl dx, 8
movzx ecx, r14b
or dx, cx
inc qword [rax]
jmp 0x1402b571a
movzx edx, word [rcx]
add dword [rax + 0x10], 0xfffffffe
add qword [rax], 2
movzx eax, dx
jmp 0x1402b5579
jmp 0x1402b5540
Function at 0x1402bac98
Capabilities:
Create thread
Print debug messages

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r14
sub rsp, 0x50
mov esi, r8d
mov r14, rdx
mov rbx, rcx
call fcn.1402b40a8
mov bpl, al
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
xor edi, edi
test eax, eax
je 0x1402baceb
test rbx, rbx
je 0x1402bacdc
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
test bpl, bpl
je 0x1402baceb
mov edi, 4
jmp 0x1402bad94
call fcn.1402b3e50
test al, al
jne 0x1402bad08
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
neg eax
sbb edi, edi
neg edi
add edi, 3
jmp 0x1402bad94
test bpl, bpl
je 0x1402bad6b
mov qword [rsp + 0x28], rdi
lea r9, [rsp + 0x30]
lea r8, [0x1402baafc]
mov dword [rsp + 0x20], edi
xor edx, edx
mov qword [rsp + 0x30], r14
xor ecx, ecx
mov qword [rsp + 0x38], rbx
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x44], edi
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x1402bad94
xor r8d, r8d
or edx, 0xffffffff
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObjectEx]
mov rcx, rbx
test eax, eax
je 0x1402bad65
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1402bad94
mov edi, dword [rsp + 0x44]
jmp 0x1402bad5d
call fcn.1402b3fd4
test al, al
jne 0x1402bad7c
bts esi, 0x15
xor ecx, ecx
jmp 0x1402bad84
call fcn.1402b3f0c
mov rcx, rax
mov r9d, esi
mov r8, r14
mov rdx, rbx
call fcn.1402b3c88
mov edi, eax
mov rbx, qword [rsp + 0x60]
mov eax, edi
mov rdi, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x50
pop r14
ret
Function at 0x140002df0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov r11d, r8d
mov r10, rdx
not r11d
mov r9, rcx
mov eax, r11d
test rdx, rdx
je 0x140002e4d
lea rbx, [0x1400ac840]
movzx r8d, byte [r9]
lea r9, [r9 + 1]
dec r10
cmp r8b, 0x23
jne 0x140002e34
cmp r10, 2
jb 0x140002e34
cmp byte [r9], r8b
jne 0x140002e34
cmp byte [r9 + 1], r8b
cmove eax, r11d
movzx edx, al
xor rdx, r8
shr eax, 8
xor eax, dword [rbx + rdx*4]
test r10, r10
jne 0x140002e10
not eax
mov rbx, qword [rsp + 8]
ret
movzx r8d, byte [rcx]
inc r9
test r8b, r8b
je 0x140002e8f
lea rbx, [0x1400ac840]
cmp r8b, 0x23
jne 0x140002e73
cmp byte [r9], r8b
jne 0x140002e73
cmp byte [r9 + 1], r8b
cmove eax, r11d
movzx edx, al
movzx ecx, r8b
movzx r8d, byte [r9]
xor rdx, rcx
shr eax, 8
inc r9
xor eax, dword [rbx + rdx*4]
test r8b, r8b
jne 0x140002e60
mov rbx, qword [rsp + 8]
not eax
ret

Function at 0x140002fd0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push r14
sub rsp, 0x20
mov r14, r8
test r8, r8
je 0x140002fea
mov qword [r8], 0
lea rdx, [0x1400ac584]
call fcn.140002ea0
mov rbx, rax
test rax, rax
jne 0x14000300a
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
mov qword [rsp + 0x30], rsi
mov rcx, rbx
mov qword [rsp + 0x38], rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov esi, eax
cmp eax, 0xffffffff
je 0x1400030e3
xor edx, edx
mov r8d, 2
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x1400030e3
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
movsxd rdi, eax
cmp edi, 0xffffffff
je 0x1400030e3
xor r8d, r8d
mov edx, esi
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x1400030e3
cmp rdi, 0xffffffffffffffff
je 0x1400030e3
mov rax, qword [0x1407a66d0]
test rax, rax
je 0x140003080
inc dword [rax + 0x3b0]
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rsi, rax
test rax, rax
je 0x1400030e3
mov r9, rbx
mov r8, rdi
mov edx, 1
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov rcx, rbx
cmp rax, rdi
je 0x1400030d0
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rax, qword [0x1407a66d0]
test rax, rax
je 0x1400030c5
dec dword [rax + 0x3b0]
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x1400030ec
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
test r14, r14
je 0x1400030de
mov qword [r14], rdi
mov rax, rsi
jmp 0x1400030ee
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
xor eax, eax
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
Function at 0x140004e30
Capabilities:
Hash data with crc32

Disassembly:
push rbx
sub rsp, 0x20
movsxd r8, dword [rcx + 0xc8]
mov rax, qword [rcx + 0xd0]
movsxd r9, edx
mov ebx, dword [rax + r8*4 - 4]
lea r8, [0x1400ac840]
not ebx
movzx eax, r9b
movzx ecx, bl
xor rcx, rax
shr ebx, 8
mov eax, r9d
sar eax, 8
movzx edx, al
mov eax, r9d
xor ebx, dword [r8 + rcx*4]
movzx ecx, bl
xor rdx, rcx
shr ebx, 8
sar eax, 0x10
xor ebx, dword [r8 + rdx*4]
movzx ecx, bl
shr ebx, 8
movzx edx, al
mov eax, r9d
xor rdx, rcx
sar eax, 0x18
xor ebx, dword [r8 + rdx*4]
movzx ecx, bl
shr ebx, 8
movzx edx, al
mov rax, qword [0x1407a66d0]
xor rdx, rcx
xor ebx, dword [r8 + rdx*4]
not ebx
cmp dword [rax + 0x1c6c], ebx
jne 0x140004ebf
mov dword [rax + 0x1c70], ebx
cmp dword [rax + 0x1ca8], ebx
jne 0x140004ece
mov byte [rax + 0x1cac], 1
cmp dword [rax + 0x1c54], ebx
jne 0x140004ee5
mov r8, r9
mov edx, 4
mov ecx, ebx
call fcn.1400151e0
mov eax, ebx
add rsp, 0x20
pop rbx
ret
Function at 0x14000f640
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rax, qword [0x1400c0080]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rbx, qword [0x1407a66d0]
mov edi, ecx
cmp byte [rbx + 0x1fad], 0
jne 0x14000f6a1
cmp byte [rbx + 0x1fae], 0
jne 0x14000f6a1
movsx r9d, word [rbx + 0x308e]
lea r8, str.Tooltip__02d
mov edx, reloc.WS2_32.dll_recv
lea rcx, [rsp + 0x20]
call fcn.140002d70
test dil, 1
je 0x14000f7c8
jmp 0x14000f72c
movss xmm1, dword [rbx + 0x1628]
lea r8, str.Tooltip__02d
movsx r9d, word [rbx + 0x308e]
lea rcx, [rsp + 0x20]
movaps xmm0, xmm1
xor eax, eax
mulss xmm0, dword [0x1400b1238]
mov edx, reloc.WS2_32.dll_recv
mulss xmm1, dword [0x1400b1228]
addss xmm0, dword [rbx + 0x128]
addss xmm1, dword [rbx + 0x12c]
mov qword [rbx + 0x1d30], rax
mov dword [rbx + 0x1d1c], 1
movss dword [rbx + 0x1d28], xmm0
movss dword [rbx + 0x1d2c], xmm1
movss xmm0, dword [rbx + 0x1684]
mulss xmm0, dword [0x1400b11b8]
or dword [rbx + 0x1d18], 0x41
movss dword [rbx + 0x1d78], xmm0
call fcn.140002d70
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x21]
mov r10d, 0xffffffff
mov ecx, r10d
test r9b, r9b
je 0x14000f780
lea r11, [0x1400ac840]
nop dword [rax]
cmp r9b, 0x23
jne 0x14000f763
cmp byte [r8], r9b
jne 0x14000f763
cmp byte [r8 + 1], r9b
cmove ecx, r10d
movzx edx, cl
movzx eax, r9b
movzx r9d, byte [r8]
xor rdx, rax
shr ecx, 8
inc r8
xor ecx, dword [r11 + rdx*4]
test r9b, r9b
jne 0x14000f750
not ecx
call fcn.140009a20
test rax, rax
je 0x14000f7c8
cmp byte [rax + 0x8e], 0
je 0x14000f7c8
mov byte [rax + 0x95], 1
lea r8, str.Tooltip__02d
mov byte [rax + 0xb0], 1
lea rcx, [rsp + 0x20]
inc word [rbx + 0x308e]
mov edx, reloc.WS2_32.dll_recv
movsx r9d, word [rbx + 0x308e]
call fcn.140002d70
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x20c0347
call fcn.14000bf20
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.140099a80
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret

Function at 0x140013fc0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
cmp qword [rcx + 0x3130], 0
lea rbx, [rcx + 0x3138]
mov rsi, r8
mov rbp, rdx
mov rdi, rcx
je 0x140014067
mov r9d, dword [rbx + 4]
mov qword [rsp + 0x30], r14
xor r14d, r14d
test r9d, r9d
jns 0x14001401a
mov eax, r9d
mov rcx, rbx
cdq
sub eax, edx
mov edx, r14d
sar eax, 1
add eax, r9d
test eax, eax
cmovg edx, eax
call fcn.140015fc0
mov r8, rsi
mov dword [rbx], r14d
mov rdx, rbp
mov rcx, rbx
call fcn.1400034f0
mov eax, dword [rbx]
mov edx, 1
mov r9, qword [rdi + 0x3130]
test eax, eax
lea ecx, [rax - 1]
mov rax, qword [rdi + 0x3140]
cmove ecx, r14d
test rax, rax
movsxd r8, ecx
lea rcx, [0x1407a66c8]
cmovne rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov r14, qword [rsp + 0x30]
jmp 0x14001406f
mov rcx, rbx
call fcn.1400034f0
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret
Function at 0x140031e70
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x40
cmp qword [rcx + 0x18], 0xf
mov rbx, r8
mov rsi, rdx
jbe 0x140031e8f
mov rcx, qword [rcx]
mov qword [rsp + 0x30], 0
xor r9d, r9d
mov dword [rsp + 0x28], 0x80
xor r8d, r8d
mov edx, 0x40000000
mov dword [rsp + 0x20], 2
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov rdi, rax
cmp rax, 0xffffffffffffffff
jne 0x140031f0b
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str.Failed_to_create_a_file_
call fcn.1400357e0
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int____ptr64]
mov rcx, rax
lea rdx, [0x140035bd0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xor al, al
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret
lea r9, [rsp + 0x50]
mov qword [rsp + 0x20], 0
mov r8d, ebx
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x140031f50
mov eax, dword [rsp + 0x50]
cmp rax, rbx
jne 0x140031f50
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, 1
mov rbx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cerr]
lea rdx, str.Failed_to_write_a_file_
call fcn.1400357e0
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
mov rcx, rbx
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_long_int____ptr64]
mov rcx, rax
lea rdx, [0x140035bd0]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbx, qword [rsp + 0x58]
xor al, al
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret
Function at 0x140034ed0
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [0x1400c0080]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp qword [rcx + 0x68], 0
mov rbx, rcx
je 0x140034fa3
cmp byte [rcx + 0x71], 0
je 0x140034fa3
mov rax, qword [rcx]
mov edx, 0xffffffff
mov qword [rsp + 0x78], rdi
call qword [rax + Ordinal_26]
cmp eax, 0xffffffff
je 0x140034f9f
mov rcx, qword [rbx + 0x68]
lea rax, [rsp + 0x30]
lea rdx, [rbx + 0x74]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x58]
lea r8, [rsp + 0x38]
call qword [sym.imp.MSVCP140.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::unshift_struct__Mbstatet____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
test eax, eax
je 0x140034f64
sub eax, 1
je 0x140034f68
cmp eax, 2
jne 0x140034f9f
mov byte [rbx + 0x71], 0
mov al, 1
mov rdi, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140099a80
add rsp, 0x60
pop rbx
ret
mov byte [rbx + 0x71], 0
mov rdi, qword [rsp + 0x30]
lea rax, [rsp + 0x38]
sub rdi, rax
je 0x140034f96
mov r9, qword [rbx + 0x80]
lea rcx, [rsp + 0x38]
mov r8, rdi
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rdi, rax
jne 0x140034f9f
cmp byte [rbx + 0x71], 0
sete al
jmp 0x140034f4c
xor al, al
jmp 0x140034f4c
mov al, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140099a80
add rsp, 0x60
pop rbx
ret

Function at 0x140037400
Capabilities:
Encode data using xor

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x50
mov r9, r8
mov rbx, rdx
mov rdi, rcx
mov qword [rsp + 0x40], rcx
xor esi, esi
cmp byte [r8 + 7], sil
je 0x140037434
mov eax, esi
lea ecx, [rax + 0x58]
xor byte [r8 + rax], cl
inc rax
cmp rax, 6
jb 0x140037420
mov byte [r8 + 7], sil
lea rax, [r8 + 6]
mov qword [rsp + 0x20], rsi
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x38], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x20], sil
cmp r9, rax
je 0x140037469
mov r8d, 6
mov rdx, r9
lea rcx, [rsp + 0x20]
call fcn.140035480
nop
mov r9, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 0x10
jb 0x140037477
mov rbx, qword [rbx]
mov r8, rbx
xor edx, edx
lea rcx, [rsp + 0x20]
call fcn.140044ac0
mov qword [rdi], rsi
mov qword [rdi + 0x10], rsi
mov qword [rdi + 0x18], rsi
movups xmm0, xmmword [rax]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdi + 0x10], xmm1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov rdx, qword [rsp + 0x38]
cmp rdx, 0x10
jb 0x1400374ee
inc rdx
mov rcx, qword [rsp + 0x20]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400374e9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400374e9
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140099b70
mov rax, rdi
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret