joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400b0540
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
sub rsp, 0x240
mov rax, qword [0x1403486d0]
xor rax, rsp
mov qword [rsp + 0x230], rax
movzx esi, dx
mov rdi, rcx
mov qword [rsp + 0x28], rcx
xor ebp, ebp
mov dword [rsp + 0x20], ebp
xor edx, edx
mov r8d, 0x200
lea rcx, [rsp + 0x30]
call sub.VCRUNTIME140.dll_memset
mov ebx, esi
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
and eax, 0xf0000
or eax, esi
mov r9d, 0xff
lea r8, [rsp + 0x30]
lea edx, [rbp + 0x59]
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov qword [rdi], rbp
mov qword [rdi + 0x10], rbp
mov qword [rdi + 0x18], 7
mov word [rdi], bp
lea rax, [rsp + 0x30]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rax + r8*2], bp
jne 0x1400b05d0
lea rdx, [rsp + 0x30]
mov rcx, rdi
call fcn.1400523d0
mov dword [rsp + 0x20], 1
lea rdx, [0x14027e20c]
lea rcx, [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x1400b0646
mov eax, 0x804
cmp si, ax
jne 0x1400b061b
lea rdx, [0x14027e218]
jmp 0x1400b07b6
mov eax, 0xc04
mov r8d, 3
mov rcx, rdi
cmp si, ax
jne 0x1400b063a
lea rdx, [0x14027e220]
jmp 0x1400b07bf
lea rdx, [0x14027e228]
jmp 0x1400b07bf
lea rdx, [0x14027e230]
lea rcx, [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x1400b0676
mov eax, 0x816
cmp si, ax
jne 0x1400b07c4
lea rdx, [0x14027e238]
jmp 0x1400b07b6
lea rdx, [0x14027e240]
lea rcx, [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x1400b0753
cmp ebx, 0x340a
je 0x1400b0744
cmp ebx, 0x200a
je 0x1400b0744
cmp ebx, 0x80a
je 0x1400b0744
cmp ebx, 0x100a
je 0x1400b0744
cmp ebx, 0x140a
je 0x1400b0744
cmp ebx, 0x180a
je 0x1400b0744
cmp ebx, 0x1c0a
je 0x1400b0744
cmp ebx, 0x240a
je 0x1400b0744
cmp ebx, 0x280a
je 0x1400b0744
cmp ebx, 0x2c0a
je 0x1400b0744
cmp ebx, 0x300a
je 0x1400b0744
cmp ebx, 0x480a
je 0x1400b0744
cmp ebx, 0x380a
je 0x1400b0744
cmp ebx, 0x3c0a
je 0x1400b0744
cmp ebx, 0x400a
je 0x1400b0744
cmp ebx, 0x440a
je 0x1400b0744
cmp ebx, 0x4c0a
je 0x1400b0744
cmp ebx, 0x500a
je 0x1400b0744
cmp ebx, 0x540a
je 0x1400b0744
cmp ebx, 0x580a
jne 0x1400b07c4
mov r8d, 4
lea rdx, str._419
jmp 0x1400b07bc
lea rdx, [0x14027e254]
lea rcx, [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x1400b077c
mov eax, 0xc0c
cmp si, ax
jne 0x1400b07c4
lea rdx, [0x14027e260]
jmp 0x1400b07b6
lea rdx, [0x14027e268]
lea rcx, [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
jne 0x1400b07c4
mov eax, 0x809
cmp si, ax
jne 0x1400b07a5
lea rdx, [0x14027e270]
jmp 0x1400b07b6
mov eax, 0xc09
cmp si, ax
jne 0x1400b07c4
lea rdx, [0x14027e278]
mov r8d, 3
mov rcx, rdi
call fcn.140052250
mov rax, rdi
mov rcx, qword [rsp + 0x230]
xor rcx, rsp
call fcn.1400e6b50
mov rbx, qword [rsp + 0x270]
add rsp, 0x240
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400b11a0
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
lea rbp, [rsp - 0x170]
sub rsp, 0x270
mov rax, qword [0x1403486d0]
xor rax, rsp
mov qword [rbp + 0x160], rax
mov edi, edx
mov rsi, rcx
xor edx, edx
mov r8d, 0x200
lea rcx, [rsp + 0x60]
call sub.VCRUNTIME140.dll_memset
mov r9d, 0x100
lea r8, [rsp + 0x60]
mov edx, 0x58
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
movzx eax, word [rsp + 0x6e]
shr ax, 0xb
and al, 1
mov byte [rsi + 0x2c], al
xor edx, edx
mov r8d, 0x200
lea rcx, [rsp + 0x60]
call sub.VCRUNTIME140.dll_memset
mov r9d, 0x100
lea r8, [rsp + 0x60]
mov edx, 0x1001
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
xor eax, eax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 7
mov word [rsp + 0x40], ax
lea rax, [rsp + 0x60]
mov rbx, 0xffffffffffffffff
mov r8, rbx
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1400b1260
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x40]
call fcn.1400523d0
nop
mov r9d, 0x100
lea r8, [rsp + 0x60]
mov edx, 0x1002
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov r8d, 1
lea rdx, [0x14027e46c]
lea rcx, [rsp + 0x40]
call fcn.140052250
lea rax, [rsp + 0x60]
mov r8, rbx
inc r8
cmp word [rax + r8*2], 0
jne 0x1400b12b2
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x40]
call fcn.140052250
mov r9d, 0x100
lea r8, [rsp + 0x60]
mov edx, 0x1004
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
jne 0x1400b1302
mov r9d, 0x100
lea r8, [rsp + 0x60]
lea edx, [rax + 0xb]
mov ecx, edi
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x1400b1342
cmp word [rsp + 0x60], 0
je 0x1400b1342
mov r8d, 1
lea rdx, [0x14027e208]
lea rcx, [rsp + 0x40]
call fcn.140052250
lea rax, [rsp + 0x60]
inc rbx
cmp word [rax + rbx*2], 0
jne 0x1400b1326
mov r8, rbx
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x40]
call fcn.140052250
call fcn.1400c1f80
cmp dword [rax + 0x78], 7
jl 0x1400b1397
call fcn.1400c1f80
lea rcx, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rcx, qword [rsp + 0x40]
mov qword [rsp + 0x30], rcx
lea rcx, [0x14027e470]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0xbf
lea r9, str.D:BWA29B6E26C_BE36_0MobileMeServices_237_srcrootCommonAppData.cpp
lea r8, str.AppData::SetLocale
mov edx, 7
mov rcx, rax
call fcn.1400c2500
lea rdx, [rsp + 0x40]
cmp qword [rsp + 0x58], 8
cmovae rdx, qword [rsp + 0x40]
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_locale_l1_1_0.dll__wsetlocale]
mov dword [rsi + 0x28], edi
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x1400b13f8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400b13f3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400b13f3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400e6a28
mov rcx, qword [rbp + 0x160]
xor rcx, rsp
call fcn.1400e6b50
mov rbx, qword [rsp + 0x2a0]
add rsp, 0x270
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400b37f0
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rbx, 0xffffffffffffffff
mov rdi, rdx
mov rdx, qword [str.Fatal_Internal_Error_in_libarchive:]
mov r8, rbx
mov esi, ecx
inc r8
cmp byte [rdx + r8], 0
jne 0x1400b3815
mov ecx, 2
call fcn.1400ba010
nop dword [rax]
inc rbx
cmp byte [rdi + rbx], 0
jne 0x1400b3830
mov r8, rbx
mov rdx, rdi
mov ecx, 2
call fcn.1400ba010
mov r8d, 1
lea rdx, [0x140274000]
lea ecx, [r8 + 1]
call fcn.1400ba010
mov ecx, esi
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3

Function at 0x1400ba010
Capabilities:
Write file on windows

Disassembly:
push rdi
sub rsp, 0x30
mov rdi, rdx
test ecx, ecx
jns 0x1400ba036
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [rax], 9
mov rax, 0xffffffffffffffff
add rsp, 0x30
pop rdi
ret
mov qword [rsp + 0x48], rbx
mov ebx, 0xffffffff
cmp r8, rbx
cmovbe ebx, r8d
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__get_osfhandle]
lea r9, [rsp + 0x40]
mov qword [rsp + 0x20], 0
mov rcx, rax
mov r8d, ebx
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rbx, qword [rsp + 0x48]
test eax, eax
jne 0x1400ba0ab
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
jne 0x1400ba097
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov dword [rax], 9
mov rax, 0xffffffffffffffff
add rsp, 0x30
pop rdi
ret
mov ecx, eax
call fcn.1400b9c20
mov rax, 0xffffffffffffffff
add rsp, 0x30
pop rdi
ret
mov eax, dword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret

Function at 0x1400bd5c0
Capabilities:
Hash data with crc32

Disassembly:
mov r8d, r8d
jmp 0x1400bd5d0
sub rsp, 8
mov r10, r8
mov r9, rdx
test rdx, rdx
jne 0x1400bd5e6
xor eax, eax
add rsp, 8
ret
mov qword [rsp], rbx
lea rbx, [0x1402869c0]
not ecx
cmp r10, 8
jb 0x1400bd6d4
mov r11, r10
shr r11, 3
imul rax, r11, 0xfffffffffffffff8
add r10, rax
nop dword [rax + rax]
movzx edx, byte [r9]
mov eax, ecx
xor rdx, rax
shr ecx, 8
movzx eax, dl
mov edx, dword [rbx + rax*4]
xor edx, ecx
movzx ecx, byte [r9 + 1]
mov eax, edx
shr edx, 8
xor rcx, rax
movzx eax, cl
movzx ecx, byte [r9 + 2]
mov r8d, dword [rbx + rax*4]
xor r8d, edx
mov eax, r8d
shr r8d, 8
xor rcx, rax
movzx eax, cl
movzx ecx, byte [r9 + 3]
mov edx, dword [rbx + rax*4]
xor edx, r8d
mov eax, edx
shr edx, 8
xor rcx, rax
movzx eax, cl
movzx ecx, byte [r9 + 4]
mov r8d, dword [rbx + rax*4]
xor r8d, edx
mov eax, r8d
shr r8d, 8
xor rcx, rax
movzx eax, cl
movzx ecx, byte [r9 + 5]
mov edx, dword [rbx + rax*4]
xor edx, r8d
mov eax, edx
shr edx, 8
xor rcx, rax
movzx eax, cl
movzx ecx, byte [r9 + 6]
mov r8d, dword [rbx + rax*4]
xor r8d, edx
mov eax, r8d
shr r8d, 8
xor rcx, rax
movzx eax, cl
movzx ecx, byte [r9 + 7]
add r9, 8
mov edx, dword [rbx + rax*4]
xor edx, r8d
mov eax, edx
shr edx, 8
xor rcx, rax
movzx eax, cl
mov ecx, dword [rbx + rax*4]
xor ecx, edx
sub r11, 1
jne 0x1400bd610
test r10, r10
je 0x1400bd700
nop dword [rax]
movzx edx, byte [r9]
lea r9, [r9 + 1]
mov eax, ecx
xor rdx, rax
shr eax, 8
movzx r8d, dl
mov ecx, dword [rbx + r8*4]
xor ecx, eax
sub r10, 1
jne 0x1400bd6e0
mov rbx, qword [rsp]
not ecx
mov eax, ecx
add rsp, 8
ret
Function at 0x1400bd5d0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
mov r8d, r8d
jmp 0x1400bd5d0
sub rsp, 8
mov r10, r8
mov r9, rdx
test rdx, rdx
jne 0x1400bd5e6
xor eax, eax
add rsp, 8
ret
mov qword [rsp], rbx
lea rbx, [0x1402869c0]
not ecx
cmp r10, 8
jb 0x1400bd6d4
mov r11, r10
shr r11, 3
imul rax, r11, 0xfffffffffffffff8
add r10, rax
nop dword [rax + rax]
movzx edx, byte [r9]
mov eax, ecx
xor rdx, rax
shr ecx, 8
movzx eax, dl
mov edx, dword [rbx + rax*4]
xor edx, ecx
movzx ecx, byte [r9 + 1]
mov eax, edx
shr edx, 8
xor rcx, rax
movzx eax, cl
movzx ecx, byte [r9 + 2]
mov r8d, dword [rbx + rax*4]
xor r8d, edx
mov eax, r8d
shr r8d, 8
xor rcx, rax
movzx eax, cl
movzx ecx, byte [r9 + 3]
mov edx, dword [rbx + rax*4]
xor edx, r8d
mov eax, edx
shr edx, 8
xor rcx, rax
movzx eax, cl
movzx ecx, byte [r9 + 4]
mov r8d, dword [rbx + rax*4]
xor r8d, edx
mov eax, r8d
shr r8d, 8
xor rcx, rax
movzx eax, cl
movzx ecx, byte [r9 + 5]
mov edx, dword [rbx + rax*4]
xor edx, r8d
mov eax, edx
shr edx, 8
xor rcx, rax
movzx eax, cl
movzx ecx, byte [r9 + 6]
mov r8d, dword [rbx + rax*4]
xor r8d, edx
mov eax, r8d
shr r8d, 8
xor rcx, rax
movzx eax, cl
movzx ecx, byte [r9 + 7]
add r9, 8
mov edx, dword [rbx + rax*4]
xor edx, r8d
mov eax, edx
shr edx, 8
xor rcx, rax
movzx eax, cl
mov ecx, dword [rbx + rax*4]
xor ecx, edx
sub r11, 1
jne 0x1400bd610
test r10, r10
je 0x1400bd700
nop dword [rax]
movzx edx, byte [r9]
lea r9, [r9 + 1]
mov eax, ecx
xor rdx, rax
shr eax, 8
movzx r8d, dl
mov ecx, dword [rbx + r8*4]
xor ecx, eax
sub r10, 1
jne 0x1400bd6e0
mov rbx, qword [rsp]
not ecx
mov eax, ecx
add rsp, 8
ret
Function at 0x1400c0330
Capabilities:
Terminate thread

Disassembly:
test rdx, rdx
je 0x1400c042f
push rbx
sub rsp, 0x20
mov rcx, qword [rdx + 0x70]
mov rbx, rdx
mov qword [rsp + 0x30], rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0x70], 0xffffffffffffffff
mov rcx, qword [rbx + 0x120]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, qword [rbx + 0x110]
mov edx, 0xbb8
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x1400c038d
mov rcx, qword [rbx + 0x110]
mov edx, 1
call qword [sym.imp.KERNEL32.dll_TerminateThread]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov rcx, qword [rbx + 0x118]
lea rax, vtable.WL::RegKeyWatcher.0
mov qword [rbx + 0xc8], rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbx + 0x120]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdi, [rbx + 0xd0]
mov rcx, qword [rdi + 0x38]
test rcx, rcx
je 0x1400c03e2
mov rax, qword [rcx]
cmp rcx, rdi
setne dl
call qword [rax + 0x20]
mov qword [rdi + 0x38], 0
lea rdi, [rbx + 0x80]
mov rcx, qword [rdi + 0x38]
test rcx, rcx
je 0x1400c0406
mov rax, qword [rcx]
cmp rcx, rdi
setne dl
call qword [rax + 0x20]
mov qword [rdi + 0x38], 0
lea rcx, [rbx + 0x48]
call fcn.140052120
lea rcx, [rbx + 0x28]
call fcn.140052120
mov edx, 0x130
mov rcx, rbx
call fcn.1400e6a28
mov rdi, qword [rsp + 0x30]
add rsp, 0x20
pop rbx
ret
Function at 0x1400c0a70
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x70
mov rax, qword [0x1403486d0]
xor rax, rsp
mov qword [rsp + 0x60], rax
xor r9d, r9d
mov qword [rsp + 0x30], 0
mov rsi, rdx
mov dword [rsp + 0x28], 0x80
mov rdi, rcx
mov dword [rsp + 0x20], 4
mov rcx, rsi
lea edx, [r9 + 4]
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rdi + 0x70], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp qword [rdi + 0x70], 0xffffffffffffffff
mov ebx, eax
jne 0x1400c0bcc
mov r8d, eax
mov rdx, rsi
mov rcx, rdi
call fcn.1400c26a0
cmp ebx, 0x20
jne 0x1400c0bcc
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rdx, [rdi + 0x28]
mov r8b, 1
lea rcx, [rsp + 0x40]
call fcn.1400c15e0
lea rbx, [rdi + 0x48]
mov rdx, rax
mov rcx, rbx
call fcn.140059ac0
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x1400c0b5f
mov rcx, qword [rsp + 0x40]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c0b5a
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400c0b5a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400e6a28
lea rcx, str.Trying_again_with_file_name:
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp qword [rbx + 0x18], 8
mov rcx, rbx
jb 0x1400c0b79
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea rcx, [0x1402723e4]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmp qword [rbx + 0x18], 8
mov rdx, rbx
jb 0x1400c0b99
mov rdx, qword [rbx]
mov rcx, rdi
call fcn.1400c0a70
movzx esi, al
test al, al
jne 0x1400c0bc6
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp qword [rbx + 0x18], 8
jb 0x1400c0bb8
mov rbx, qword [rbx]
mov r8d, eax
mov rdx, rbx
mov rcx, rdi
call fcn.1400c26a0
movzx eax, sil
jmp 0x1400c0bce
mov al, 1
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1400e6b50
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
Function at 0x1400c26a0
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x80
mov rax, qword [0x1403486d0]
xor rax, rsp
mov qword [rsp + 0x78], rax
lea rcx, str.Unable_to_open_log_file:
mov edi, r8d
mov rbx, rdx
xor esi, esi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea rcx, str.__error:
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea r9, [rsp + 0x72]
test edi, edi
jns 0x1400c2740
neg edi
nop word [rax + rax]
sub r9, 2
mov eax, 0xcccccccd
mul edi
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub di, cx
add di, 0x30
mov word [r9], di
mov edi, edx
test edx, edx
jne 0x1400c2700
add r9, 0xfffffffffffffffe
mov eax, 0x2d
mov word [r9], ax
jmp 0x1400c276c
sub r9, 2
mov eax, 0xcccccccd
mul edi
shr edx, 3
movzx eax, dx
shl ax, 2
lea ecx, [rax + rdx]
add cx, cx
sub di, cx
add di, 0x30
mov word [r9], di
mov edi, edx
test edx, edx
jne 0x1400c2740
lea rcx, [rsp + 0x72]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x38], rsi
mov eax, 7
mov qword [rsp + 0x40], rax
cmp r9, rcx
je 0x1400c27ac
lea r8, [rsp + 0x72]
mov rdx, r9
sub r8, r9
lea rcx, [rsp + 0x28]
sar r8, 1
call fcn.1400523d0
mov rax, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x28]
cmp rax, 8
lea rcx, [rsp + 0x28]
cmovae rcx, rsi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rdx, qword [rsp + 0x40]
cmp rdx, 8
jb 0x1400c2804
mov rcx, qword [rsp + 0x28]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c27ff
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400c27ff
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400e6a28
lea rcx, [0x1402723e4]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
mov rcx, qword [rsp + 0x78]
xor rcx, rsp
call fcn.1400e6b50
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret

Function at 0x1400c29c0
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
push rdi
sub rsp, 0x30
mov rdi, rdx
mov rbx, rcx
add rcx, 8
call fcn.140057800
mov dword [rsp + 0x40], 0
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0
mov r9, rbx
lea r8, [0x1400c2840]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rbx + 0x48], rax
mov rcx, qword [rdi + 0x38]
test rcx, rcx
je 0x1400c2a2d
mov rax, qword [rcx]
cmp rcx, rdi
setne dl
call qword [rax + 0x20]
mov qword [rdi + 0x38], 0
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
Function at 0x1400c2a40
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x60
mov rax, qword [0x1403486d0]
xor rax, rsp
mov qword [rsp + 0x58], rax
movzx esi, r8b
mov rdi, rdx
mov rbx, rcx
cmp byte [rcx + 0xc0], 0
jne 0x1400c2b46
mov byte [rcx + 0xc0], 1
cmp dword [rcx + 0x78], 0
je 0x1400c2b46
cmp qword [rcx + 0x70], 0xffffffffffffffff
jne 0x1400c2b46
lea rdx, [rcx + 0x48]
cmp qword [rdx + 0x18], 8
jb 0x1400c2a9f
mov rdx, qword [rdx]
call fcn.1400c0a70
test al, al
je 0x1400c2b46
xor r8d, r8d
lea rdx, str._t_n_t
mov rcx, rbx
call fcn.1400c2a40
lea rdx, [rbx + 0x28]
cmp qword [rdx + 0x18], 8
jb 0x1400c2acc
mov rdx, qword [rdx]
lea rcx, [rsp + 0x38]
call fcn.1400c41a0
nop
lea rdx, [rsp + 0x38]
cmp qword [rsp + 0x50], 0x10
cmovae rdx, qword [rsp + 0x38]
xor r8d, r8d
mov rcx, rbx
call fcn.1400c2a40
nop
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jb 0x1400c2b34
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400c2b2f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400c2b2f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400e6a28
mov r8b, 1
lea rdx, str._begins_n_t_n
mov rcx, rbx
call fcn.1400c2a40
mov rcx, qword [rbx + 0x70]
cmp rcx, 0xffffffffffffffff
je 0x1400c2b90
mov dword [rsp + 0x30], 0
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rdi + r8], 0
jne 0x1400c2b60
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x30]
mov rdx, rdi
call qword [sym.imp.KERNEL32.dll_WriteFile]
test sil, sil
je 0x1400c2b90
mov rcx, qword [rbx + 0x70]
call qword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1400e6b50
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret

Function at 0x1400c2d60
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x440
mov rax, qword [0x1403486d0]
xor rax, rsp
mov qword [rsp + 0x430], rax
mov rax, qword [rcx + 8]
mov rdi, rcx
mov esi, dword [rax + 0x78]
call fcn.1400c1f80
mov rbx, rax
mov byte [rsp + 0x20], 0
mov rdx, qword [rax + 0x68]
test rdx, rdx
jne 0x1400c2daf
mov rdx, qword [0x140376450]
mov qword [rax + 0x68], rdx
lea rcx, [rsp + 0x20]
call fcn.1400c1910
cmp byte [rsp + 0x20], 0
je 0x1400c2dc3
mov dword [rbx + 0x78], eax
mov rax, qword [rdi + 8]
mov ecx, dword [rax + 0x78]
cmp esi, ecx
je 0x1400c2e0d
call fcn.1400c1ff0
mov ecx, esi
mov r9, rax
call fcn.1400c1ff0
mov r8, rax
lea rdx, str._Changing_log_level_from__s_to__s_n
lea rcx, [rsp + 0x30]
call fcn.1400bf8b0
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, qword [rdi + 8]
lea rdx, [rsp + 0x30]
mov r8b, 1
call fcn.1400c2a40
mov rcx, qword [rsp + 0x430]
xor rcx, rsp
call fcn.1400e6b50
lea r11, [rsp + 0x440]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
Function at 0x1400c3f40
Capabilities:
Get geographical location

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov rax, qword [0x1403486d0]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov r12, r8
mov r15d, edx
mov rbx, rcx
mov qword [rsp + 0x28], rcx
xor r13d, r13d
xor r9d, r9d
xor r8d, r8d
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoEx]
movsxd r14, eax
test eax, eax
jne 0x1400c3fa2
mov qword [rbx], r13
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], 7
mov word [rbx], r13w
jmp 0x1400c4034
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], 7
mov word [rsp + 0x30], r13w
mov eax, 2
mul r14
mov rsi, 0xffffffffffffffff
cmovo rax, rsi
mov rcx, rax
call fcn.1400e6a30
mov rbp, rax
lea r8, [r14 + r14]
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
mov r9d, r14d
mov r8, rbp
mov edx, r15d
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoEx]
test eax, eax
je 0x1400c401b
nop dword [rax]
inc rsi
cmp word [rbp + rsi*2], 0
jne 0x1400c4000
mov r8, rsi
mov rdx, rbp
lea rcx, [rsp + 0x30]
call fcn.1400523d0
mov rcx, rbp
call fcn.1400e6a28
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rbx + 0x10], xmm1
mov rax, rbx
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1400e6b50
mov rbx, qword [rsp + 0xb8]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret

Function at 0x1400c49f0
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x40
mov rsi, r9
mov rbp, r8
mov rax, qword [rsp + 0x70]
movzx r10d, byte [rax]
mov byte [r9], r10b
xor ebx, ebx
mov dword [rsp + 0x70], ebx
mov qword [rsp + 0x38], rbx
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov edi, eax
test eax, eax
jne 0x1400c4a47
mov edi, ebx
mov rbx, qword [rsp + 0x38]
test edi, edi
jne 0x1400c4a84
mov dword [rsp + 0x68], 4
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x30]
xor r8d, r8d
mov rdx, rbp
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp dword [rsp + 0x70], edi
setne al
mov byte [rsi], al
test rbx, rbx
je 0x1400c4a92
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, edi
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret