joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14001bae0
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 + 0x5ca0], 0
lea rbx, [rcx + 0x5ca8]
mov rsi, r8
mov rbp, rdx
mov rdi, rcx
je 0x14001bb87
mov r9d, dword [rbx + 4]
mov qword [rsp + 0x30], r14
xor r14d, r14d
test r9d, r9d
jns 0x14001bb3a
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.14001ddb0
mov r8, rsi
mov dword [rbx], r14d
mov rdx, rbp
mov rcx, rbx
call fcn.1400064e0
mov eax, dword [rbx]
mov edx, 1
mov r9, qword [rdi + 0x5ca0]
test eax, eax
lea ecx, [rax - 1]
mov rax, qword [rdi + 0x5cb0]
cmove ecx, r14d
test rax, rax
movsxd r8, ecx
lea rcx, [0x14008ca63]
cmovne rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov r14, qword [rsp + 0x30]
jmp 0x14001bb8f
mov rcx, rbx
call fcn.1400064e0
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret

Function at 0x14001c010
Capabilities:
Hash data with crc32

Disassembly:
sub rsp, 8
movzx r9d, byte [rcx]
lea r8, [rcx + 1]
mov r10, qword [0x14008cad0]
mov r11d, 0xffffffff
mov eax, r11d
test r9b, r9b
je 0x14001c073
mov qword [rsp], rbx
lea rbx, [0x140052a80]
nop dword [rax]
cmp r9b, 0x23
jne 0x14001c053
cmp byte [r8], r9b
jne 0x14001c053
cmp byte [r8 + 1], r9b
cmove eax, r11d
movzx edx, al
movzx ecx, r9b
movzx r9d, byte [r8]
xor rdx, rcx
shr eax, 8
inc r8
xor eax, dword [rbx + rdx*4]
test r9b, r9b
jne 0x14001c040
mov rbx, qword [rsp]
movsxd rcx, dword [r10 + 0x5c10]
xor r8d, r8d
not eax
test ecx, ecx
jle 0x14001c0a7
mov r10, qword [r10 + 0x5c18]
mov r9, rcx
mov edx, r8d
lea rcx, [r10 + 8]
cmp dword [rcx], eax
je 0x14001c0ae
inc r8d
inc rdx
add rcx, 0x48
cmp rdx, r9
jl 0x14001c094
xor eax, eax
add rsp, 8
ret
movsxd rax, r8d
lea rcx, [rax + rax*8]
lea rax, [r10 + rcx*8]
add rsp, 8
ret
Function at 0x14003e3c0
Capabilities:
Enumerate process modules
Enumerate processes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x3a0
mov rax, qword [0x140063010]
xor rax, rsp
mov qword [rsp + 0x390], rax
xor esi, esi
mov dword [rsp + 0x260], 0x130
xor edx, edx
mov ebx, esi
lea ecx, [rsi + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rcx, rax
lea rdx, [rsp + 0x260]
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_Process32First]
test eax, eax
je 0x14003e456
nop word [rax + rax]
lea rdx, [rsp + 0x28c]
lea rcx, str.FPSAimTrainer_Win64_Shipping.exe
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x14003e44f
lea rdx, [rsp + 0x260]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
jne 0x14003e420
jmp 0x14003e456
mov ebx, dword [rsp + 0x268]
test ebx, ebx
jne 0x14003e478
lea rdx, str.FPSAimTrainer_Win64_Shipping.exe
lea rcx, str.Failed_To_Locate_Process_With_Name___s_
call fcn.1400041a0
mov dword [0x14008caf4], ebx
jmp 0x14003e53e
mov edx, ebx
mov dword [0x14008caf4], ebx
mov ecx, 0x18
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x238
mov rcx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_Module32First]
test eax, eax
je 0x14003e4de
nop dword [rax + rax]
lea rdx, str.FPSAimTrainer_Win64_Shipping.exe
lea rcx, [rsp + 0x50]
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
test eax, eax
je 0x14003e4d9
lea rdx, [rsp + 0x20]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_Module32Next]
test eax, eax
jne 0x14003e4b0
jmp 0x14003e4de
mov rsi, qword [rsp + 0x38]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r8d, dword [0x14008caf4]
xor edx, edx
mov ecx, 0x1fffff
mov qword [0x14008cb00], rsi
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov qword [0x14008caf8], rax
lea rdx, str.KovaaK
mov rax, qword [0x14008cb00]
lea rcx, str.UnrealWindow
add qword [0x1400630e8], rax
add qword [0x1400630f0], rax
call qword [sym.imp.USER32.dll_FindWindowA]
mov qword [0x14008cb18], rax
call fcn.14004fb70
xor eax, eax
mov rcx, qword [rsp + 0x390]
xor rcx, rsp
call fcn.140050750
lea r11, [rsp + 0x3a0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rsp, r11
pop rdi
ret
Function at 0x140046170
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov ecx, dword [rcx + 0x10]
mov r10d, ecx
and r10d, 7
je 0x1400461a4
cmp ecx, r10d
jge 0x140046192
mov rcx, rbx
call fcn.140045970
mov eax, dword [rbx + 0x14]
mov ecx, r10d
shr eax, cl
sub dword [rbx + 0x10], r10d
mov ecx, dword [rbx + 0x10]
mov dword [rbx + 0x14], eax
xor r8d, r8d
mov eax, ecx
test ecx, ecx
jle 0x1400461de
mov ecx, dword [rbx + 0x14]
lea rdx, [rsp + 0x30]
movzx r9d, cl
nop dword [rax]
shr ecx, 8
inc r8d
mov byte [rdx], r9b
lea rdx, [rdx + 1]
sub eax, 8
mov dword [rbx + 0x14], ecx
movzx r9d, cl
test eax, eax
jg 0x1400461c0
mov dword [rbx + 0x10], eax
test eax, eax
jns 0x140046206
mov rax, qword gs:[0x58]
mov edx, 0x28
mov rcx, qword [rax]
lea rax, str.zlib_corrupt
mov qword [rdx + rcx], rax
xor eax, eax
add rsp, 0x20
pop rbx
ret
movsxd rcx, r8d
cmp rcx, 4
jge 0x140046235
mov r8, qword [rbx + 8]
mov rax, qword [rbx]
cmp rax, r8
jb 0x14004621f
xor dl, dl
jmp 0x140046228
movzx edx, byte [rax]
inc rax
mov qword [rbx], rax
mov byte [rsp + rcx + 0x30], dl
inc rcx
cmp rcx, 4
jl 0x140046216
movzx eax, byte [rsp + 0x30]
movzx r8d, byte [rsp + 0x31]
movzx ecx, byte [rsp + 0x33]
shl r8d, 8
add r8d, eax
shl ecx, 8
movzx eax, byte [rsp + 0x32]
add ecx, eax
mov eax, r8d
xor eax, 0xffff
cmp ecx, eax
jne 0x1400461e2
mov rcx, qword [rbx]
mov qword [rsp + 0x38], rdi
mov edi, r8d
add rcx, rdi
cmp rcx, qword [rbx + 8]
jbe 0x14004629f
mov rax, qword gs:[0x58]
mov edx, 0x28
mov rcx, qword [rax]
lea rax, str.read_past_buffer
mov qword [rdx + rcx], rax
mov rdi, qword [rsp + 0x38]
xor eax, eax
add rsp, 0x20
pop rbx
ret
mov rdx, qword [rbx + 0x18]
lea rax, [r8 + rdx]
cmp rax, qword [rbx + 0x28]
jbe 0x1400462b9
mov rcx, rbx
call fcn.140045ac0
test eax, eax
je 0x140046292
mov rdx, qword [rbx]
mov r8, rdi
mov rcx, qword [rbx + 0x18]
call sub.VCRUNTIME140.dll_memcpy
add qword [rbx], rdi
mov eax, 1
add qword [rbx + 0x18], rdi
mov rdi, qword [rsp + 0x38]
add rsp, 0x20
pop rbx
ret
Function at 0x1400511c4
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14005120e
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x14005120e
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x14005120e
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x14005120e
cmp dword [rcx + 0x84], 0xe
jbe 0x14005120e
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x140051210
xor al, al
add rsp, 0x28
ret
Function at 0x14000ce28
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x30
mov r8d, dword [rsp + 0x68]
lea r11d, [r9 + 8]
mov rbx, qword [rsp + 0x60]
lea eax, [r11 - 0x27]
mov r10d, r8d
mov edi, r9d
xor r10d, 0x67
xor edi, 0xc0
lea edx, [r8 + 0xc]
xor ecx, 0x1aa
xor r8d, 0x77
cmp r8d, eax
jl 0x14000ce7a
mov eax, dword [rbx + 0xe8]
sub eax, 0x112ddb38
mov dword [0x14006806c], eax
jmp 0x14000cea3
mov eax, dword [rbx + 0xa8]
sub eax, edi
imul eax, ecx
cmp edx, eax
ja 0x14000cea3
mov eax, dword [0x140068074]
or eax, edx
cmp edx, eax
jbe 0x14000cea3
mov eax, dword [rbx + 0xc]
sub eax, edx
add eax, 0xc6
imul r10d, eax
lea eax, [r11 + 8]
cmp edx, eax
jle 0x14000d061
xor ecx, 0x1b4
cmp r8d, ecx
jne 0x14000d02a
mov eax, r8d
lea r9d, [r10 + 0x11]
xor eax, 0x17
lea ecx, [r11 + 0x14]
add r8d, 0x30
mov dword [rsp + 0x20], eax
mov rdx, rbx
call fcn.14000d608
xor r10d, r10d
mov edx, dword [0x1400680bc]
mov eax, dword [rbx]
add edx, 0xffe53ef1
add edx, dword [rbx + 0x44]
mov ecx, dword [rbx + 0x4c]
imul eax, edx
mov dword [rbx], eax
mov rax, qword [section..data]
sub ecx, dword [rax + 0xfc]
sub ecx, 0x15d8a80
or dword [0x1400680d4], ecx
mov eax, dword [rbx + 0xac]
imul eax, dword [0x1400680bc]
mov dword [rbx + 0xac], eax
mov rcx, qword [section..data]
mov rax, qword [rcx + 0x78]
mov r9d, dword [rax + r10]
mov eax, 0x10
sub eax, dword [0x140068110]
add r10, 4
imul r9d, dword [0x14006806c]
add dword [rcx + 0xb0], eax
movsxd rdx, dword [rbx + 0x60]
mov eax, dword [rbx + 0x58]
add eax, 0x133461
or dword [rbx + 0xac], eax
mov r8d, r9d
mov rax, qword [section..data]
shr r8d, 0x10
mov rcx, qword [rax + 0x80]
mov byte [rdx + rcx], r8b
mov edx, r9d
inc dword [rbx + 0x60]
mov eax, dword [0x140068024]
add eax, eax
shr edx, 8
mov dword [0x140068024], eax
mov eax, dword [0x140068110]
add eax, 0xfffffff0
add dword [rbx + 0x44], eax
movsxd rcx, dword [0x140068070]
mov rax, qword [0x140068090]
mov byte [rcx + rax], dl
inc dword [0x140068070]
movsxd rcx, dword [rbx + 0x60]
mov rax, qword [0x140068090]
mov byte [rcx + rax], r9b
inc dword [rbx + 0x60]
mov eax, dword [0x1400680f8]
mov ecx, dword [0x1400680c0]
add eax, 0xfff809df
add ecx, eax
mov eax, dword [0x1400680d4]
sub eax, dword [0x140068034]
mov dword [0x1400680f8], ecx
add eax, 0xc6ca940
add dword [rbx + 0xc4], eax
mov ecx, dword [rbx + 0x100]
mov eax, dword [rbx]
add eax, 0xffeceb54
add ecx, eax
add dword [rbx + 0xa0], ecx
mov rcx, qword [section..data]
mov eax, dword [rcx + 0x6c]
xor eax, 3
sub dword [rcx], eax
cmp r10, 0x3a940
jl 0x14000cedf
jmp 0x14000d061
imul eax, r10d, 0xe5
cmp dword [rbx + 8], eax
jbe 0x14000d061
mov eax, dword [rbx + 0xfc]
sub eax, 0xb7
cmp edx, eax
jne 0x14000d061
mov eax, dword [rbx + 0x58]
and eax, 0x9c
cmp edx, eax
jbe 0x14000d061
mov rcx, qword [section..data]
imul eax, edx, 0xa7
xor dword [rcx + 0x4c], eax
lea eax, [rdi + 0xa8]
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
Function at 0x14000f0ac
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x40
mov esi, dword [rsp + 0x78]
mov ebp, r8d
mov edi, dword [rsp + 0x70]
mov rbx, rdx
add edi, 0xffffff47
xor ebp, 0xdc
mov ecx, edi
lea edx, [rsi - 7]
mov dword [rsp + 0x60], ecx
xor esi, 7
mov dword [rsp + 0x70], edx
cmp ebp, edx
jge 0x14000f196
lea eax, [rbp + 0xc0]
cmp edi, eax
je 0x14000f13f
lea eax, [rsi - 8]
cmp ecx, eax
jg 0x14000f13f
mov rdx, qword [section..data]
mov eax, dword [rdx + 0x64]
add eax, 0x131474
or dword [0x140068010], eax
mov eax, dword [0x140068024]
cmp dword [rbx + 0xb0], eax
jb 0x14000f13f
mov ecx, dword [rdx + 0xc4]
mov eax, 0x164a3d
xor ecx, dword [0x14006810c]
sub eax, ecx
add dword [rdx + 0x98], eax
mov eax, dword [rbx + 0x100]
xor eax, 0x10a430
sub dword [rbx + 0xb0], eax
mov eax, dword [rbx + 0x58]
add eax, 0x29100a
add dword [rbx + 0xc4], eax
mov eax, dword [rbx + 0xb0]
mov ecx, dword [rbx + 0xc4]
cmp dword [rbx + 0x4c], eax
jbe 0x14000f17a
sub dword [0x1400680b0], ecx
jmp 0x14000f2c4
mov eax, dword [0x1400680a8]
xor eax, dword [0x140068110]
xor eax, 0x62586
mov dword [0x1400680a8], eax
jmp 0x14000f2c4
mov rax, qword [section..data]
mov ecx, dword [rax + 0xe8]
imul ecx, esi
cmp edi, ecx
je 0x14000f2c4
mov eax, edi
mov dword [rsp + 0x78], edi
imul eax, dword [rbx + 0xc8]
or eax, edx
cmp edi, eax
ja 0x14000f2c4
mov qword [rsp + 0x28], 0x9f4
mov edx, 0x1d0c
mov ecx, 0x1825
mov qword [rsp + 0x20], 0x38b8
mov r9d, 0xc3f
mov r8d, 0x1689
call fcn.140010da8
mov r8d, dword [0x140068050]
movsxd rcx, eax
mov rax, qword [section..data]
mov qword [0x140116990], rcx
imul r8d, esi
mov qword [rsp + 0x20], rax
mov edx, dword [rax + 0xe4]
mov ecx, dword [rax + 0x30]
and edx, dword [rsp + 0x70]
or ecx, esi
mov r9d, dword [rax + 0x64]
and edx, 0xc0
imul r8d, dword [rsp + 0x60]
xor r9d, ebp
call fcn.14000d334
mov r10d, dword [0x140068068]
mov edx, eax
mov r8d, dword [rbx + 0x58]
mov r11d, edx
mov edx, dword [0x1400680c0]
sub r8d, 0xb7
xor r10d, dword [rsp + 0x60]
sub r11d, dword [rbx + 0x18]
mov dword [rsp + 0x70], eax
mov rax, qword [section..data]
mov ecx, dword [rax + 0xb0]
add edx, ecx
mov r9d, ecx
mov dword [rsp + 0x30], edx
sub r9d, dword [0x140068020]
lea rdx, [0x140068010]
mov ecx, esi
mov dword [rsp + 0x28], r10d
imul ecx, edi
xor r9d, 0xe5
mov dword [rsp + 0x20], r11d
call fcn.14000f0ac
mov edi, eax
mov eax, dword [rsp + 0x78]
inc eax
mov ecx, edi
imul ecx, dword [rbx + 0xc8]
mov dword [rsp + 0x78], eax
or ecx, dword [rsp + 0x70]
cmp eax, ecx
jbe 0x14000f1c5
mov rbx, qword [rsp + 0x50]
lea eax, [rbp + 0xa8]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x68]
add rsp, 0x40
pop rdi
ret
Function at 0x140011324
Capabilities:
Encode data using xor
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov r13d, dword [rsp + 0x90]
lea r14d, [r9 - 0x2c]
lea esi, [rdx - 0xc8]
mov edi, r9d
mov dword [rsp + 0x78], esi
mov r15, r8
lea r12d, [r9 - 0xc8]
lea ebx, [r13 - 0x20]
lea ebp, [r9 + 0xd]
cmp r14d, r9d
jge 0x14001157e
lea eax, [r14 + 0xb]
cmp ebx, eax
jl 0x14001157e
lea eax, [r9 + 0x14]
cmp ebx, eax
jge 0x140011483
mov r8d, r12d
lea eax, [r14 + 5]
mov ecx, r13d
mov dword [rsp + 0x20], eax
lea edx, [r9 + 0xf]
xor r8d, 0xa7
mov r9, qword [section..data]
xor ecx, 0xc
call fcn.140014e00
mov rcx, qword [section..data]
lea r8d, [r13 - 8]
mov edx, eax
xor esi, 0xb0
lea eax, [rbx + 0x18]
xor edx, 0x6c
xor eax, 0x71
mov dword [rsp + 0x20], eax
lea r9d, [rsi - 8]
call fcn.14000d1e0
mov r10, qword [section..data]
lea edx, [r13 + 0x25]
mov r14d, eax
lea ecx, [r13 - 0x17]
mov r9d, eax
lea eax, [rbx + 0x20]
xor r9d, 0x68
mov dword [rsp + 0x30], r9d
mov r9d, r14d
mov dword [rsp + 0x28], eax
lea r8d, [r14 - 0x19]
mov qword [rsp + 0x20], r10
call fcn.14000ce28
mov rcx, qword [section..data]
mov esi, eax
cmp dword [rcx + 0x6c], 0x2e82
jae 0x14001143b
mov ecx, dword [rcx + 0x64]
add ecx, 0xa33f1255
add ecx, dword [r15 + 0x100]
mov dword [r15 + 0x5c], ecx
jmp 0x140011447
mov eax, dword [0x140068068]
mov dword [rcx + 0xfc], eax
lea eax, [rbp - 0x39]
xor r14d, 0x35
mov dword [rsp + 0x30], eax
lea edx, [rdi - 0x20]
lea rax, [0x140068010]
xor ebp, 0x13
mov qword [rsp + 0x28], rax
lea r9d, [r12 + 0xd5]
mov dword [rsp + 0x20], edx
lea r8d, [rdi + 8]
mov edx, r14d
mov ecx, ebp
call fcn.140015a20
jmp 0x14001157e
mov ecx, dword [0x1400680bc]
add ecx, dword [0x140068040]
cmp edi, ecx
jb 0x14001157e
lea eax, [rbx + 0xb0]
or ebx, 0x9c
add ebx, 0xa7
movsxd rsi, eax
movsxd rbx, ebx
mov r9d, dword [0x1400680e0]
lea r8d, [r12 + 6]
mov edx, dword [r15 + 0xac]
add r9d, 0xb7
mov eax, dword [r15 + 0xa8]
xor rdx, r13
mov ecx, dword [r15 + 0x24]
or rdx, 0xc8
sub ecx, dword [r15 + 4]
xor r9, rax
mov qword [rsp + 0x20], rdx
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov r8d, dword [0x140068054]
mov rcx, rbx
mov edx, dword [r15 + 0x4c]
and r8d, r14d
sub r8d, dword [r15 + 0xec]
and edx, r14d
xor edx, dword [0x140068054]
call qword [sym.imp.KERNEL32.dll_CreateMutexA]
mov eax, dword [0x140068068]
mov r8, r15
sub eax, dword [r15 + 0xec]
mov r9d, dword [0x1400680dc]
imul r9d, dword [0x140068040]
mov ecx, dword [r15 + 0x64]
sub ecx, dword [0x140068038]
imul edx, eax, 0xe5
mov eax, dword [r15 + 0x24]
xor eax, r12d
or r9d, 0xc0
mov dword [rsp + 0x20], eax
call fcn.14000bbc4
mov edx, dword [0x1400680bc]
add edi, 2
add edx, dword [0x140068040]
mov r14d, eax
cmp edi, edx
jae 0x1400114af
mov esi, dword [rsp + 0x78]
lea r11, [rsp + 0x40]
xor esi, 0x78
mov rbx, qword [r11 + 0x30]
mov eax, esi
mov rsi, qword [r11 + 0x48]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x14001189c
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x30
mov rbx, qword [rsp + 0x78]
lea r14d, [rdx - 0xd]
mov r10, qword [section..data]
lea eax, [r14 + 0x2d]
mov ebp, r8d
lea esi, [r8 - 0xd0]
xor ebp, 0x18
lea r15d, [rcx - 0x59]
add edx, 0xffffffdb
add r9d, 0xffffffdb
cmp r9d, eax
jge 0x140011940
cmp dword [r10 + 0x6c], 0x1854d
ja 0x140011911
mov ecx, dword [r10 + 0x58]
xor ecx, dword [rbx]
mov eax, dword [rbx + 0xa0]
xor ecx, 0xfff02103
imul eax, ecx
mov dword [rbx + 0xa0], eax
mov r10, qword [section..data]
mov eax, dword [0x1400680bc]
cmp dword [rbx + 0xe8], eax
ja 0x14001197a
mov ecx, dword [0x14006807c]
add ecx, 0xc5cc4
add ecx, dword [0x140068024]
xor dword [rbx + 0x98], ecx
mov r10, qword [section..data]
jmp 0x14001197a
mov ecx, dword [r10 + 0x9c]
mov eax, esi
sub eax, dword [rbx + 0x24]
cmp ecx, eax
jbe 0x14001197a
mov r8d, dword [0x14006807c]
imul eax, dword [rbx + 0x2c], 0xb0
add ecx, 4
xor eax, dword [0x1400680b8]
or r8d, eax
mov eax, esi
mov dword [0x14006807c], r8d
sub eax, dword [rbx + 0x24]
cmp ecx, eax
ja 0x140011957
lea eax, [rdx + 9]
cmp esi, eax
jg 0x140011a16
lea eax, [rdx - 8]
cmp ebp, eax
je 0x1400119ce
lea r8d, [rdx + 0x18]
mov qword [rsp + 0x28], r10
mov edx, r14d
mov dword [rsp + 0x20], r8d
xor edx, 0x1d
lea ecx, [r15 + 0x24]
add r9d, 0xfffffff9
call fcn.140011d88
mov eax, dword [0x140068038]
cmp dword [0x1400680b0], eax
jb 0x140011a16
mov eax, dword [0x140068068]
add eax, 0x2ae488cb
mov dword [0x14006802c], eax
jmp 0x140011a16
mov eax, dword [rbx + 0xec]
and eax, edx
cmp dword [rbx + 0x64], eax
je 0x140011a16
mov edi, dword [0x140068110]
jmp 0x140011a07
mov edx, dword [r10 + 0xa0]
mov ecx, ebp
sub ecx, dword [0x140068010]
and edx, esi
sub edx, r15d
call qword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
mov r10, qword [section..data]
add edi, 2
mov eax, dword [r10 + 0x9c]
imul eax, dword [rbx + 0x6c]
cmp edi, eax
je 0x1400119e3
mov rbx, qword [rsp + 0x50]
lea eax, [r14 - 0x21]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x30
pop r15
pop r14
pop rdi
ret
Function at 0x140011fd4
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov edi, dword [rsp + 0x98]
lea ebx, [rcx - 0xf5]
mov r14d, dword [rsp + 0xa0]
add edi, 0xfffffff8
mov esi, dword [rsp + 0x90]
mov eax, edi
mov r15d, r8d
mov ebp, r14d
xor eax, 0x7f
xor ebp, 0x6f
xor r15d, 8
xor esi, 0x6c
mov r12d, r9d
mov r13, rdx
cmp ebx, eax
je 0x1400121b0
lea eax, [r14 - 0x21]
cmp edi, eax
je 0x14001212a
mov rcx, qword [section..data]
lea r10d, [r15 + 8]
lea r11d, [rdi - 0x11]
lea r9d, [rbp + 0x1f]
lea r8d, [r14 + 0xd]
mov eax, dword [rcx + 0x24]
add eax, 0xa7aab
mov dword [rcx + 0x98], eax
mov eax, dword [0x1400680d4]
add eax, eax
sub eax, dword [rdx + 0xfc]
add eax, 0x16619b
mov dword [0x1400680d4], eax
mov rax, qword [section..data]
mov ecx, dword [rax + 0xa0]
mov eax, dword [rdx + 0x58]
xor ecx, 0x199101
imul eax, ecx
lea ecx, [rdi - 2]
mov dword [rdx + 0x58], eax
lea edx, [rsi - 0x23]
mov rax, qword [section..data]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], r11d
call fcn.14000ca80
lea r8d, [rdi + 0x14]
mov r10d, eax
mov dword [rsp + 0x30], r8d
lea edx, [r12 + 0xf]
mov dword [rsp + 0x28], edx
lea ecx, [r12 + 0x4b]
xor r10d, 0x11
lea r9d, [rax + 8]
mov rdx, r13
mov dword [rsp + 0x20], r10d
mov esi, eax
call fcn.14000f0ac
mov rcx, qword [section..data]
add dword [rcx + 0xc4], 0x12439f
mov eax, dword [r13 + 0xfc]
cmp dword [0x1400680d4], eax
jbe 0x1400121b0
xor eax, dword [0x140068054]
xor eax, dword [0x140068110]
xor eax, 0x11add4
mov dword [0x140068054], eax
jmp 0x1400121b0
mov ecx, r15d
sub ecx, edi
and ecx, 0xdc
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov rax, qword [section..data]
mov r8d, dword [0x140068068]
imul r10d, dword [r13], 0xd0
or r8d, ebx
mov ecx, dword [r13 + 0xa4]
sub edi, dword [rax + 0x4c]
add r8d, dword [rax + 8]
sub edi, r14d
mov eax, ebp
mov r9d, edi
and eax, 0xd7
mov qword [rsp + 0x20], r10
sub eax, r15d
movsxd rdx, eax
mov eax, ebp
xor rcx, rax
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rax, qword [section..data]
mov ecx, dword [rax + 0x4c]
mov eax, dword [r13 + 0xb0]
or ecx, ebp
xor eax, dword [0x1400680bc]
imul ecx, r12d
imul edx, ecx, 0xd0
add edx, eax
mov dword [0x140068074], edx
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x30]
lea eax, [rsi + 0x3d]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x1400077a0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rax, rdx
mov rsi, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x80]
mov ebx, ecx
shr ebx, 8
lea r8, [rax + r8*2]
xor r11d, r11d
mov r15, rax
movzx r14d, byte [rax + 1]
add rax, 2
lea r10, [r11 + r14]
cmp byte [r15], bl
jne 0x140007830
cmp r10, r11
jb 0x1400078a6
cmp r10, rdx
ja 0x1400078ba
add r11, r9
xor r15d, r15d
nop word cs:[rax + rax]
cmp r14, r15
je 0x140007832
lea r12, [r15 + 1]
cmp byte [r11 + r15], cl
mov r15, r12
jne 0x140007810
jmp 0x140007894
ja 0x14000783a
mov r11, r10
cmp rax, r8
jne 0x1400077d4
add rsi, rdi
movzx ecx, cx
mov al, 1
nop word cs:[rax + rax]
lea r8, [rdi + 1]
movzx edx, byte [rdi]
test dl, dl
js 0x140007870
mov rdi, r8
sub ecx, edx
jns 0x14000788b
jmp 0x140007896
cmp r8, rsi
je 0x1400078cb
movzx r8d, byte [rdi + 1]
add rdi, 2
and edx, 0x7f
shl edx, 8
or edx, r8d
sub ecx, edx
js 0x140007896
xor al, 1
cmp rdi, rsi
jne 0x140007850
jmp 0x140007896
xor eax, eax
and al, 1
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea r8, str.librarycore_srcunicodeprintable.rs
mov rcx, r11
mov rdx, r10
call fcn.140005b70
ud2
lea r8, str.librarycore_srcunicodeprintable.rs
mov rcx, r10
call fcn.140005110
ud2
lea rcx, [0x140055b23]
lea r8, str.librarycore_srcunicodeprintable.rs
mov edx, 0x2b
call fcn.1400054d0
ud2

Function at 0x140009cef
Capabilities:
Allocate thread local storage

Disassembly:
mov eax, dword [rcx + 0x18]
test eax, eax
je fcn.140018c20
dec eax
ret

Function at 0x140009d4e
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
lea rcx, [0x14004c010]
call fcn.140009cef
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jbe 0x140009d7d
mov rdi, rax
cmp qword [rax + 8], 0
je 0x140009d7d
add rdi, 0x10
jmp 0x140009df8
lea rdi, [0x14004c010]
mov rcx, rdi
call fcn.140009cef
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x140009df6
mov rsi, rax
test rax, rax
jne 0x140009dcd
mov ecx, 0x18
mov edx, 8
call fcn.140009c09
mov rsi, rax
mov qword [rax], rdi
and qword [rax + 8], 0
mov rcx, rdi
call fcn.140009cef
mov ecx, eax
mov rdx, rsi
call sub.KERNEL32.dll_TlsSetValue
call fcn.140009344
call fcn.1400093bd
lea rdi, [rsi + 0x10]
mov rcx, qword [rsi + 8]
mov rdx, qword [rsi + 0x10]
mov qword [rsi + 8], 1
mov qword [rsi + 0x10], rax
call fcn.140009455
jmp 0x140009df8
xor edi, edi
mov rax, rdi
add rsp, 0x28
pop rdi
pop rsi
ret
Function at 0x14000e50b
Capabilities:
Get thread local storage value
Set thread local storage value

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rcx
lea rcx, [0x14004c128]
call fcn.140009cef
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
jbe 0x14000e53b
cmp qword [rax + 8], 0
je 0x14000e53b
add rax, 0x10
jmp 0x14000e5b8
lea rbx, [0x14004c128]
mov rcx, rbx
call fcn.140009cef
mov ecx, eax
call sub.KERNEL32.dll_TlsGetValue
cmp rax, 1
je 0x14000e5a2
mov rdi, rax
test rax, rax
jne 0x14000e58b
mov ecx, 0x18
mov edx, 8
call fcn.14000ca01
mov rdi, rax
mov qword [rax], rbx
and qword [rax + 8], 0
mov rcx, rbx
call fcn.140009cef
mov ecx, eax
mov rdx, rdi
call sub.KERNEL32.dll_TlsSetValue
test rsi, rsi
je 0x14000e5a6
mov rcx, qword [rsi]
and qword [rsi], 0
test rcx, rcx
je 0x14000e5a8
mov rcx, qword [rsi + 8]
jmp 0x14000e5a8
xor eax, eax
jmp 0x14000e5b8
xor ecx, ecx
lea rax, [rdi + 0x10]
mov qword [rdi + 8], 1
mov qword [rdi + 0x10], rcx
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret