joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140015360
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rdi
mov qword [rsp + 0x10], rsi
mov rax, rsp
mov rdi, rcx
mov rsi, rdx
mov rdx, r8
mov rcx, r9
push rbx
push rbp
push r12
push r13
push r14
push r15
lea rdi, [rdi + 0x64]
sub rsp, 0xe8
mov r9, rsi
lea rsi, [rsp + 0x64]
not qword [rdi - 0x5c]
not qword [rdi - 0x54]
not qword [rdi - 0x24]
not qword [rdi - 4]
not qword [rdi + 0x24]
not qword [rdi + 0x3c]
lea r15, reloc.WS2_32.dll_accept
mov qword [rsi + 0x74], rcx
cmp rdx, rcx
jb 0x140015400
shr rcx, 3
lea r8, [rdi - 0x64]
mov rax, qword [r9]
lea r9, [r9 + 8]
xor rax, qword [r8]
lea r8, [r8 + 8]
sub rdx, 8
mov qword [r8 - 8], rax
sub rcx, 1
jne 0x1400153c6
mov qword [rsi + 0x64], r9
mov qword [rsi + 0x6c], rdx
call fcn.140015000
mov r9, qword [rsi + 0x64]
mov rdx, qword [rsi + 0x6c]
mov rcx, qword [rsi + 0x74]
jmp 0x1400153b9
mov rax, rdx
not qword [rdi - 0x5c]
not qword [rdi - 0x54]
not qword [rdi - 0x24]
not qword [rdi - 4]
not qword [rdi + 0x24]
not qword [rdi + 0x3c]
add rsp, 0xe8
pop r15
pop r14
pop r13
pop r12
pop rbp
pop rbx
mov rdi, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
repz ret

Function at 0x140020900
Capabilities:
Write file on windows

Disassembly:
sub rsp, 0x28
cmp qword [0x14026bf08], 0
je 0x1400209c8
cmp dword [0x14026bf48], 0
je 0x1400209c8
cmp dword [0x14026bf24], 0
je 0x1400209c8
call fcn.140024150
test eax, eax
je 0x140020990
mov r9d, dword [0x14026bf24]
lea rdx, [rsp + 0x30]
mov r8, qword [0x14026bf18]
xor ecx, ecx
call fcn.140023a60
test rax, rax
je 0x140020990
movsxd rdx, dword [rsp + 0x30]
mov r8d, 1
mov r9, qword [0x14026bf08]
mov rcx, rax
call fcn.14017fea8
movsxd rax, dword [0x14026bf24]
add qword [0x14026bf10], rax
mov dword [0x14026bf24], 0
call fcn.140020ba0
add rsp, 0x28
ret
movsxd rdx, dword [0x14026bf24]
mov r8d, 1
mov r9, qword [0x14026bf08]
mov rcx, qword [0x14026bf18]
call fcn.14017fea8
movsxd rax, dword [0x14026bf24]
add qword [0x14026bf10], rax
mov dword [0x14026bf24], 0
add rsp, 0x28
ret

Function at 0x140020e20
Capabilities:
Write file on windows

Disassembly:
cmp qword [0x14026c010], 0
jne fcn.140022d60
jmp fcn.140020900

Function at 0x140020f50
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbp
push rsi
sub rsp, 0x20
cmp dword [0x14026bf48], 0
mov rbp, rcx
movsxd rsi, edx
jne 0x140020f92
call fcn.140024150
test eax, eax
jne 0x140020f92
mov r9, qword [0x14026bf08]
lea r8d, [rax + 1]
mov rdx, rsi
mov rcx, rbp
mov rbp, qword [rsp + 0x40]
add rsp, 0x20
pop rsi
jmp fcn.14017fea8
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rdi
nop dword [rax]
movsxd rcx, dword [0x14026bf24]
mov edi, esi
mov eax, dword [0x14026bf28]
mov rdx, rbp
sub eax, ecx
cmp esi, eax
cmovge edi, eax
add rcx, qword [0x14026bf18]
movsxd rbx, edi
mov r8, rbx
call fcn.140173e20
add dword [0x14026bf24], edi
add rbp, rbx
sub esi, edi
je 0x140020ff0
cmp qword [0x14026c010], 0
je 0x140020fe9
call fcn.140022d60
jmp 0x140020fa0
call fcn.140020900
jmp 0x140020fa0
mov rbx, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
add rsp, 0x20
pop rsi
ret
Function at 0x1400229f0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rsi, rcx
lea r8, [0x140023210]
mov rbx, rdx
lea rcx, [rsp + 0x28]
sub rcx, 8
lea rdx, [rsp + 0x48]
call fcn.140025270
mov r8d, 0x80
mov qword [rsp + 0x48], rax
lea rdx, str.last__dKB_of_log_file:_n
mov dword [rsp + 0x40], 0x30400
mov rcx, rsi
xor edi, edi
call fcn.14001cab0
mov edx, dword [rsp + 0x40]
mov rcx, qword [rsp + 0x48]
call fcn.140026440
mov rdx, qword [rsp + 0x48]
lea r9, [rsp + 0x40]
mov r8d, dword [rsp + 0x40]
mov rcx, rbx
mov rdx, qword [rdx]
call fcn.140028770
test eax, eax
jne 0x140022b11
mov r9, qword [rsp + 0x48]
mov ecx, dword [rsp + 0x40]
mov rbx, qword [r9]
cmp ecx, 0x20000
jle 0x140022af8
mov edx, ebx
sub edx, ebx
add edx, ecx
mov rcx, rbx
call fcn.1400240a0
test rax, rax
je 0x140022ae3
nop word [rax + rax]
mov r9, qword [rsp + 0x48]
mov rcx, rax
sub rcx, qword [r9]
cmp rcx, 0x10400
jge 0x140022ad5
mov edx, dword [r9]
mov rdi, rax
inc rax
sub edx, eax
mov rcx, rax
add edx, dword [rsp + 0x40]
call fcn.1400240a0
test rax, rax
jne 0x140022aa0
mov r9, qword [rsp + 0x48]
test rdi, rdi
je 0x140022ae8
mov ecx, dword [rsp + 0x40]
mov rbx, rdi
jmp 0x140022af8
mov r9, qword [rsp + 0x48]
mov ecx, dword [rsp + 0x40]
lea eax, [rcx - 0x20000]
movsxd rdx, eax
add rbx, rdx
movsxd r8, ecx
mov edx, 1
sub r8, rbx
mov rcx, rbx
add r8, qword [r9]
mov r9, rsi
call fcn.14017fea8
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret

Function at 0x140023d30
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x20
mov eax, r9d
mov rbx, rdx
cmp r9d, 0xffffffff
jne 0x140023d50
or rax, 0xffffffffffffffff
inc rax
cmp byte [r8 + rax], 0
jne 0x140023d46
mov r9d, eax
lea rdx, [rsp + 0x48]
call fcn.140023a60
test rax, rax
je 0x140023d7c
movsxd r8, dword [rsp + 0x48]
mov r9, rbx
mov edx, 1
mov rcx, rax
add rsp, 0x20
pop rbx
jmp fcn.14017fea8
add rsp, 0x20
pop rbx
ret

Function at 0x140024010
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
mov rdi, rdx
mov ebx, r8d
lea rdx, str.wbEe
call fcn.1400281b0
mov qword [rsp + 0x20], rax
mov rsi, rax
test rax, rax
je 0x140024086
cmp ebx, 0xffffffff
jne 0x140024050
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx], 0
jne 0x140024047
mov r9d, ebx
lea rdx, [rsp + 0x58]
mov r8, rdi
xor ecx, ecx
call fcn.140023a60
test rax, rax
je 0x14002407c
movsxd r8, dword [rsp + 0x58]
mov r9, rsi
mov edx, 1
mov rcx, rax
call fcn.14017fea8
lea rcx, [rsp + 0x20]
call fcn.140028180
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
Function at 0x140027980
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x20
mov eax, 0x40
mov r12d, 0x2fe0
xor edi, edi
mov ebx, r9d
cmp r9d, eax
mov r14, r8
mov r15, rdx
mov rsi, rcx
cmovle ebx, eax
mov rax, qword gs:[0x58]
add r12, qword [rax]
mov rax, qword [r12]
test rax, rax
jne 0x1400279d7
call fcn.140174cc4
mov ebp, dword [rax]
mov edx, ebx
mov rcx, rsi
call fcn.140026440
mov rcx, qword [rsi]
lea eax, [rbx + 1]
movsxd r8, eax
mov r9, r15
mov edx, 1
call fcn.140180410
test eax, eax
jle 0x140027a47
nop dword [rax]
add edi, eax
cmp eax, ebx
jle 0x140027a47
add ebx, ebx
lea eax, [rbx + rdi]
lea ecx, [rax + 1]
cmp eax, 0x40000000
jge 0x140027a42
movsxd rdx, ecx
mov rcx, qword [rsi]
call fcn.140180120
lea ecx, [rbx + 1]
mov qword [rsi], rax
movsxd r8, ecx
mov r9, r15
movsxd rcx, edi
mov edx, 1
add rcx, rax
call fcn.140180410
test eax, eax
jg 0x140027a00
jmp 0x140027a47
mov ebp, 0x1b
mov rax, qword [rsi]
movsxd rcx, edi
mov byte [rcx + rax], 0
test r14, r14
je 0x140027a59
mov dword [r14], edi
mov rax, qword [r12]
test rax, rax
jne 0x140027a67
call fcn.140174cc4
mov rbx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x58]
mov dword [rax], ebp
mov rax, rsi
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x48]
add rsp, 0x20
pop r15
pop r14
pop r12
ret

Function at 0x140027d00
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rdi
push r14
push r15
sub rsp, 0x30
mov r15, rcx
mov rbp, r9
mov rcx, r9
mov ebx, r8d
mov rdi, rdx
call fcn.1400288a0
mov rdx, rax
mov rcx, r15
call fcn.1400281b0
mov r14, rax
test rax, rax
jne 0x140027d43
or rax, 0xffffffffffffffff
jmp 0x140027e1d
mov qword [rsp + 0x50], rsi
cmp ebx, 0xffffffff
jne 0x140027d5a
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx], 0
jne 0x140027d51
movsxd r8, ebx
mov r9, r14
mov edx, 1
mov rcx, rdi
call fcn.14017fea8
mov rsi, rax
cmp eax, ebx
je 0x140027e0a
mov rcx, rbp
call fcn.1400286c0
bt eax, 0xc
jb 0x140027de5
mov rcx, rbp
call fcn.1400286c0
and eax, 0xf
cmp al, 6
ja 0x140027e0a
mov rcx, rbp
call fcn.1400286c0
and eax, 0xf
cmp al, 5
jbe 0x140027de5
mov rcx, rbp
call fcn.1400286c0
test eax, 0x1300
jne 0x140027de5
mov rcx, rbp
call fcn.1400286c0
mov edi, eax
mov rcx, rbp
and edi, 0xb70000
or rdi, 0x480000
call fcn.1400286c0
shr rdi, 0x10
lea rcx, [0x140271300]
and eax, 0xf
cmp dword [rcx + rdi*4], eax
jl 0x140027e0a
mov rcx, rbp
call fcn.1400286c0
or eax, 0x480000
mov dword [rsp + 0x20], esi
mov ecx, eax
lea rdx, str.failed_fwrite__s__sz__d__returned__d
mov r9d, ebx
mov r8, r15
call fcn.140028e10
mov rcx, r14
call fcn.140180a80
sub esi, ebx
neg esi
mov rsi, qword [rsp + 0x50]
sbb eax, eax
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
add rsp, 0x30
pop r15
pop r14
pop rdi
ret
lea r9, str.wbEe
or r8d, 0xffffffff
jmp 0x140027d00
Function at 0x140027ed0
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push rbx
push rdi
push r12
push r13
push r14
sub rsp, 0x60
mov rbx, rcx
mov r13d, 0x10000
mov ecx, r13d
mov rdi, rdx
call fcn.140180118
lea rdx, [rsp + 0x20]
mov rcx, rbx
mov r14, rax
or r12d, 0xffffffff
call fcn.140170ea0
test eax, eax
jne 0x140027fd0
lea rdx, [0x140199358]
mov qword [rsp + 0xa0], r15
mov rcx, rbx
call fcn.1401706c0
mov r15, rax
test rax, rax
je 0x140027fc8
lea rdx, [0x140198fb0]
mov qword [rsp + 0x90], rbp
mov rcx, rdi
call fcn.1401706c0
mov rbp, rax
test rax, rax
je 0x140027fab
mov rbx, qword [rsp + 0x38]
mov qword [rsp + 0x98], rsi
test rbx, rbx
je 0x140027fa0
cmp rbx, r13
mov esi, ebx
mov r9, r15
mov edx, 1
cmovg esi, r13d
mov rcx, r14
movsxd rdi, esi
mov r8, rdi
call fcn.140180410
cmp eax, esi
jne 0x140027fa3
mov r9, rbp
mov r8, rdi
mov edx, 1
mov rcx, r14
call fcn.14017fea8
cmp eax, esi
jne 0x140027fa3
sub rbx, rdi
jne 0x140027f61
xor r12d, r12d
mov rsi, qword [rsp + 0x98]
mov rcx, r15
call fcn.140180a80
test rbp, rbp
je 0x140027fc0
mov rcx, rbp
call fcn.140180a80
mov rbp, qword [rsp + 0x90]
mov r15, qword [rsp + 0xa0]
mov rcx, r14
call fcn.140174cec
mov eax, r12d
add rsp, 0x60
pop r14
pop r13
pop r12
pop rdi
pop rbx
ret

Function at 0x140028390
Capabilities:
Get common file path

Disassembly:
sub rsp, 0x68
lea rcx, [rsp + 0x68]
sub rcx, 8
lea r8, [fcn.140026da0]
lea rdx, [rsp + 0x70]
call fcn.140025270
mov qword [rsp + 0x70], rax
mov rax, qword [0x14026c1a8]
test rax, rax
jne 0x140028502
lea rcx, str.TEMP
mov qword [rsp + 0x60], rbx
call fcn.14016fbb0
test rax, rax
jne 0x140028490
lea rcx, [0x140199768]
call fcn.14016fbb0
test rax, rax
jne 0x140028490
mov rcx, qword [rsp + 0x70]
call fcn.140026f10
mov rdx, qword [rsp + 0x70]
xor ecx, ecx
mov rdx, qword [rdx]
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
mov ebx, eax
test eax, eax
je 0x140028444
mov rcx, qword [rsp + 0x70]
mov edx, eax
call fcn.140026f40
mov rdx, qword [rsp + 0x70]
mov ecx, ebx
mov rdx, qword [rdx]
call qword [sym.imp.KERNEL32.dll_GetTempPathW]
mov rdx, qword [rsp + 0x70]
lea rcx, [0x14026c1a8]
mov rdx, qword [rdx]
call fcn.1400263f0
jmp 0x14002849f
lea rcx, str.SystemRoot
call fcn.14016fbb0
test rax, rax
je 0x140028507
movzx ecx, byte [rax]
lea rdx, [0x1402215f0]
test byte [rdx + rcx*2], 4
je 0x140028507
cmp byte [rax + 1], 0x3a
jne 0x140028507
movsx r8d, cl
lea rdx, str._c:_Temp
lea rcx, [0x14026c1a8]
call fcn.1400262c0
jmp 0x14002849f
mov rdx, rax
lea rcx, [0x14026c1a8]
call fcn.140026210
mov rcx, qword [0x14026c1a8]
lea rdx, [rsp + 0x20]
call fcn.140170ea0
test eax, eax
jne 0x1400284c9
movzx eax, word [rsp + 0x26]
test eax, eax
je 0x1400284c9
and eax, 0xf000
cmp eax, 0x4000
je 0x1400284f6
mov r8, qword [0x14026c1a8]
lea rdx, str.creating_temp_directory__s
mov ecx, 0x480004
call fcn.140028e10
mov rcx, qword [0x14026c1a8]
mov edx, 0x1ff
call fcn.1401701b0
test eax, eax
jne 0x140028519
mov rax, qword [0x14026c1a8]
mov rbx, qword [rsp + 0x60]
add rsp, 0x68
ret
lea rdx, str.failed_to_get_temp_directory
mov ecx, 0x480000
call fcn.1400292e0
int3
lea rdx, str.failed_to_create_temp_directory
mov ecx, 0x480000
call fcn.1400292e0
int3
Function at 0x140028890
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rdi
push r14
push r15
sub rsp, 0x30
mov r15, rcx
mov rbp, r9
mov rcx, r9
mov ebx, r8d
mov rdi, rdx
call fcn.1400288a0
mov rdx, rax
mov rcx, r15
call fcn.1400281b0
mov r14, rax
test rax, rax
jne 0x140027d43
or rax, 0xffffffffffffffff
jmp 0x140027e1d
mov qword [rsp + 0x50], rsi
cmp ebx, 0xffffffff
jne 0x140027d5a
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx], 0
jne 0x140027d51
movsxd r8, ebx
mov r9, r14
mov edx, 1
mov rcx, rdi
call fcn.14017fea8
mov rsi, rax
cmp eax, ebx
je 0x140027e0a
mov rcx, rbp
call fcn.1400286c0
bt eax, 0xc
jb 0x140027de5
mov rcx, rbp
call fcn.1400286c0
and eax, 0xf
cmp al, 6
ja 0x140027e0a
mov rcx, rbp
call fcn.1400286c0
and eax, 0xf
cmp al, 5
jbe 0x140027de5
mov rcx, rbp
call fcn.1400286c0
test eax, 0x1300
jne 0x140027de5
mov rcx, rbp
call fcn.1400286c0
mov edi, eax
mov rcx, rbp
and edi, 0xb70000
or rdi, 0x480000
call fcn.1400286c0
shr rdi, 0x10
lea rcx, [0x140271300]
and eax, 0xf
cmp dword [rcx + rdi*4], eax
jl 0x140027e0a
mov rcx, rbp
call fcn.1400286c0
or eax, 0x480000
mov dword [rsp + 0x20], esi
mov ecx, eax
lea rdx, str.failed_fwrite__s__sz__d__returned__d
mov r9d, ebx
mov r8, r15
call fcn.140028e10
mov rcx, r14
call fcn.140180a80
sub esi, ebx
neg esi
mov rsi, qword [rsp + 0x50]
sbb eax, eax
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
add rsp, 0x30
pop r15
pop r14
pop rdi
ret
lea r9, str.wbEe
or r8d, 0xffffffff
jmp 0x140027d00
Function at 0x140029870
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x120
mov ecx, 2
movsxd rdi, r8d
mov rbp, rdx
call fcn.1401750c8
mov rcx, rdi
lea r15, [0x140000000]
sar rcx, 0x10
mov rbx, rax
movzx r14d, cl
lea rax, [rsp + 0x20]
mov ecx, edi
mov rsi, rdi
and ecx, 0xf
cmp dword [r15 + r14*4 + 0x271300], ecx
jge 0x1400298d3
test edi, 0x300
je 0x1400299ec
cmp dword [0x140271700], 0
je 0x1400298fb
call fcn.140029e00
mov rdx, rax
lea rcx, [rsp + 0x20]
call fcn.14016ca00
movzx ecx, word [0x14019992c]
mov word [rax], cx
inc rax
lea rdx, [r14 + r14*2]
mov rcx, rax
mov rdx, qword [r15 + rdx*8 + 0x259a88]
call fcn.14016ca00
movzx ecx, word [0x14019992c]
and esi, 0xf
mov word [rax], cx
lea rcx, [rax + 1]
mov rdx, qword [r15 + rsi*8 + 0x258850]
call fcn.14016ca00
movzx ecx, word [0x140198c78]
lea r8, [rsp + 0x11f]
mov rdx, rbp
mov word [rax], cx
lea rsi, [rax + 2]
movzx ecx, byte [0x140198c7a]
sub r8d, esi
mov byte [rax + 2], cl
mov rcx, rsi
call fcn.14016c760
lea rcx, [rsp + 0x11f]
mov r9, rbx
cmp rax, rcx
mov r8d, 1
lea rcx, [rsp + 0x20]
jae 0x14002998c
mov byte [rax], 0xa
sub rax, rcx
lea rcx, [rsp + 0x20]
lea rdx, [rax + 1]
call fcn.14017fea8
jmp 0x1400299b6
lea rax, [rsp + 0x20]
sub rsi, rax
mov rdx, rsi
call fcn.14017fea8
mov rdx, rbx
mov rcx, rbp
call fcn.14017fb6c
mov rdx, rbx
lea rcx, [0x140198c34]
call fcn.14017fb6c
mov eax, dword [0x1402590ac]
cmp eax, 0xffffffff
jne 0x1400299d6
mov rcx, rbx
call fcn.14016fb10
mov ecx, eax
call fcn.140170150
mov dword [0x1402590ac], eax
test eax, eax
mov ecx, 0x2000
cmovne edi, ecx
test ecx, edi
je 0x1400299ec
mov rcx, rbx
call fcn.14017fa7c
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rdi
ret
Function at 0x14002ad40
Capabilities:
Acquire debug privileges
Enumerate threads
Resume thread
Suspend thread

Disassembly:
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r14
lea rbp, [rsp - 0x440]
sub rsp, 0x540
mov rdi, rcx
mov qword [rsp + 0x30], 0
mov rcx, qword [rcx]
mov r14d, r8d
mov qword [rbp + 0x460], 0
mov esi, edx
test rcx, rcx
je 0x14002ad88
call fcn.140174cec
mov qword [rdi], 0
lea rdx, [rsp + 0x58]
lea rcx, str.SeDebugPrivilege
call fcn.140055820
test eax, eax
jne 0x14002aeec
test esi, esi
jne 0x14002adac
call fcn.140170140
mov esi, eax
mov ecx, esi
call fcn.14002c3d0
test eax, eax
jne 0x14002aed8
xor edx, edx
lea ecx, [rax + 4]
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14002aeec
lea rdx, [rsp + 0x38]
mov dword [rsp + 0x38], 0x1c
mov rcx, rax
call sub.KERNEL32.dll_Thread32First
test eax, eax
je 0x14002aed8
mov qword [rsp + 0x568], rbx
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [rsp + 0x40], eax
jne 0x14002ae14
call fcn.140170140
cmp esi, eax
jne 0x14002ae14
mov ebx, 1
jmp 0x14002ae16
xor ebx, ebx
cmp dword [rsp + 0x44], esi
jne 0x14002aeab
mov r8d, dword [rsp + 0x40]
lea rdx, str.Thread__ld:_n
mov rcx, rdi
call fcn.140025f10
mov r8d, dword [rsp + 0x40]
xor edx, edx
mov ecx, 0xfffff
call qword [sym.imp.KERNEL32.dll_OpenThread]
mov rcx, rax
call fcn.140170a90
mov qword [rbp + 0x460], rax
test rax, rax
jne 0x14002ae6b
lea rdx, str.Failed_opening_the_thread:__m_n
mov rcx, rdi
call fcn.140025f10
jmp 0x14002aeab
test ebx, ebx
je 0x14002af03
lea rcx, [rsp + 0x70]
call qword [0x14026c348]
mov r9, qword [rbp + 0x460]
lea rdx, [rsp + 0x70]
mov r8d, esi
mov dword [rsp + 0x20], r14d
mov rcx, rdi
call fcn.14002b0f0
test ebx, ebx
jne 0x14002aeab
mov rcx, qword [rbp + 0x460]
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, qword [rsp + 0x30]
lea rdx, [rsp + 0x38]
call sub.KERNEL32.dll_Thread32Next
lea rcx, [rbp + 0x460]
mov ebx, eax
call fcn.14003e170
test ebx, ebx
jne 0x14002adf8
mov rbx, qword [rsp + 0x568]
lea rcx, [rsp + 0x58]
call fcn.140055880
lea rcx, [rsp + 0x30]
call fcn.14003e170
mov rax, rdi
mov rsi, qword [rsp + 0x570]
add rsp, 0x540
pop r14
pop rdi
pop rbp
ret
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SuspendThread]
mov ecx, eax
call fcn.140170a40
cmp rax, 0xffffffffffffffff
jne 0x14002af2a
lea rdx, str.Failed_to_suspend_the_thread:__m_n
mov rcx, rdi
call fcn.140025f10
jmp 0x14002aeab
mov rcx, qword [rbp + 0x460]
lea rdx, [rsp + 0x70]
mov dword [rbp - 0x60], 0x10001f
call qword [sym.imp.KERNEL32.dll_GetThreadContext]
movsxd rcx, eax
call fcn.140170a40
test rax, rax
jne 0x14002ae7e
lea rdx, str.Failed_getting_thread_context:__m_n
mov rcx, rdi
call fcn.140025f10
jmp 0x14002ae9e
Function at 0x14002bba0
Capabilities:
Enumerate process modules

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x460
mov ebx, ecx
xor edi, edi
lea rcx, [rsp + 0x20]
xor edx, edx
mov r8d, 0x438
mov r13d, edi
call fcn.140173680
mov edx, ebx
mov dword [rsp + 0x20], 0x438
lea ecx, [rdi + 8]
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
cmp rax, 0xffffffffffffffff
mov qword [rsp + 0x4b0], rax
mov rcx, rax
cmove rax, rdi
test rax, rax
je 0x14002bdca
lea rdx, [rsp + 0x20]
call sub.KERNEL32.dll_Module32FirstW
test eax, eax
je 0x14002bdca
lea rbx, [rsp + 0x498]
movabs rdi, 0x5851f42d4c957f2d
add rbx, 0xfffffffffffffff8
mov qword [rsp + 0x4b8], rbx
nop
lea rdx, [rsp + 0x250]
mov rcx, rbx
call fcn.1400256c0
lea rdx, [rsp + 0x50]
mov rcx, rbx
mov r15, qword [rax]
call fcn.1400256c0
mov rbp, qword [rsp + 0x38]
mov edx, 1
mov r12, qword [rax]
mov eax, dword [rsp + 0x40]
lea ecx, [rdx + 0x17]
mov dword [rsp + 0x4a8], eax
call fcn.140174ce4
mov rsi, qword [0x14026c3a8]
mov r14, rax
mov rax, rdi
mov rcx, r15
mul rbp
mov rbx, rdx
mov rdi, rax
call fcn.140051a30
movsxd rcx, dword [rsi + 4]
sub rdi, rbx
mov r9, rax
mov rax, qword [rsi + 8]
xor r9, rdi
and rcx, r9
mov rbx, qword [rax + rcx*8]
test rbx, rbx
je 0x14002bcf4
nop dword [rax + rax]
cmp r9, qword [rbx]
jne 0x14002bceb
cmp rbp, qword [rbx + 0x20]
jne 0x14002bceb
mov r8, qword [rbx + 0x38]
mov rax, r15
sub r8, r15
nop word [rax + rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x14002bce3
inc rax
test ecx, ecx
jne 0x14002bcd0
test edx, edx
je 0x14002bd90
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x14002bcb0
mov edx, 1
lea ecx, [rdx + 0x57]
call fcn.140174ce4
mov rbx, rax
xor edi, edi
mov rdx, r12
mov qword [rax + 0x20], rbp
mov eax, dword [rsp + 0x4a8]
lea rcx, [rbx + 0x30]
mov dword [rbx + 0x28], eax
mov dword [rbx + 0x44], edi
call fcn.140026210
lea rcx, [rbx + 0x38]
mov rdx, r15
call fcn.140026210
mov rcx, qword [reloc.WS2_32.dll_accept]
xor edx, edx
mov qword [rbx + 0x18], rcx
lea rax, [rcx + 4]
mov rcx, rbx
mov qword [reloc.WS2_32.dll_accept], rax
call fcn.14002be10
mov rcx, qword [0x14026c3a8]
mov rdx, rbx
call fcn.14002b810
mov rax, qword [0x14026c3a8]
cmp dword [rax + 0x10], 0x3e8
jge 0x14002bdf5
mov qword [r14 + 0x10], rbx
test r13, r13
je 0x14002bd94
mov rax, qword [r13 + 8]
mov qword [r14 + 8], rax
mov qword [r13 + 8], r14
mov rax, qword [r14 + 8]
mov qword [rax], r14
jmp 0x14002bd9b
xor edi, edi
jmp 0x14002bd72
mov qword [r14 + 8], r14
mov r13, r14
mov qword [r14], rdi
lea rdx, [rsp + 0x20]
mov rcx, qword [rsp + 0x4b0]
call sub.KERNEL32.dll_Module32NextW
mov rbx, qword [rsp + 0x4b8]
movabs rdi, 0x5851f42d4c957f2d
test eax, eax
jne 0x14002bc30
lea rcx, [rsp + 0x4b0]
call fcn.14003e170
mov rbx, qword [rsp + 0x4a0]
mov rax, r13
add rsp, 0x460
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rdx, str.using_more_than_1000_module_entries
mov ecx, 0x40
call fcn.14003e580
int3
Function at 0x14002de10
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
sub rsp, 0x58
lea rcx, [rsp + 0x58]
sub rcx, 8
lea r8, [0x14002da20]
lea rdx, [rsp + 0x30]
call fcn.140025270
mov rdx, qword [rsp + 0x60]
lea r8, [rsp + 0x68]
mov rcx, rax
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x20], 0xffffffff
mov qword [rsp + 0x28], 0
call fcn.1400262f0
cmp dword [0x140271454], 6
jl 0x14002de8c
mov r8, qword [rsp + 0x30]
lea rdx, str.sys_exec__s_
mov ecx, 0x550006
mov r8, qword [r8]
call fcn.140028e10
mov rcx, qword [rsp + 0x30]
mov rcx, qword [rcx]
call fcn.14002dfa0
test eax, eax
jns 0x14002dec8
cmp dword [0x140271454], 6
jl 0x14002df7b
mov r8, qword [rsp + 0x30]
lea rdx, str.failed_sys_exec_bg__s_
mov ecx, 0x550006
mov r8, qword [r8]
call fcn.140028e10
jmp 0x14002df7b
cdqe
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x48], rdi
call fcn.140040aa0
mov rbx, rax
mov edi, 0xffffffff
mov ecx, dword [0x14026c3c8]
test ecx, ecx
je 0x14002df07
imul ecx, ecx, 0x3e8
movsxd rdx, ecx
sub rdx, rax
xor eax, eax
add rdx, rbx
cmovne rax, rdx
jmp 0x14002df0a
mov rax, rdi
mov rcx, qword [rsp + 0x28]
mov r8d, 1
mov edx, eax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObjectEx]
cmp eax, 0xc0
jne 0x14002df2b
call fcn.140040aa0
jmp 0x14002dee6
mov rdi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x28]
test eax, eax
je 0x14002df53
mov edx, reloc.WS2_32.dll_shutdown
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov dword [rsp + 0x20], 0xfffffff7
jmp 0x14002df71
lea rdx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov eax, dword [rsp + 0x20]
mov ecx, 0xffffffea
cmp eax, 3
cmove eax, ecx
mov dword [rsp + 0x20], eax
lea rcx, [rsp + 0x28]
call fcn.14003e170
mov rax, qword gs:[0x58]
mov edx, 0x15a0
mov rcx, qword [rax]
mov eax, dword [rsp + 0x20]
mov dword [rdx + rcx], eax
add rsp, 0x58
ret

Function at 0x14002e540
Capabilities:
Terminate thread

Disassembly:
sub rsp, 0x28
mov rcx, qword [rcx]
mov edx, 1
call qword [sym.imp.KERNEL32.dll_TerminateThread]
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
add rsp, 0x28
ret

Function at 0x14002e600
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x30
mov rdi, rdx
mov rbx, rcx
mov edx, 1
mov rsi, r8
lea ecx, [rdx + 0x1f]
call fcn.140174ce4
mov qword [rbx], rax
lea r8, [0x14002e7e0]
mov r14, rax
xor edx, edx
mov r9, r14
xor ecx, ecx
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rsi
mov dword [rax + 0x1c], 2
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], eax
call fcn.140182a60
mov qword [r14], rax
test rax, rax
je 0x14002e67e
mov rbx, qword [rsp + 0x40]
xor eax, eax
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
add rsp, 0x30
pop r14
ret
lea rdx, str.failed_create_thread:__m
mov ecx, 0x570000
call fcn.1400292e0
int3