joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140225b60
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
cmp qword [rcx + 0x20], 0
mov rax, rdx
mov edi, r8d
mov rbx, rcx
jne 0x140225b87
xor al, al
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov r9, qword [rcx + 0x20]
mov r8, rdi
mov rcx, rax
mov edx, 1
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
cmp rdi, rax
sete dil
test dil, dil
je 0x140225bb2
mov rcx, qword [rbx + 0x20]
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fflush]
mov rbx, qword [rsp + 0x30]
movzx eax, dil
add rsp, 0x20
pop rdi
ret

Function at 0x140226b40
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x20
mov r8, rcx
movzx r9d, byte [rdx]
movabs rax, 0xcbf29ce484222325
xor r9, rax
movabs rcx, 0x100000001b3
imul r9, rcx
movzx eax, byte [rdx + 1]
xor r9, rax
imul r9, rcx
movzx eax, byte [rdx + 2]
xor r9, rax
imul r9, rcx
movzx eax, byte [rdx + 3]
xor r9, rax
imul r9, rcx
movzx eax, byte [rdx + 4]
xor r9, rax
imul r9, rcx
movzx eax, byte [rdx + 5]
xor r9, rax
imul r9, rcx
movzx eax, byte [rdx + 6]
xor r9, rax
imul r9, rcx
movzx eax, byte [rdx + 7]
xor r9, rax
imul r9, rcx
mov rcx, qword [r8 + 0x30]
and rcx, r9
lea rax, [rcx + rcx]
mov rbx, qword [r8 + 0x18]
mov rbx, qword [rbx + rax*8 + 8]
cmp rbx, qword [r8 + 8]
je 0x140226bf8
add rcx, rcx
mov rax, qword [r8 + 0x18]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rdx]
cmp rax, qword [rbx + 0x10]
je 0x140226bfa
cmp rbx, rcx
je 0x140226bf8
mov rbx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
jne 0x140226be7
jmp 0x140226bfa
xor ebx, ebx
test rbx, rbx
je 0x140226cb6
mov rcx, qword [r8 + 0x30]
and rcx, r9
mov rdx, rcx
shl rdx, 4
add rdx, qword [r8 + 0x18]
add rcx, rcx
mov rax, qword [r8 + 0x18]
lea r9, [rax + rcx*8]
cmp qword [r9 + 8], rbx
jne 0x140226c42
cmp qword [rdx], rbx
jne 0x140226c38
mov rax, qword [r8 + 8]
mov qword [rdx], rax
mov qword [r9 + 8], rax
jmp 0x140226c4d
mov rax, qword [rbx + 8]
mov qword [r9 + 8], rax
jmp 0x140226c4d
cmp qword [rdx], rbx
jne 0x140226c4d
mov rax, qword [rbx]
mov qword [rdx], rax
mov rcx, qword [rbx]
dec qword [r8 + 0x10]
mov rax, qword [rbx + 8]
mov qword [rax], rcx
mov rax, qword [rbx + 8]
mov qword [rcx + 8], rax
lea rax, [rbx + 0x10]
mov qword [rsp + 0x30], rax
lea rdi, [rax + 8]
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], rdi
cmp qword [rdi + 0x38], 0
je 0x140226c99
mov rcx, qword [rdi + 0x38]
mov rax, qword [rcx]
cmp rcx, rdi
setne dl
call qword [rax + 0x20]
mov qword [rdi + 0x38], 0
mov edx, 0x60
mov rcx, rbx
call fcn.140233b10
mov eax, 1
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
xor eax, eax
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x140226cd0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x20
mov r8, rcx
movzx r9d, byte [rdx]
movabs rax, 0xcbf29ce484222325
xor r9, rax
movabs rcx, 0x100000001b3
imul r9, rcx
movzx eax, byte [rdx + 1]
xor r9, rax
imul r9, rcx
movzx eax, byte [rdx + 2]
xor r9, rax
imul r9, rcx
movzx eax, byte [rdx + 3]
xor r9, rax
imul r9, rcx
movzx eax, byte [rdx + 4]
xor r9, rax
imul r9, rcx
movzx eax, byte [rdx + 5]
xor r9, rax
imul r9, rcx
movzx eax, byte [rdx + 6]
xor r9, rax
imul r9, rcx
movzx eax, byte [rdx + 7]
xor r9, rax
imul r9, rcx
mov rcx, qword [r8 + 0x30]
and rcx, r9
lea rax, [rcx + rcx]
mov rbx, qword [r8 + 0x18]
mov rbx, qword [rbx + rax*8 + 8]
cmp rbx, qword [r8 + 8]
je 0x140226d88
add rcx, rcx
mov rax, qword [r8 + 0x18]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rdx]
cmp rax, qword [rbx + 0x10]
je 0x140226d8a
cmp rbx, rcx
je 0x140226d88
mov rbx, qword [rbx + 8]
cmp rax, qword [rbx + 0x10]
jne 0x140226d77
jmp 0x140226d8a
xor ebx, ebx
test rbx, rbx
je 0x140226e41
mov rcx, qword [r8 + 0x30]
and rcx, r9
mov rdx, rcx
shl rdx, 4
add rdx, qword [r8 + 0x18]
add rcx, rcx
mov rax, qword [r8 + 0x18]
lea r9, [rax + rcx*8]
cmp qword [r9 + 8], rbx
jne 0x140226dd2
cmp qword [rdx], rbx
jne 0x140226dc8
mov rax, qword [r8 + 8]
mov qword [rdx], rax
mov qword [r9 + 8], rax
jmp 0x140226ddd
mov rax, qword [rbx + 8]
mov qword [r9 + 8], rax
jmp 0x140226ddd
cmp qword [rdx], rbx
jne 0x140226ddd
mov rax, qword [rbx]
mov qword [rdx], rax
mov rcx, qword [rbx]
dec qword [r8 + 0x10]
mov rax, qword [rbx + 8]
mov qword [rax], rcx
mov rax, qword [rbx + 8]
mov qword [rcx + 8], rax
lea rax, [rbx + 0x10]
mov qword [rsp + 0x30], rax
lea rdi, [rax + 8]
mov qword [rsp + 0x40], rdi
cmp qword [rdi + 0x38], 0
je 0x140226e24
mov rcx, qword [rdi + 0x38]
mov rax, qword [rcx]
cmp rcx, rdi
setne dl
call qword [rax + 0x20]
mov qword [rdi + 0x38], 0
mov edx, 0x58
mov rcx, rbx
call fcn.140233b10
mov eax, 1
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
xor eax, eax
mov rbx, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x1402275f0
Capabilities:
Hash data using fnv

Disassembly:
movzx r9d, byte [r8]
mov r11, rcx
movabs rcx, 0x100000001b3
movabs rax, 0xcbf29ce484222325
xor r9, rax
mov r10, rdx
movzx eax, byte [r8 + 1]
mov rdx, qword [r11 + 0x30]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 2]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 3]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 4]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 5]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 6]
imul r9, rcx
xor r9, rax
movzx eax, byte [r8 + 7]
imul r9, rcx
xor r9, rax
mov rax, qword [r11 + 0x18]
imul r9, rcx
and rdx, r9
lea rcx, [rdx + rdx]
mov rax, qword [rax + rcx*8 + 8]
cmp rax, qword [r11 + 8]
je 0x1402276a8
mov rcx, qword [r11 + 0x18]
add rdx, rdx
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [r8]
cmp rcx, qword [rax + 0x10]
je 0x1402276aa
cmp rax, rdx
je 0x1402276a8
mov rax, qword [rax + 8]
cmp rcx, qword [rax + 0x10]
jne 0x140227697
jmp 0x1402276aa
xor eax, eax
test rax, rax
jne 0x1402276b3
mov rax, qword [r11 + 8]
mov qword [r10], rax
mov rax, r10
ret
Function at 0x1402280c0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
mov rsi, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
ja 0x1402282b1
lea rax, [rdx - 1]
or rax, rdi
bsr rcx, rax
inc ecx
shl rdi, cl
mov rbx, qword [rsi + 8]
lea rcx, [rsi + 0x18]
lea rdx, [rdi + rdi]
mov r8, rbx
call fcn.1400289f0
lea rax, [rdi - 1]
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x38], rdi
mov qword [rsp + 0x48], rsi
mov rcx, qword [rsi + 8]
mov rcx, qword [rcx]
mov rdx, rcx
cmp rcx, rbx
je 0x14022826f
movabs rbp, 0x100000001b3
movabs r14, 0xcbf29ce484222325
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [rdx]
movzx r8d, byte [rcx + 0x10]
xor r8, r14
imul r8, rbp
movzx eax, byte [rcx + 0x11]
xor r8, rax
imul r8, rbp
movzx eax, byte [rcx + 0x12]
xor r8, rax
imul r8, rbp
movzx eax, byte [rcx + 0x13]
xor r8, rax
imul r8, rbp
movzx eax, byte [rcx + 0x14]
xor r8, rax
imul r8, rbp
movzx eax, byte [rcx + 0x15]
xor r8, rax
imul r8, rbp
movzx eax, byte [rcx + 0x16]
xor r8, rax
imul r8, rbp
movzx eax, byte [rcx + 0x17]
xor r8, rax
imul r8, rbp
and r8, qword [rsi + 0x30]
mov r11, r8
shl r11, 4
add r11, qword [rsi + 0x18]
add r8, r8
mov rax, qword [rsi + 0x18]
lea rdi, [rax + r8*8]
cmp qword [r11], rbx
jne 0x1402281e4
mov qword [r11], rcx
mov qword [rdi + 8], rcx
jmp 0x140228263
mov rax, qword [rdi + 8]
mov r8, qword [rax + 0x10]
cmp qword [rcx + 0x10], r8
jne 0x140228221
mov r8, qword [rax]
cmp r8, rcx
je 0x14022821b
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov rax, qword [rdx + 8]
mov qword [rax], r8
mov r9, qword [r8 + 8]
mov qword [r9], rcx
mov qword [r8 + 8], rax
mov qword [rdx + 8], r10
mov qword [rcx + 8], r9
mov qword [rdi + 8], rcx
jmp 0x140228263
cmp qword [r11], rax
je 0x14022823f
mov r9, qword [rcx + 0x10]
mov r8, qword [r11]
nop dword [rax]
mov rax, qword [rax + 8]
cmp r9, qword [rax + 0x10]
je 0x14022828b
cmp r8, rax
jne 0x140228230
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov qword [rax + 8], r8
mov qword [rdx + 8], r10
mov qword [rcx + 8], r9
mov qword [r11], rcx
mov rcx, rdx
cmp rdx, rbx
jne 0x140228160
mov qword [rsp + 0x48], 0
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret
mov rax, qword [rax]
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov qword [rax + 8], r8
mov qword [rdx + 8], r10
mov qword [rcx + 8], r9
jmp 0x140228263
lea rcx, str.invalid_hash_bucket_count
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
int3
Function at 0x1402282c0
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0x20
mov rsi, rcx
movabs rax, 0xfffffffffffffff
bsr rcx, rax
mov edi, 1
mov eax, edi
shl rax, cl
cmp rdx, rax
ja 0x1402284b1
lea rax, [rdx - 1]
or rax, rdi
bsr rcx, rax
inc ecx
shl rdi, cl
mov rbx, qword [rsi + 8]
lea rcx, [rsi + 0x18]
lea rdx, [rdi + rdi]
mov r8, rbx
call fcn.1400289f0
lea rax, [rdi - 1]
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x38], rdi
mov qword [rsp + 0x48], rsi
mov rcx, qword [rsi + 8]
mov rcx, qword [rcx]
mov rdx, rcx
cmp rcx, rbx
je 0x14022846f
movabs rbp, 0x100000001b3
movabs r14, 0xcbf29ce484222325
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [rdx]
movzx r8d, byte [rcx + 0x10]
xor r8, r14
imul r8, rbp
movzx eax, byte [rcx + 0x11]
xor r8, rax
imul r8, rbp
movzx eax, byte [rcx + 0x12]
xor r8, rax
imul r8, rbp
movzx eax, byte [rcx + 0x13]
xor r8, rax
imul r8, rbp
movzx eax, byte [rcx + 0x14]
xor r8, rax
imul r8, rbp
movzx eax, byte [rcx + 0x15]
xor r8, rax
imul r8, rbp
movzx eax, byte [rcx + 0x16]
xor r8, rax
imul r8, rbp
movzx eax, byte [rcx + 0x17]
xor r8, rax
imul r8, rbp
and r8, qword [rsi + 0x30]
mov r11, r8
shl r11, 4
add r11, qword [rsi + 0x18]
add r8, r8
mov rax, qword [rsi + 0x18]
lea rdi, [rax + r8*8]
cmp qword [r11], rbx
jne 0x1402283e4
mov qword [r11], rcx
mov qword [rdi + 8], rcx
jmp 0x140228463
mov rax, qword [rdi + 8]
mov r8, qword [rax + 0x10]
cmp qword [rcx + 0x10], r8
jne 0x140228421
mov r8, qword [rax]
cmp r8, rcx
je 0x14022841b
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov rax, qword [rdx + 8]
mov qword [rax], r8
mov r9, qword [r8 + 8]
mov qword [r9], rcx
mov qword [r8 + 8], rax
mov qword [rdx + 8], r10
mov qword [rcx + 8], r9
mov qword [rdi + 8], rcx
jmp 0x140228463
cmp qword [r11], rax
je 0x14022843f
mov r9, qword [rcx + 0x10]
mov r8, qword [r11]
nop dword [rax]
mov rax, qword [rax + 8]
cmp r9, qword [rax + 0x10]
je 0x14022848b
cmp r8, rax
jne 0x140228430
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov qword [rax + 8], r8
mov qword [rdx + 8], r10
mov qword [rcx + 8], r9
mov qword [r11], rcx
mov rcx, rdx
cmp rdx, rbx
jne 0x140228360
mov qword [rsp + 0x48], 0
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rdi
pop rsi
ret
mov rax, qword [rax]
mov r10, qword [rcx + 8]
mov qword [r10], rdx
mov r8, qword [rdx + 8]
mov qword [r8], rax
mov r9, qword [rax + 8]
mov qword [r9], rcx
mov qword [rax + 8], r8
mov qword [rdx + 8], r10
mov qword [rcx + 8], r9
jmp 0x140228463
lea rcx, str.invalid_hash_bucket_count
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
int3
Function at 0x140228ea0
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x80
mov rax, qword [0x1404f4fb8]
xor rax, rsp
mov qword [rsp + 0x70], rax
xor edi, edi
mov dword [rsp + 0x30], edi
lea rdx, [rsp + 0x40]
lea rcx, [0x14051ca80]
call fcn.1401fd570
nop
lea rcx, [rsp + 0x40]
call fcn.140227f10
mov byte [rax], dil
lea ecx, [rdi + 8]
call fcn.140233ad4
test rax, rax
je 0x140228efa
lea rcx, [0x140229270]
mov qword [rax], rcx
jmp 0x140228efd
mov rax, rdi
mov qword [rsp + 0x38], rax
mov ebx, 2
mov dword [rsp + 0x30], ebx
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], edi
mov r9, rax
lea r8, [0x140226f50]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x60], rax
test rax, rax
je 0x140229026
mov qword [rsp + 0x38], rdi
and ebx, 0xfffffffd
mov dword [rsp + 0x30], ebx
cmp dword [0x14051c848], 0
je 0x140228f57
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
int3
xorps xmm0, xmm0
movaps xmm1, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
movups xmmword [0x14051c840], xmm1
cmp dword [rsp + 0x68], 0
je 0x140228f7a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_terminate]
int3
call sub.MSVCP140.dll__Xtime_get_ticks
imul rcx, rax, 0x64
add rcx, 0x3b9aca00
movabs rax, 0x112e0be826d694b3
imul rcx
sar rdx, 0x1a
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov qword [rsp + 0x60], rdx
imul rax, rdx, 0x3b9aca00
sub rcx, rax
mov dword [rsp + 0x68], ecx
mov rcx, qword [rsp + 0x50]
call sub.MSVCP140.dll__Mtx_current_owns
test eax, eax
je 0x14022901b
lea r8, [rsp + 0x60]
mov rdx, qword [rsp + 0x50]
lea rcx, [0x14051c7c0]
call sub.MSVCP140.dll__Cnd_timedwait
lea rcx, [rsp + 0x40]
call fcn.140227f10
movzx ebx, byte [rax]
cmp byte [rsp + 0x58], 0
je 0x140228ffa
mov rcx, qword [rsp + 0x50]
call fcn.1402334f8
movzx eax, bl
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.140233ef0
mov rbx, qword [rsp + 0x90]
add rsp, 0x80
pop rdi
ret
mov ecx, 4
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
nop
mov dword [rsp + 0x68], edi
mov ecx, 6
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
int3
Function at 0x14022f920
Capabilities:
Create process on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
lea rbp, [rsp - 0x3f]
sub rsp, 0xe8
mov rax, qword [0x1404f4fb8]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov rbx, r9
mov rdi, rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x20], xmm0
movups xmmword [rbp - 0x79], xmm0
movups xmmword [rbp - 0x69], xmm0
movups xmmword [rbp - 0x59], xmm0
movups xmmword [rbp - 0x49], xmm0
movups xmmword [rbp - 0x39], xmm0
movups xmmword [rbp - 0x29], xmm0
mov dword [rsp + 0x20], reloc.WS2_32.dll_WSASetLastError
mov rax, rcx
cmp qword [rcx + 0x18], 8
jb 0x14022f97a
mov rax, qword [rcx]
mov qword [rbp - 0x71], rax
cmp qword [rdx + 0x18], 8
jb 0x14022f988
mov rdx, qword [rdx]
mov qword [rbp - 0x69], rdx
xor esi, esi
cmp qword [r8 + 0x10], rsi
jne 0x14022f99a
mov qword [rbp - 0x61], rsi
jmp 0x14022f9a8
cmp qword [r8 + 0x18], 8
jb 0x14022f9a4
mov r8, qword [r8]
mov qword [rbp - 0x61], r8
lea rax, str.open
mov qword [rbp - 0x79], rax
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x24], 0x440
mov dword [rbp - 0x59], 1
lea rcx, [rsp + 0x20]
call qword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
je 0x14022f9f2
mov rcx, qword [rbp - 0x21]
test rcx, rcx
je 0x14022f9f2
mov qword [rbx], rcx
call qword [sym.imp.KERNEL32.dll_GetProcessId]
mov dword [rbx + 0x10], eax
mov al, 1
jmp 0x14022fae2
mov rbx, qword [0x140517230]
test rbx, rbx
je 0x14022fae0
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x30]
test al, al
je 0x14022fae0
mov rdx, rdi
lea rcx, [rbp + 7]
call fcn.1401f8a80
nop
mov r8, rax
lea rdx, str.Failed_to_execute_application_process___
lea rcx, [rbp - 0x19]
call fcn.140026c80
nop
mov rdx, qword [rbp + 0x1f]
cmp rdx, 0x10
jb 0x14022fa6f
inc rdx
mov rcx, qword [rbp + 7]
cmp rdx, 0x1000
jb 0x14022fa6a
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14022fafa
mov rcx, r8
call fcn.140233b10
mov qword [rbp + 0x17], rsi
mov qword [rbp + 0x1f], reloc.WS2_32.dll_ntohs
mov byte [rbp + 7], 0
mov rax, qword [rbx]
lea r9, [rbp - 0x19]
lea r8, str.eax::services::process::_anonymous_namespace::executeApplication
mov edx, 1
mov rcx, rbx
call qword [rax + gethostname]
nop
mov rdx, qword [rbp - 1]
cmp rdx, 0x10
jb 0x14022fad0
inc rdx
mov rcx, qword [rbp - 0x19]
cmp rdx, 0x1000
jb 0x14022facb
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14022fb01
mov rcx, r8
call fcn.140233b10
mov qword [rbp - 9], rsi
mov qword [rbp - 1], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x19], 0
xor al, al
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.140233ef0
add rsp, 0xe8
pop rdi
pop rsi
pop rbx
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
Function at 0x14023369c
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x40
mov rdi, rdx
lea r8, [rsp + 0x60]
mov ebx, ecx
mov edx, 0x20000001
lea rcx, str._x_sys_default_locale
mov r9d, 2
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoEx]
mov r8d, ebx
mov ecx, 0x1300
neg eax
sbb r9d, r9d
and qword [rsp + 0x30], 0
and r9d, dword [rsp + 0x60]
xor edx, edx
and dword [rsp + 0x28], 0
mov dword [rsp + 0x60], r9d
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
mov edx, eax
test eax, eax
je 0x140233720
mov r8, qword [rdi]
dec r8
add r8, rdx
movzx ecx, byte [r8]
lea rax, [0x1403a5b40]
cmp byte [rcx + rax], 0
je 0x140233720
dec r8
sub rdx, 1
jne 0x140233706
mov rbx, qword [rsp + 0x50]
mov rax, rdx
add rsp, 0x40
pop rdi
ret

Function at 0x140234a34
Capabilities:
Parse pe header

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

Function at 0x140239410
Capabilities:
Terminate process

Disassembly:
push rbx
sub rsp, 0x20
cmp byte [rcx + 9], 0
mov rbx, rcx
je 0x14023942b
lea rcx, str.User_requested_cancellation_of_run._n
call fcn.1400c4880
mov rcx, qword [rbx + 0x6f8]
mov edx, 0xffff
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov byte [rbx + 0x48], 0
add rsp, 0x20
pop rbx
ret

Function at 0x140239f60
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
cmp byte [rcx + 9], 0
mov rdi, rdx
mov rbx, rcx
je 0x140239faf
lea rcx, str.Target_process_generated_an_exception._n
call fcn.1400c4880
mov edx, dword [rdi]
lea rcx, str._Code______0x_08x_n
call fcn.1400c4880
mov rdx, qword [rdi + 0x10]
lea rcx, str._Address___0x_016llX__n
call fcn.1400c4880
mov edx, dword [rdi + 4]
lea rcx, str._Flags_____0x_08x_n
call fcn.1400c4880
mov rcx, qword [rbx + 0x6f8]
mov edx, 0xffff
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov byte [rbx + 0x48], 0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret

Function at 0x14023c090
Capabilities:
Query environment variable

Disassembly:
sub rsp, 0x38
xor r10d, r10d
mov r11, rcx
cmp byte [rcx + 0x558], r10b
je 0x14023c0ea
cmp qword [rcx + 0x5b8], 0xffffffffffffffff
je 0x14023c0b9
mov r10, qword [rcx + 0x5b8]
cmp r8, r10
jb 0x14023c0f2
mov rcx, qword [rcx + 0x5c0]
add rcx, r10
cmp r8, rcx
jae 0x14023c0f2
cmp byte [r11 + 0x5b0], 0
je 0x14023c0d5
sub r8, r10
mov rax, qword [rsp + 0x60]
mov rcx, r11
mov qword [rsp + 0x20], rax
call fcn.14023d780
mov r10d, eax
mov eax, r10d
add rsp, 0x38
ret
mov rcx, r11
add rsp, 0x38
jmp fcn.14023d780
Function at 0x140240250
Capabilities:
Resume thread
Suspend thread

Disassembly:
push rbx
push rsi
sub rsp, 0x508
mov rax, qword [0x1404f4fb8]
xor rax, rsp
mov qword [rsp + 0x4f0], rax
mov rbx, rdx
mov rsi, rcx
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, ebx
jne 0x1402402ac
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x50], 0x100003
call qword [sym.imp.KERNEL32.dll_RtlCaptureContext]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0x118]
jmp 0x140240345
mov edx, 1
mov qword [rsp + 0x530], rbp
mov r8d, ebx
mov qword [rsp + 0x500], rdi
lea ecx, [rdx + 9]
call qword [sym.imp.KERNEL32.dll_OpenThread]
xor ebx, ebx
mov rdi, rax
mov ebp, ebx
test rax, rax
je 0x14024032f
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_SuspendThread]
cmp eax, 0xffffffff
je 0x140240308
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x50], 0x100003
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetThreadContext]
mov rcx, rdi
mov ebp, eax
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test ebp, ebp
je 0x14024032f
mov rbx, qword [rsp + 0x118]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xb8]
jmp 0x140240335
mov rcx, rbx
mov rax, rbx
mov rbp, qword [rsp + 0x530]
mov rdi, qword [rsp + 0x500]
test rbx, rbx
mov qword [rsi + 0x28], rax
mov qword [rsi + 0x18], rbx
setne al
mov qword [rsi + 0x20], rcx
mov rcx, qword [rsp + 0x4f0]
xor rcx, rsp
call fcn.140233ef0
add rsp, 0x508
pop rsi
pop rbx
ret
Function at 0x140245180
Capabilities:
Read file on windows
Read pipe

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x450
mov rax, qword [0x1404f4fb8]
xor rax, rsp
mov qword [rsp + 0x440], rax
xor edi, edi
mov byte [rsp + 0x40], 0
lea rax, [rsp + 0x34]
mov dword [rsp + 0x30], edi
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x30]
lea rax, [rsp + 0x38]
mov dword [rsp + 0x38], edi
mov rbx, rcx
mov qword [rsp + 0x20], rax
mov rcx, qword [rcx + 0x768]
lea rdx, [rsp + 0x40]
mov r8d, 0x3ff
mov dword [rsp + 0x34], edi
call qword [sym.imp.KERNEL32.dll_PeekNamedPipe]
test eax, eax
je 0x140245348
nop
cmp dword [rsp + 0x30], edi
je 0x140245348
mov rcx, qword [rbx + 0x768]
lea r9, [rsp + 0x30]
mov r8d, 0x3ff
mov qword [rsp + 0x20], rdi
lea rdx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14024530f
mov edx, dword [rsp + 0x30]
test edx, edx
je 0x14024530f
movzx eax, byte [rbx + 0x73f]
shr al, 7
test al, 1
je 0x140245247
mov rcx, qword [rbx + 0x730]
jmp 0x140245257
movsx rax, byte [rbx + 0x73f]
mov ecx, reloc.WS2_32.dll_socket
sub rcx, rax
cmp rcx, 0x7a1200
jbe 0x1402452a1
lea rcx, [rbx + 0x728]
movzx eax, byte [rcx + 0x17]
shr al, 7
test al, 1
je 0x140245275
mov rcx, qword [rcx]
lea rdx, [rbx + 0x728]
movzx eax, byte [rdx + 0x17]
lea r8, [rcx + 0xf4240]
shr al, 7
test al, 1
je 0x140245291
mov rdx, qword [rdx]
lea rcx, [rbx + 0x728]
call fcn.140171a10
mov edx, dword [rsp + 0x30]
mov eax, edx
lea r9, [rsp + 0x40]
add r9, rax
movzx eax, byte [rbx + 0x73f]
shr al, 7
test al, 1
je 0x1402452c9
mov rdx, qword [rbx + 0x730]
add rdx, qword [rbx + 0x728]
jmp 0x1402452df
movsx rax, byte [rbx + 0x73f]
lea rdx, [rbx + 0x728]
sub rdx, rax
add rdx, 0x17
lea r8, [rsp + 0x40]
lea rcx, [rbx + 0x728]
call fcn.140255960
mov eax, dword [rsp + 0x30]
cmp rax, 0x400
jae 0x140245369
mov byte [rsp + rax + 0x40], dil
lea rdx, [rsp + 0x40]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 0x28]
mov rcx, qword [rbx + 0x768]
lea rax, [rsp + 0x34]
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x30]
lea rax, [rsp + 0x38]
mov r8d, 0x3ff
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_PeekNamedPipe]
test eax, eax
jne 0x1402451f0
mov rcx, qword [rsp + 0x440]
xor rcx, rsp
call fcn.140233ef0
mov rbx, qword [rsp + 0x468]
add rsp, 0x450
pop rdi
ret
call fcn.140234650
int3