joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14000bbc0
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x5b0
mov rbp, rcx
mov rcx, qword [0x140024768]
mov ebx, r9d
mov rdi, r8
mov rsi, rdx
call fcn.14000e8a0
test rax, rax
je 0x14000bc14
mov r10, qword [rsp + 0x5e0]
mov r9d, ebx
mov r8, rdi
mov rdx, rsi
mov rcx, rbp
mov qword [rsp + 0x20], r10
call rax
jmp 0x14000bca9
mov ecx, 2
call fcn.140012470
lea rcx, [rsp + 0xe0]
call qword [sym.imp.KERNEL32.dll_RtlCaptureContext]
lea rcx, [rsp + 0x40]
xor edx, edx
mov r8d, 0x98
call fcn.14000c470
mov rax, qword [rsp + 0x5b8]
mov dword [rsp + 0x40], 0xc000000d
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x38], rax
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
xor ecx, ecx
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
test eax, eax
jne 0x14000bc95
test ebx, ebx
jne 0x14000bc95
lea ecx, [rax + 2]
call fcn.140012470
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc000000d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
lea r11, [rsp + 0x5b0]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret

Function at 0x14000bcd0
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x5b8
mov rcx, qword [0x140024768]
call fcn.14000e8a0
test rax, rax
je 0x14000bd05
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], 0
call rax
add rsp, 0x5b8
ret
mov ecx, 2
mov qword [rsp + 0x5b0], rbx
call fcn.140012470
lea rcx, [rsp + 0xe0]
call qword [sym.imp.KERNEL32.dll_RtlCaptureContext]
lea rcx, [rsp + 0x40]
xor edx, edx
mov r8d, 0x98
call fcn.14000c470
mov rax, qword [rsp + 0x5b8]
mov dword [rsp + 0x40], 0xc000000d
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x38], rax
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
xor ecx, ecx
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
test eax, eax
jne 0x14000bd8e
test ebx, ebx
jne 0x14000bd8e
lea ecx, [rax + 2]
call fcn.140012470
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc000000d
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
mov rbx, qword [rsp + 0x5b0]
add rsp, 0x5b8
ret
Function at 0x14000d327
Capabilities:
Terminate process

Disassembly:
cmp rcx, qword [0x1400230b0]
jne 0x14000a6fa
rol rcx, 0x10
test cx, 0xffff
jne 0x14000a6f6
repz ret
ror rcx, 0x10
jmp 0x14000d280
mov qword [rsp + 8], rcx
sub rsp, 0x88
lea rcx, [0x140024830]
call qword [sym.imp.KERNEL32.dll_RtlCaptureContext]
mov rax, qword [0x140024928]
mov qword [rsp + 0x58], rax
xor r8d, r8d
lea rdx, [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
call sub.KERNEL32.dll_RtlLookupFunctionEntry
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 0
je 0x14000d305
mov qword [rsp + 0x38], 0
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [0x140024830]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
xor ecx, ecx
call sub.KERNEL32.dll_RtlVirtualUnwind
jmp 0x14000d327
mov rax, qword [rsp + 0x88]
mov qword [0x140024928], rax
lea rax, [rsp + 0x88]
add rax, 8
mov qword [0x1400248c8], rax
mov rax, qword [0x140024928]
mov qword [0x1400247a0], rax
mov rax, qword [rsp + 0x90]
mov qword [0x1400248b0], rax
mov dword [0x140024790], 0xc0000409
mov dword [0x140024794], 1
mov rax, qword [0x1400230b0]
mov qword [rsp + 0x68], rax
mov rax, qword [0x1400230b8]
mov qword [rsp + 0x70], rax
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
mov dword [0x140024828], eax
mov ecx, 1
call fcn.140012470
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
lea rcx, [0x14001c898]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
cmp dword [0x140024828], 0
jne 0x14000d3ae
mov ecx, 1
call fcn.140012470
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
add rsp, 0x88
ret
Function at 0x140012910
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
sub rsp, 0x30
mov eax, dword [0x140024dd8]
xor r12d, r12d
test eax, eax
mov ebp, r12d
jne 0x14001296c
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
test rax, rax
mov rdi, rax
je 0x14001294c
mov dword [0x140024dd8], 1
jmp 0x14001297f
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x78
jne 0x140012966
mov dword [0x140024dd8], 2
jmp 0x1400129e9
mov eax, dword [0x140024dd8]
cmp eax, 1
jne 0x1400129e0
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
test rax, rax
mov rdi, rax
je 0x1400129ba
cmp word [rdi], bp
mov rax, rdi
je 0x140012999
add rax, 2
cmp word [rax], bp
jne 0x140012987
add rax, 2
cmp word [rax], bp
jne 0x140012987
sub eax, edi
add eax, 2
movsxd rsi, eax
mov rcx, rsi
call fcn.14000eec0
test rax, rax
mov rbx, rax
jne 0x1400129c1
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
xor eax, eax
jmp 0x140012adb
mov r8, rsi
mov rdx, rdi
mov rcx, rax
call fcn.14000f580
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov rax, rbx
jmp 0x140012adb
cmp eax, 2
je 0x1400129e9
test eax, eax
jne 0x1400129ba
call qword [sym.imp.KERNEL32.dll_GetEnvironmentStrings]
test rax, rax
mov rsi, rax
je 0x1400129ba
cmp byte [rax], bpl
mov rbx, rax
je 0x140012a38
nop
or r9d, 0xffffffff
mov r8, rbx
xor ecx, ecx
lea edx, [r9 + 2]
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
je 0x1400129ba
or rcx, 0xffffffffffffffff
add ebp, eax
mov rdi, rbx
xor eax, eax
repne scasb al, byte [rdi]
not rcx
add rbx, rcx
cmp byte [rbx], al
jne 0x140012a00
add ebp, 1
mov edx, 2
movsxd rcx, ebp
call fcn.14000ef30
test rax, rax
mov r12, rax
jne 0x140012a5d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsA]
xor eax, eax
jmp 0x140012adb
cmp byte [rsi], 0
mov qword [rsp + 0x50], r13
mov rbx, rax
mov r13, rsi
je 0x140012ac5
nop
or r9d, 0xffffffff
mov eax, ebp
mov rcx, rbx
sub rcx, r12
lea edx, [r9 + 2]
mov r8, r13
sar rcx, 1
sub eax, ecx
xor ecx, ecx
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
je 0x140012aee
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r13
repne scasb al, byte [rdi]
mov rdi, rbx
not rcx
add r13, rcx
or rcx, 0xffffffffffffffff
repne scasw ax, word [rdi]
cmp byte [r13], al
not rcx
lea rbx, [rbx + rcx*2]
jne 0x140012a70
mov rcx, rsi
mov word [rbx], 0
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsA]
mov rax, r12
mov r13, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
add rsp, 0x30
pop r12
pop rdi
pop rsi
ret
mov rcx, r12
call fcn.14000c410
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsA]
xor eax, eax
jmp 0x140012ad6
Function at 0x140013000
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rsi
push rdi
push r12
sub rsp, 0x30
lea r12, [0x140023b60]
xor esi, esi
mov edi, ecx
mov rax, r12
mov ebx, esi
nop
cmp ecx, dword [rax]
je 0x14001303e
add ebx, 1
add rax, 0x10
cmp ebx, 0x17
jb 0x140013020
mov rbx, qword [rsp + 0x60]
add rsp, 0x30
pop r12
pop rdi
pop rsi
ret
cmp ebx, 0x17
jae 0x140013225
mov ecx, 3
call fcn.140019b90
cmp eax, 1
je 0x1400131dc
mov ecx, 3
call fcn.140019b90
test eax, eax
jne 0x140013075
cmp dword [0x1400230a8], 1
je 0x1400131dc
cmp edi, 0xfc
je 0x140013225
mov qword [rsp + 0x50], rbp
lea rbp, [0x140025010]
lea r8, str.Runtime_Error__n_nProgram:
mov rcx, rbp
mov edx, 0x314
call fcn.1400123c0
test eax, eax
je 0x1400130b9
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rsi
call fcn.14000bb20
lea rdx, [0x140025029]
mov r8d, 0x104
xor ecx, ecx
mov byte [0x14002512d], sil
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
jne 0x140013109
lea r8, str._program_name_unknown_
lea rcx, [0x140025029]
mov edx, 0x2fb
call fcn.1400123c0
test eax, eax
je 0x140013109
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rsi
call fcn.14000bb20
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [0x140025029]
repne scasb al, byte [rdi]
not rcx
cmp rcx, 0x3c
jbe 0x140013158
lea rcx, [rcx + rbp - 0x23]
lea rdx, [0x140025324]
lea r9d, [rax + 3]
lea r8, [0x14001cf34]
sub rdx, rcx
call fcn.1400183f0
test eax, eax
je 0x140013158
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rsi
call fcn.14000bb20
lea r8, [0x14001cf30]
mov edx, 0x314
mov rcx, rbp
call fcn.140018330
test eax, eax
je 0x140013184
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rsi
call fcn.14000bb20
movsxd r8, ebx
mov edx, 0x314
mov rcx, rbp
add r8, r8
mov r8, qword [r12 + r8*8 + 8]
call fcn.140018330
test eax, eax
je 0x1400131b4
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rsi
call fcn.14000bb20
lea rdx, str.Microsoft_Visual_C_Runtime_Library
mov r8d, 0x12010
mov rcx, rbp
call fcn.140019930
mov rbp, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x60]
add rsp, 0x30
pop r12
pop rdi
pop rsi
ret
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
test rax, rax
mov r11, rax
je 0x140013225
cmp rax, 0xffffffffffffffff
je 0x140013225
xor eax, eax
movsxd rcx, ebx
lea r9, [rsp + 0x58]
add rcx, rcx
mov qword [rsp + 0x20], rsi
mov rdx, qword [r12 + rcx*8 + 8]
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
mov rcx, r11
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rbx, qword [rsp + 0x60]
add rsp, 0x30
pop r12
pop rdi
pop rsi
ret
Function at 0x140013240
Capabilities:
Write file on windows

Disassembly:
sub rsp, 0x38
mov ecx, 3
call fcn.140019b90
cmp eax, 1
je 0x140013272
mov ecx, 3
call fcn.140019b90
test eax, eax
jne 0x140013326
cmp dword [0x1400230a8], 1
jne 0x140013326
mov qword [rsp + 0x48], rbx
lea rbx, [0x140023b60]
mov qword [rsp + 0x30], rdi
mov rax, rbx
xor edi, edi
cmp dword [rax], 0xfc
je 0x14001329e
add edi, 1
add rax, 0x10
cmp edi, 0x17
jb 0x140013288
jmp 0x140013312
cmp edi, 0x17
jae 0x140013312
mov ecx, 3
call fcn.140019b90
cmp eax, 1
je 0x1400132c9
mov ecx, 3
call fcn.140019b90
test eax, eax
jne 0x140013312
cmp dword [0x1400230a8], 1
jne 0x140013312
mov ecx, 0xfffffff4
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
test rax, rax
mov r11, rax
je 0x140013312
cmp rax, 0xffffffffffffffff
je 0x140013312
movsxd rcx, edi
xor eax, eax
lea r9, [rsp + 0x40]
add rcx, rcx
mov qword [rsp + 0x20], rax
mov rdx, qword [rbx + rcx*8 + 8]
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
mov rcx, r11
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov ecx, 0xff
call fcn.140013000
mov rdi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x48]
add rsp, 0x38
ret
Function at 0x140018b20
Capabilities:
Get geographical location

Disassembly:
sub rsp, 0x38
mov rax, qword [0x1400230b0]
xor rax, rsp
mov qword [rsp + 0x28], rax
lea r8, [rsp + 0x20]
mov r9d, 6
mov edx, 0x1004
mov byte [rsp + 0x26], 0
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoA]
test eax, eax
jne 0x140018b67
or eax, 0xffffffff
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.14000a6e0
add rsp, 0x38
ret
lea rcx, [rsp + 0x20]
call fcn.14001a890
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.14000a6e0
add rsp, 0x38
ret
Function at 0x140019930
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r13
push r14
sub rsp, 0x50
mov edi, r8d
mov r13, rdx
mov r14, rcx
call fcn.14000e7b0
xor ebx, ebx
cmp qword [0x140025630], rbx
mov rbp, rax
mov dword [rsp + 0x98], ebx
mov dword [rsp + 0x30], ebx
jne 0x140019a5c
lea rcx, str.USER32.DLL
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
test rax, rax
mov rsi, rax
je 0x140019b6f
lea rdx, str.MessageBoxA
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140019b6f
mov rcx, rax
call fcn.14000e6e0
lea rdx, str.GetActiveWindow
mov rcx, rsi
mov qword [0x140025630], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call fcn.14000e6e0
lea rdx, str.GetLastActivePopup
mov rcx, rsi
mov qword [0x140025638], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call fcn.14000e6e0
lea rcx, [rsp + 0x98]
mov qword [0x140025640], rax
call fcn.14000f210
test eax, eax
je 0x140019a0f
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rbx
call fcn.14000bb20
cmp dword [rsp + 0x98], 2
jne 0x140019a5c
lea rdx, str.GetUserObjectInformationA
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call fcn.14000e6e0
test rax, rax
mov qword [0x140025650], rax
je 0x140019a5c
lea rdx, str.GetProcessWindowStation
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call fcn.14000e6e0
mov qword [0x140025648], rax
mov rcx, qword [0x140025648]
mov qword [rsp + 0x80], r12
cmp rcx, rbp
je 0x140019b08
cmp qword [0x140025650], rbp
je 0x140019b08
call fcn.14000e8a0
mov rcx, qword [0x140025650]
mov rsi, rax
call fcn.14000e8a0
test rsi, rsi
mov r12, rax
je 0x140019b08
test rax, rax
je 0x140019b08
call rsi
test rax, rax
je 0x140019ad3
lea rcx, [rsp + 0x34]
mov r9d, 0xc
lea r8, [rsp + 0x38]
mov qword [rsp + 0x20], rcx
lea edx, [r9 - 0xb]
mov rcx, rax
call r12
test eax, eax
je 0x140019ad3
test byte [rsp + 0x40], 1
jne 0x140019b08
lea rcx, [rsp + 0x30]
call fcn.14000f260
test eax, eax
je 0x140019af5
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
mov qword [rsp + 0x20], rbx
call fcn.14000bb20
cmp dword [rsp + 0x30], 4
jb 0x140019b02
bts edi, 0x15
jmp 0x140019b46
bts edi, 0x12
jmp 0x140019b46
mov rcx, qword [0x140025638]
cmp rcx, rbp
je 0x140019b46
call fcn.14000e8a0
test rax, rax
je 0x140019b46
call rax
test rax, rax
mov rbx, rax
je 0x140019b46
mov rcx, qword [0x140025640]
cmp rcx, rbp
je 0x140019b46
call fcn.14000e8a0
test rax, rax
je 0x140019b46
mov rcx, rbx
call rax
mov rbx, rax
mov rcx, qword [0x140025630]
call fcn.14000e8a0
mov r12, qword [rsp + 0x80]
test rax, rax
je 0x140019b6f
mov r9d, edi
mov r8, r13
mov rdx, r14
mov rcx, rbx
call rax
jmp 0x140019b71
xor eax, eax
mov rbx, qword [rsp + 0x88]
add rsp, 0x50
pop r14
pop r13
pop rdi
pop rsi
pop rbp
ret
Function at 0x689836e0
Capabilities:
Write file on windows

Disassembly:
push r12
push rbx
sub rsp, 0x38
mov r12, rcx
lea rax, [rsp + 0x58]
mov ecx, 2
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x68], r9
mov qword [rsp + 0x28], rax
call dbg.__acrt_iob_func
mov r8d, 0x1b
mov edx, 1
lea rcx, str.Mingw_w64_runtime_failure:_n
mov r9, rax
call sym.fwrite
mov rbx, qword [rsp + 0x28]
mov ecx, 2
call dbg.__acrt_iob_func
mov rdx, r12
mov rcx, rax
mov r8, rbx
call sym.vfprintf
call sym.abort
nop
nop word [rax + rax]

Function at 0x68983750
Capabilities:
Allocate or change rwx memory

Disassembly:
push r12
push rsi
push rbx
sub rsp, 0x50
movsxd rbx, dword [0x68989064]
mov r12, rcx
test ebx, ebx
jle 0x68983880
mov rax, qword [0x68989068]
xor ecx, ecx
add rax, 0x18
nop word [rax + rax]
mov rdx, qword [rax]
cmp rdx, r12
ja 0x6898379c
mov r8, qword [rax + 8]
mov r8d, dword [r8 + 8]
add rdx, r8
cmp r12, rdx
jb 0x68983823
add ecx, 1
add rax, 0x28
cmp ecx, ebx
jne 0x68983780
mov rcx, r12
call dbg.__mingw_GetSectionForAddress
mov rsi, rax
test rax, rax
je 0x689838a2
mov rax, qword [0x68989068]
lea rbx, [rbx + rbx*4]
shl rbx, 3
add rax, rbx
mov qword [rax + 0x20], rsi
mov dword [rax], 0
call dbg._GetPEImageBase
mov ecx, dword [rsi + 0xc]
lea rdx, [rsp + 0x20]
mov r8d, 0x30
add rcx, rax
mov rax, qword [0x68989068]
mov qword [rax + rbx + 0x18], rcx
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x68983887
mov eax, dword [rsp + 0x44]
lea edx, [rax - 0x40]
and edx, 0xffffffbf
je 0x6898381c
lea edx, [rax - 4]
and edx, 0xfffffffb
jne 0x68983830
add dword [0x68989064], 1
add rsp, 0x50
pop rbx
pop rsi
pop r12
ret
cmp eax, 2
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x38]
mov r8d, 4
mov eax, 0x40
cmovne r8d, eax
add rbx, qword [0x68989068]
mov qword [rbx + 8], rcx
mov r9, rbx
mov qword [rbx + 0x10], rdx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x6898381c
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.__VirtualProtect_failed_with_code_0x_x
mov edx, eax
call dbg.__report_error
nop dword [rax]
xor ebx, ebx
jmp 0x689837a7
mov rax, qword [0x68989068]
mov edx, dword [rsi + 8]
lea rcx, str.__VirtualQuery_failed_for__d_bytes_at_address__p
mov r8, qword [rax + rbx + 0x18]
call dbg.__report_error
mov rdx, r12
lea rcx, str.Address__p_has_no_image_section
call dbg.__report_error
nop
nop word cs:[rax + rax]
nop dword [rax]

Function at 0x68983b50
Capabilities:
Get thread local storage value

Disassembly:
push r12
push rdi
push rsi
push rbx
sub rsp, 0x28
lea rcx, [0x689890a0]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbx, qword [0x68989080]
test rbx, rbx
je 0x68983ba4
mov rdi, qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rsi, qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [rbx]
call rdi
mov r12, rax
call rsi
test eax, eax
jne 0x68983b9b
test r12, r12
je 0x68983b9b
mov rax, qword [rbx + 8]
mov rcx, r12
call rax
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x68983b80
lea rcx, [0x689890a0]
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop r12
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
Function at 0x68983dc0
Capabilities:
Parse pe header

Disassembly:
xor eax, eax
cmp word [rcx], 0x5a4d
jne 0x68983dd8
movsxd rdx, dword [rcx + 0x3c]
add rcx, rdx
cmp dword [rcx], 0x4550
je 0x68983de0
ret
xor eax, eax
cmp word [rcx + 0x18], 0x20b
sete al
ret

Function at 0x68983df0
Capabilities:
Enumerate pe sections

Disassembly:
movsxd rax, dword [rcx + 0x3c]
mov r8, rdx
lea rdx, [rax + rcx]
movzx eax, word [rdx + 0x14]
lea rax, [rdx + rax + 0x18]
movzx edx, word [rdx + 6]
test edx, edx
je 0x68983e3c
sub edx, 1
lea rdx, [rdx + rdx*4]
lea r9, [rax + rdx*8 + 0x28]
nop dword [rax + rax]
mov ecx, dword [rax + 0xc]
mov rdx, rcx
cmp rcx, r8
ja 0x68983e33
add edx, dword [rax + 8]
cmp rdx, r8
ja 0x68983e3e
add rax, 0x28
cmp rax, r9
jne 0x68983e20
xor eax, eax
ret

Function at 0x68983e40
Capabilities:
Parse pe header

Disassembly:
push r12
push rsi
push rbx
sub rsp, 0x20
mov rbx, rcx
call sym.strlen
cmp rax, 8
ja 0x68983ed0
mov rdx, qword [0x68986760]
xor r12d, r12d
cmp word [rdx], 0x5a4d
jne 0x68983ebe
movsxd rax, dword [rdx + 0x3c]
add rax, rdx
cmp dword [rax], 0x4550
jne 0x68983ebe
cmp word [rax + 0x18], 0x20b
jne 0x68983ebe
movzx edx, word [rax + 0x14]
lea r12, [rax + rdx + 0x18]
movzx eax, word [rax + 6]
test eax, eax
je 0x68983ed0
sub eax, 1
lea rax, [rax + rax*4]
lea rsi, [r12 + rax*8 + 0x28]
jmp 0x68983ea9
add r12, 0x28
cmp r12, rsi
je 0x68983ed0
mov r8d, 8
mov rdx, rbx
mov rcx, r12
call sym.strncmp
test eax, eax
jne 0x68983ea0
mov rax, r12
add rsp, 0x20
pop rbx
pop rsi
pop r12
ret
xor r12d, r12d
mov rax, r12
add rsp, 0x20
pop rbx
pop rsi
pop r12
ret

Function at 0x68983ee0
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
mov rdx, qword [0x68986760]
xor eax, eax
cmp word [rdx], 0x5a4d
jne 0x68983f00
movsxd r8, dword [rdx + 0x3c]
add r8, rdx
cmp dword [r8], 0x4550
je 0x68983f08
ret
cmp word [r8 + 0x18], 0x20b
jne 0x68983f00
movzx eax, word [r8 + 0x14]
sub rcx, rdx
movzx edx, word [r8 + 6]
lea rax, [r8 + rax + 0x18]
test edx, edx
je 0x68983f55
sub edx, 1
lea rdx, [rdx + rdx*4]
lea r9, [rax + rdx*8 + 0x28]
nop dword [rax + rax]
mov r8d, dword [rax + 0xc]
mov rdx, r8
cmp rcx, r8
jb 0x68983f4c
add edx, dword [rax + 8]
cmp rcx, rdx
jb 0x68983f00
add rax, 0x28
cmp rax, r9
jne 0x68983f38
xor eax, eax
ret

Function at 0x68983f60
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [0x68986760]
xor r8d, r8d
cmp word [rax], 0x5a4d
jne 0x68983f80
movsxd rdx, dword [rax + 0x3c]
add rax, rdx
cmp dword [rax], 0x4550
je 0x68983f88
mov eax, r8d
ret
cmp word [rax + 0x18], 0x20b
jne 0x68983f80
movzx r8d, word [rax + 6]
mov eax, r8d
ret

Function at 0x68983fa0
Capabilities:
Parse pe header

Disassembly:
mov r8, qword [0x68986760]
xor eax, eax
cmp word [r8], 0x5a4d
jne 0x68983fc0
movsxd rdx, dword [r8 + 0x3c]
add rdx, r8
cmp dword [rdx], 0x4550
je 0x68983fc8
ret
cmp word [rdx + 0x18], 0x20b
jne 0x68983fc0
movzx eax, word [rdx + 0x14]
lea rax, [rdx + rax + 0x18]
movzx edx, word [rdx + 6]
test edx, edx
je 0x68984008
sub edx, 1
lea rdx, [rdx + rdx*4]
lea rdx, [rax + rdx*8 + 0x28]
nop dword [rax]
test byte [rax + 0x27], 0x20
je 0x68983fff
test rcx, rcx
je 0x68983fc0
sub rcx, 1
add rax, 0x28
cmp rax, rdx
jne 0x68983ff0
xor eax, eax
ret
Function at 0x68984010
Capabilities:
Parse pe header

Disassembly:
mov rax, qword [0x68986760]
xor r8d, r8d
cmp word [rax], 0x5a4d
jne 0x68984030
movsxd rdx, dword [rax + 0x3c]
add rdx, rax
cmp dword [rdx], 0x4550
je 0x68984038
mov rax, r8
ret
cmp word [rdx + 0x18], 0x20b
cmove r8, rax
mov rax, r8
ret

Function at 0x68984050
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
mov rax, qword [0x68986760]
xor r8d, r8d
cmp word [rax], 0x5a4d
jne 0x68984070
movsxd rdx, dword [rax + 0x3c]
add rdx, rax
cmp dword [rdx], 0x4550
je 0x68984078
mov eax, r8d
ret
cmp word [rdx + 0x18], 0x20b
jne 0x68984070
sub rcx, rax
movzx eax, word [rdx + 0x14]
lea rax, [rdx + rax + 0x18]
movzx edx, word [rdx + 6]
test edx, edx
je 0x68984070
sub edx, 1
lea rdx, [rdx + rdx*4]
lea r9, [rax + rdx*8 + 0x28]
mov r8d, dword [rax + 0xc]
mov rdx, r8
cmp rcx, r8
jb 0x689840b4
add edx, dword [rax + 8]
cmp rcx, rdx
jb 0x689840c8
add rax, 0x28
cmp r9, rax
jne 0x689840a0
xor r8d, r8d
mov eax, r8d
ret
mov r8d, dword [rax + 0x24]
not r8d
shr r8d, 0x1f
mov eax, r8d
ret

Function at 0x689840e0
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
mov r11, qword [0x68986760]
xor r9d, r9d
cmp word [r11], 0x5a4d
jne 0x68984102
movsxd r8, dword [r11 + 0x3c]
add r8, r11
cmp dword [r8], 0x4550
je 0x68984110
mov rax, r9
ret
cmp word [r8 + 0x18], 0x20b
jne 0x68984102
mov eax, dword [r8 + 0x90]
test eax, eax
je 0x68984102
movzx edx, word [r8 + 0x14]
lea rdx, [r8 + rdx + 0x18]
movzx r8d, word [r8 + 6]
test r8d, r8d
je 0x68984102
sub r8d, 1
lea r8, [r8 + r8*4]
lea r10, [rdx + r8*8 + 0x28]
nop dword [rax]
mov r9d, dword [rdx + 0xc]
mov r8, r9
cmp rax, r9
jb 0x6898415d
add r8d, dword [rdx + 8]
cmp rax, r8
jb 0x68984170
add rdx, 0x28
cmp r10, rdx
jne 0x68984148
xor r9d, r9d
mov rax, r9
ret
add rax, r11
jmp 0x6898417f
sub ecx, 1
add rax, 0x14
mov r8d, dword [rax + 4]
test r8d, r8d
jne 0x6898418f
mov edx, dword [rax + 0xc]
test edx, edx
je 0x68984166
test ecx, ecx
jg 0x68984178
mov r9d, dword [rax + 0xc]
add r9, r11
mov rax, r9
ret
Function at 0x7ff756ff3060
Capabilities:
Parse pe header

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