joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1401244d0
Capabilities:
Get system information on windows

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov ebp, edx
mov r14, rcx
mov dword [rcx + 0x10], edx
test edx, edx
je 0x140124514
mov eax, ebp
lea rbx, [rax*8]
shl rax, 4
lea rsi, [rax + rax*2]
mov rdi, qword [0x140e17de8]
test rdi, rdi
je 0x140124520
lea rbx, [rbx + rbx*2]
cmp rsi, rdi
jbe 0x140124543
jmp 0x1401245cd
mov qword [r14], 0
jmp 0x140124615
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edi, dword [rsp + 0x2c]
mov qword [0x140e17de8], rdi
lea rbx, [rbx + rbx*2]
cmp rsi, rdi
ja 0x1401245cd
test rdi, rdi
jne 0x14012455e
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edi, dword [rsp + 0x2c]
mov qword [0x140e17de8], rdi
cmp rbx, rdi
ja 0x140124627
mov rax, rdi
or rax, rbx
shr rax, 0x20
je 0x14012457d
mov rax, rdi
xor edx, edx
div rbx
jmp 0x140124583
mov eax, edi
xor edx, edx
div ebx
bsr rcx, rax
shl rbx, cl
mov eax, dword [r14 + 0x10]
shl eax, cl
mov dword [r14 + 0x10], eax
shl rax, 3
lea rax, [rax + rax*2]
cmp rbx, rax
jne 0x14012464b
lea r15, [rbx + rbx]
test rdi, rdi
jne 0x1401245c4
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edi, dword [rsp + 0x2c]
mov qword [0x140e17de8], rdi
cmp r15, rdi
jbe 0x14012466b
test rdi, rdi
jne 0x1401245e8
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edi, dword [rsp + 0x2c]
mov qword [0x140e17de8], rdi
mov rcx, rbx
mov rdx, rdi
call fcn.140125e20
mov rdi, rax
xor ecx, ecx
mov rdx, rax
mov r8d, 0x3000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x14012468b
mov qword [r14], rax
test ebp, ebp
setne al
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
mov qword [rsp + 0x20], 0
lea rcx, str....._sanitizer_common_sanitizer_common.h
lea r8, str.__x_______0U__
mov edx, 0x19c
xor r9d, r9d
call fcn.1400ca810
mov qword [rsp + 0x20], rax
lea rcx, str....._sanitizer_common_sanitizer_dense_map.h
lea r8, str.__Size______sizeof_BucketT___NumBuckets__
mov edx, 0x2af
mov r9, rbx
call fcn.1400ca810
mov qword [rsp + 0x20], rdi
lea rcx, str....._sanitizer_common_sanitizer_dense_map.h
lea r8, str.__Size__2_______GetPageSizeCached____
mov edx, 0x2b0
mov r9, r15
call fcn.1400ca810
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [rsp + 0x20], 0
lea rdx, str.DenseMap
lea r8, str.allocate
mov rcx, rdi
mov r9d, eax
call fcn.1400fa8c0
int3
Function at 0x1401246b0
Capabilities:
Get system information on windows

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x58
mov rdi, rcx
mov ebx, dword [rcx + 0x10]
mov r14, qword [rcx]
cmp edx, 0x41
mov r9d, 0x40
cmovae r9d, edx
lea eax, [r9 - 1]
test r9d, eax
jne 0x1401246dd
mov rdx, r9
jmp 0x14012470f
bsr rax, r9
xor rax, 0x3f
mov ecx, eax
neg cl
mov esi, 1
mov edx, 1
shl rdx, cl
cmp rdx, r9
jbe 0x1401247e5
xor al, 0x3f
mov ecx, eax
shl rsi, cl
cmp rsi, r9
jae 0x140124802
mov rcx, rdi
call fcn.1401244d0
mov rax, qword [rdi]
test rax, rax
je 0x1401247c1
test r14, r14
je 0x140124776
shl rbx, 3
lea rbx, [rbx + rbx*2]
lea r8, [r14 + rbx]
mov rcx, rdi
mov rdx, r14
call fcn.14011db80
mov rdx, qword [0x140e17de8]
test rdx, rdx
jne 0x140124761
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edx, dword [rsp + 0x2c]
mov qword [0x140e17de8], rdx
mov rcx, rbx
call fcn.140125e20
mov rcx, r14
mov rdx, rax
call fcn.1400e37c0
jmp 0x1401247b7
mov qword [rdi + 8], 0
mov ecx, dword [rdi + 0x10]
lea r9d, [rcx - 1]
and r9d, ecx
jne 0x14012481f
test rcx, rcx
je 0x1401247b7
lea rcx, [rcx + rcx*2]
lea rcx, [rax + rcx*8]
nop dword [rax + rax]
mov dword [rax], 0xffffffff
mov qword [rax + 8], 0xffffffffffffffff
add rax, 0x18
cmp rax, rcx
jne 0x1401247a0
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r14
ret
mov qword [rsp + 0x20], 0
lea rcx, str....._sanitizer_common_sanitizer_dense_map.h
lea r8, str.__Buckets______0_
mov edx, 0x289
xor r9d, r9d
call fcn.1400ca810
mov qword [rsp + 0x20], rdx
lea rcx, str....._sanitizer_common_sanitizer_common.h
lea r8, str.__size________1ULL_____up__1____
mov edx, 0x1c4
call fcn.1400ca810
mov qword [rsp + 0x20], rsi
lea rcx, str....._sanitizer_common_sanitizer_common.h
lea r8, str.__size________1ULL____up___
mov edx, 0x1c5
call fcn.1400ca810
mov qword [rsp + 0x20], 0
lea rcx, str....._sanitizer_common_sanitizer_dense_map.h
lea r8, str.___getNumBuckets_____getNumBuckets_____1________0__
mov edx, 0x10f
call fcn.1400ca810
int3
Function at 0x140124850
Capabilities:
Get system information on windows

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov ebp, edx
mov r14, rcx
mov dword [rcx + 0x10], edx
test edx, edx
je 0x14012488b
mov esi, ebp
mov rbx, rsi
shl rbx, 5
mov rdi, qword [0x140e17de8]
test rdi, rdi
je 0x140124897
shl rsi, 4
cmp rbx, rdi
jbe 0x1401248ba
jmp 0x140124940
mov qword [r14], 0
jmp 0x140124988
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edi, dword [rsp + 0x2c]
mov qword [0x140e17de8], rdi
shl rsi, 4
cmp rbx, rdi
ja 0x140124940
test rdi, rdi
jne 0x1401248d5
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edi, dword [rsp + 0x2c]
mov qword [0x140e17de8], rdi
cmp rsi, rdi
ja 0x14012499a
mov rax, rdi
or rax, rsi
shr rax, 0x20
je 0x1401248f4
mov rax, rdi
xor edx, edx
div rsi
jmp 0x1401248fa
mov eax, edi
xor edx, edx
div esi
bsr rcx, rax
shl rsi, cl
mov eax, dword [r14 + 0x10]
shl eax, cl
mov dword [r14 + 0x10], eax
shl rax, 4
cmp rsi, rax
jne 0x1401249be
lea r15, [rsi + rsi]
test rdi, rdi
jne 0x140124937
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edi, dword [rsp + 0x2c]
mov qword [0x140e17de8], rdi
cmp r15, rdi
jbe 0x1401249de
test rdi, rdi
jne 0x14012495b
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edi, dword [rsp + 0x2c]
mov qword [0x140e17de8], rdi
mov rcx, rsi
mov rdx, rdi
call fcn.140125e20
mov rdi, rax
xor ecx, ecx
mov rdx, rax
mov r8d, 0x3000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x1401249fe
mov qword [r14], rax
test ebp, ebp
setne al
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
mov qword [rsp + 0x20], 0
lea rcx, str....._sanitizer_common_sanitizer_common.h
lea r8, str.__x_______0U__
mov edx, 0x19c
xor r9d, r9d
call fcn.1400ca810
mov qword [rsp + 0x20], rax
lea rcx, str....._sanitizer_common_sanitizer_dense_map.h
lea r8, str.__Size______sizeof_BucketT___NumBuckets__
mov edx, 0x2af
mov r9, rsi
call fcn.1400ca810
mov qword [rsp + 0x20], rdi
lea rcx, str....._sanitizer_common_sanitizer_dense_map.h
lea r8, str.__Size__2_______GetPageSizeCached____
mov edx, 0x2b0
mov r9, r15
call fcn.1400ca810
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [rsp + 0x20], 0
lea rdx, str.DenseMap
lea r8, str.allocate
mov rcx, rdi
mov r9d, eax
call fcn.1400fa8c0
int3
Function at 0x140124a30
Capabilities:
Get system information on windows

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x58
mov rbx, rcx
mov r14d, dword [rcx + 0x10]
mov rsi, qword [rcx]
cmp edx, 0x41
mov r9d, 0x40
cmovae r9d, edx
lea eax, [r9 - 1]
test r9d, eax
jne 0x140124a5e
mov rdx, r9
jmp 0x140124a90
bsr rax, r9
xor rax, 0x3f
mov ecx, eax
neg cl
mov edi, 1
mov edx, 1
shl rdx, cl
cmp rdx, r9
jbe 0x140124b5f
xor al, 0x3f
mov ecx, eax
shl rdi, cl
cmp rdi, r9
jae 0x140124b7c
mov rcx, rbx
call fcn.140124850
mov rax, qword [rbx]
test rax, rax
je 0x140124b3b
test rsi, rsi
je 0x140124af3
shl r14, 4
lea r8, [rsi + r14]
mov rcx, rbx
mov rdx, rsi
call fcn.14011e250
mov rdx, qword [0x140e17de8]
test rdx, rdx
jne 0x140124ade
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edx, dword [rsp + 0x2c]
mov qword [0x140e17de8], rdx
mov rcx, r14
call fcn.140125e20
mov rcx, rsi
mov rdx, rax
call fcn.1400e37c0
jmp 0x140124b31
mov qword [rbx + 8], 0
mov ecx, dword [rbx + 0x10]
lea r9d, [rcx - 1]
and r9d, ecx
jne 0x140124b99
test rcx, rcx
je 0x140124b31
shl rcx, 4
xor edx, edx
nop word cs:[rax + rax]
mov qword [rax + rdx], 0xffffffffffffffff
add rdx, 0x10
cmp rcx, rdx
jne 0x140124b20
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r14
ret
mov qword [rsp + 0x20], 0
lea rcx, str....._sanitizer_common_sanitizer_dense_map.h
lea r8, str.__Buckets______0_
mov edx, 0x289
xor r9d, r9d
call fcn.1400ca810
mov qword [rsp + 0x20], rdx
lea rcx, str....._sanitizer_common_sanitizer_common.h
lea r8, str.__size________1ULL_____up__1____
mov edx, 0x1c4
call fcn.1400ca810
mov qword [rsp + 0x20], rdi
lea rcx, str....._sanitizer_common_sanitizer_common.h
lea r8, str.__size________1ULL____up___
mov edx, 0x1c5
call fcn.1400ca810
mov qword [rsp + 0x20], 0
lea rcx, str....._sanitizer_common_sanitizer_dense_map.h
lea r8, str.___getNumBuckets_____getNumBuckets_____1________0__
mov edx, 0x10f
call fcn.1400ca810
int3
Function at 0x140125e20
Capabilities:
Print debug messages
Write file on windows

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x30
lea rax, [rdx - 1]
test rdx, rax
jne 0x140125e49
lea rax, [rcx + rdx]
add rax, 0xffffffffffffffff
neg rdx
and rdx, rax
mov rax, rdx
add rsp, 0x30
pop rbx
pop rdi
pop rsi
ret
mov rsi, qword [str.L__A]
mov al, 1
xchg byte [rsi], al
test al, al
jne 0x140125edf
lea rcx, str.L__A
call fcn.140104a90
mov rcx, qword [0x140138468]
cmp rcx, 0xffffffffffffffff
je 0x140125f26
lea rax, [rcx - 1]
cmp rax, 1
ja 0x140125e9f
xor eax, eax
cmp rcx, 1
sete al
or eax, 0xfffffff4
mov ecx, eax
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov rcx, rax
test rax, rax
je 0x140125eca
mov qword [rsp + 0x20], 0
lea rdx, str.IsPowerOfTwo_boundary__n
lea r9, [rsp + 0x2c]
mov r8d, 0x17
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x140125ed7
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.IsPowerOfTwo_boundary__n
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov byte [rsi], 0
call fcn.1400e1c90
xor edi, edi
mov rbx, qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
jmp 0x140125ef3
add edi, 1
cmp edi, 0x63
ja 0x140125f10
pause
cmp byte [rsi], 0
jne 0x140125ef0
jmp 0x140125f19
xor ecx, ecx
call rbx
cmp byte [rsi], 0
jne 0x140125ef0
mov al, 1
xchg byte [rsi], al
test al, al
jne 0x140125ef0
jmp 0x140125e5c
mov qword [rsp + 0x20], 0
lea rcx, str.gotsan.cpp
lea r8, str.__fd_____fd_t__1_______0_
mov edx, 0x250a
xor r9d, r9d
call fcn.1400ca810
int3

Function at 0x140129370
Capabilities:
Get system information on windows

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x58
mov rdi, rdx
mov rsi, rcx
mov al, 1
xchg byte [rcx], al
test al, al
jne 0x1401293ee
mov rax, qword [rsi + rdi*8 + 8]
test rax, rax
jne 0x1401293e1
mov rdx, qword [0x140e17de8]
test rdx, rdx
jne 0x1401293b3
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edx, dword [rsp + 0x2c]
mov qword [0x140e17de8], rdx
mov ecx, 0x100000
call fcn.140125e20
mov rbx, rax
xor ecx, ecx
mov rdx, rax
mov r8d, 0x3000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x14012941c
mov qword [rsi + rdi*8 + 8], rax
mov byte [rsi], 0
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r14
ret
xor ebx, ebx
mov r14, qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
jmp 0x1401293fc
add ebx, 1
cmp ebx, 0x63
ja 0x140129405
pause
jmp 0x14012940a
xor ecx, ecx
call r14
cmp byte [rsi], 0
jne 0x1401293f9
mov al, 1
xchg byte [rsi], al
test al, al
jne 0x1401293f9
jmp 0x140129387
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [rsp + 0x20], 0
lea rdx, str.TwoLevelMap
lea r8, str.allocate
mov rcx, rbx
mov r9d, eax
call fcn.1400fa8c0
int3
Function at 0x140129450
Capabilities:
Get system information on windows

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x58
mov rdi, rdx
mov rsi, rcx
mov al, 1
xchg byte [rcx], al
test al, al
jne 0x1401294ce
mov rax, qword [rsi + rdi*8 + 8]
test rax, rax
jne 0x1401294c1
mov rdx, qword [0x140e17de8]
test rdx, rdx
jne 0x140129493
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edx, dword [rsp + 0x2c]
mov qword [0x140e17de8], rdx
mov ecx, 0x40000
call fcn.140125e20
mov rbx, rax
xor ecx, ecx
mov rdx, rax
mov r8d, 0x3000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x1401294fc
mov qword [rsi + rdi*8 + 8], rax
mov byte [rsi], 0
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r14
ret
xor ebx, ebx
mov r14, qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
jmp 0x1401294dc
add ebx, 1
cmp ebx, 0x63
ja 0x1401294e5
pause
jmp 0x1401294ea
xor ecx, ecx
call r14
cmp byte [rsi], 0
jne 0x1401294d9
mov al, 1
xchg byte [rsi], al
test al, al
jne 0x1401294d9
jmp 0x140129467
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [rsp + 0x20], 0
lea rdx, str.TwoLevelMap
lea r8, str.allocate
mov rcx, rbx
mov r9d, eax
call fcn.1400fa8c0
int3

Function at 0x140129530
Capabilities:
Get system information on windows

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x58
mov rdi, rdx
mov rsi, rcx
mov al, 1
xchg byte [rcx], al
test al, al
jne 0x1401295ae
mov rax, qword [rsi + rdi*8 + 8]
test rax, rax
jne 0x1401295a1
mov rdx, qword [0x140e17de8]
test rdx, rdx
jne 0x140129573
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edx, dword [rsp + 0x2c]
mov qword [0x140e17de8], rdx
mov ecx, 0x1000
call fcn.140125e20
mov rbx, rax
xor ecx, ecx
mov rdx, rax
mov r8d, 0x3000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x1401295dc
mov qword [rsi + rdi*8 + 8], rax
mov byte [rsi], 0
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r14
ret
xor ebx, ebx
mov r14, qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
jmp 0x1401295bc
add ebx, 1
cmp ebx, 0x63
ja 0x1401295c5
pause
jmp 0x1401295ca
xor ecx, ecx
call r14
cmp byte [rsi], 0
jne 0x1401295b9
mov al, 1
xchg byte [rsi], al
test al, al
jne 0x1401295b9
jmp 0x140129547
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [rsp + 0x20], 0
lea rdx, str.TwoLevelMap
lea r8, str.allocate
mov rcx, rbx
mov r9d, eax
call fcn.1400fa8c0
int3
Function at 0x140129800
Capabilities:
Get system information on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov rdi, rdx
mov r14, rcx
mov eax, dword [rdx + 0x400000]
mov qword [rcx], rax
xor esi, esi
lea r15, [rsp + 0x28]
mov r13, qword [sym.imp.KERNEL32.dll_GetSystemInfo]
xor ebx, ebx
jmp 0x14012985a
mov ecx, 0x100000
call fcn.140125e20
add rsi, rax
add rbx, 1
cmp rbx, 0x8000
je 0x140129886
mov rax, qword [rdi + rbx*8 + 0x400010]
test rax, rax
je 0x14012984d
mov rdx, qword [0x140e17de8]
test rdx, rdx
jne 0x140129840
mov rcx, r15
call r13
mov edx, dword [rsp + 0x2c]
mov qword [0x140e17de8], rdx
jmp 0x140129840
mov r15, qword [0x140e82128]
xor edi, edi
lea rbx, [0x140e42118]
lea r12, [rsp + 0x28]
xor ebp, ebp
jmp 0x1401298ba
mov ecx, 0x40000
call fcn.140125e20
add rdi, rax
add rbp, 1
cmp rbp, 0x8000
je 0x1401298e3
mov rax, qword [rbx + rbp*8 + 8]
test rax, rax
je 0x1401298ad
mov rdx, qword [0x140e17de8]
test rdx, rdx
jne 0x1401298a0
mov rcx, r12
call r13
mov edx, dword [rsp + 0x2c]
mov qword [0x140e17de8], rdx
jmp 0x1401298a0
add rsi, r15
lea rax, [rdi + rsi]
add rax, 0x10010
mov qword [r14 + 8], rax
mov rax, r14
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret

Function at 0x1404753d1
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp], r8
push 0x2f942b91
push 0x2708378a
lea r8, [0x140476658]
lea rsp, [rsp + 0x10]
mov r10d, 0xb61a4182
ror r10d, 0x48
push r10
movzx r10d, byte [rdx]
xor r10d, r11d
and r10d, 0xff
mov r10d, dword [r8 + r10*4]
ror word [rsp + 1], 0x89
shr r11d, 8
dec dword [rsp + 3]
xor r11d, r10d
inc rdx
xor r11d, 0xb8bdb5a0
dec rsi
lea rsp, [rsp + 8]
jne 0x1404753eb
push 0xfffffffff2ae8303
mov r8, qword [rsp + 8]
lea rsp, [rsp + 0x10]
Function at 0x1415f5058
Capabilities:
Decompress data using aplib

Disassembly:
call fcn.1415f51df
push r10
mov r10, rsp
push r10
mov rsi, qword [r10 + 0x10]
mov rdi, qword [r10 + 0x20]
cld
mov dl, 0x80
mov al, byte [rsi]
inc rsi
mov byte [rdi], al
inc rdi
mov ebx, 2
add dl, dl
jne 0x1415f5089
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1415f506f
add dl, dl
jne 0x1415f5096
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1415f50f6
xor eax, eax
add dl, dl
jne 0x1415f50a5
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1415f51ad
add dl, dl
jne 0x1415f50b6
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1415f50c3
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1415f50d0
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1415f50dd
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
je 0x1415f50ea
push rdi
mov eax, eax
sub rdi, rax
mov al, byte [rdi]
pop rdi
mov byte [rdi], al
inc rdi
mov ebx, 2
jmp 0x1415f507e
mov eax, 1
add dl, dl
jne 0x1415f5106
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1415f5113
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1415f50fb
sub eax, ebx
mov ebx, 1
jne 0x1415f514c
mov ecx, 1
add dl, dl
jne 0x1415f512e
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x1415f513b
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1415f5123
push rsi
mov rsi, rdi
sub rsi, rbp
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x1415f507e
dec eax
shl eax, 8
mov al, byte [rsi]
inc rsi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x1415f5168
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x1415f5175
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1415f515d
cmp eax, 0x7d00
jae 0x1415f519b
cmp eax, 0x500
jb 0x1415f5196
inc ecx
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x1415f507e
cmp eax, 0x7f
ja 0x1415f519e
add ecx, 2
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x1415f507e
mov al, byte [rsi]
inc rsi
xor ecx, ecx
shr al, 1
je 0x1415f51d2
adc ecx, 2
mov ebp, eax
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
mov ebx, 1
jmp 0x1415f507e
pop r10
sub rdi, qword [r10 + 0x20]
mov eax, edi
pop r10
ret 0x20
Function at 0x141b68058
Capabilities:
Decompress data using aplib

Disassembly:
call 0x141b681df
push r10
mov r10, rsp
push r10
mov rsi, qword [r10 + 0x10]
mov rdi, qword [r10 + 0x20]
cld
mov dl, 0x80
mov al, byte [rsi]
inc rsi
mov byte [rdi], al
inc rdi
mov ebx, 2
add dl, dl
jne 0x141b68089
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x141b6806f
add dl, dl
jne 0x141b68096
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x141b680f6
xor eax, eax
add dl, dl
jne 0x141b680a5
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x141b681ad
add dl, dl
jne 0x141b680b6
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x141b680c3
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x141b680d0
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x141b680dd
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
je 0x141b680ea
push rdi
mov eax, eax
sub rdi, rax
mov al, byte [rdi]
pop rdi
mov byte [rdi], al
inc rdi
mov ebx, 2
jmp 0x141b6807e
mov eax, 1
add dl, dl
jne 0x141b68106
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x141b68113
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x141b680fb
sub eax, ebx
mov ebx, 1
jne 0x141b6814c
mov ecx, 1
add dl, dl
jne 0x141b6812e
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x141b6813b
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x141b68123
push rsi
mov rsi, rdi
sub rsi, rbp
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x141b6807e
dec eax
shl eax, 8
mov al, byte [rsi]
inc rsi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x141b68168
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x141b68175
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x141b6815d
cmp eax, 0x7d00
jae 0x141b6819b
cmp eax, 0x500
jb 0x141b68196
inc ecx
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x141b6807e
cmp eax, 0x7f
ja 0x141b6819e
add ecx, 2
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x141b6807e
mov al, byte [rsi]
inc rsi
xor ecx, ecx
shr al, 1
je 0x141b681d2
adc ecx, 2
mov ebp, eax
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
mov ebx, 1
jmp 0x141b6807e
pop r10
sub rdi, qword [r10 + 0x20]
mov eax, edi
pop r10
ret 0x20
Function at 0x140001378
Capabilities:
Parse pe header

Disassembly:
push rbp
mov rbp, rsp
sub rsp, 0x20
mov rax, qword [str.D_H_]
mov dword [rax], 1
mov rax, qword [str.H_H_]
mov dword [rax], 1
mov rax, qword [str.L_H_]
mov dword [rax], 1
mov rax, qword [0x14044b9e0]
mov qword [rbp - 8], rax
mov rax, qword [rbp - 8]
movzx eax, word [rax]
cmp ax, 0x5a4d
je 0x1400013c9
mov eax, 0
jmp 0x140001476
mov rax, qword [rbp - 8]
mov eax, dword [rax + 0x3c]
movsxd rdx, eax
mov rax, qword [rbp - 8]
add rax, rdx
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
mov eax, dword [rax]
cmp eax, 0x4550
je 0x1400013f5
mov eax, 0
jmp 0x140001476
mov rax, qword [rbp - 0x10]
add rax, 0x18
mov qword [rbp - 0x18], rax
mov rax, qword [rbp - 0x18]
movzx eax, word [rax]
movzx eax, ax
cmp eax, 0x10b
je 0x14000141b
cmp eax, 0x20b
je 0x140001442
jmp 0x140001471
mov rax, qword [rbp - 0x18]
mov eax, dword [rax + 0x5c]
cmp eax, 0xe
ja 0x14000142e
mov eax, 0
jmp 0x140001476
mov rax, qword [rbp - 0x18]
mov eax, dword [rax + 0xd0]
test eax, eax
setne al
movzx eax, al
jmp 0x140001476
mov rax, qword [rbp - 0x18]
mov qword [rbp - 0x20], rax
mov rax, qword [rbp - 0x20]
mov eax, dword [rax + 0x6c]
cmp eax, 0xe
ja 0x14000145d
mov eax, 0
jmp 0x140001476
mov rax, qword [rbp - 0x20]
mov eax, dword [rax + 0xe0]
test eax, eax
setne al
movzx eax, al
jmp 0x140001476
mov eax, 0
add rsp, 0x20
pop rbp
ret
Function at 0x1403c1db0
Capabilities:
Query environment variable

Disassembly:
push r14
mov eax, 0x10080
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.140425c00
sub rsp, rax
xor eax, eax
xor edx, edx
xor esi, esi
mov r14d, 0x28
movzx edi, byte [rcx]
mov word [rsp + 0x80], ax
mov r12, rcx
lea rbp, [rsp + 0x30]
lea r13, [rsp + 0x2e]
mov word [rsp + 0x30], dx
test dil, dil
je 0x1403c1e59
nop dword [rax]
mov rax, r14
lea rbx, [rbp + rsi*2]
sub rax, rsi
cmp word [rbp + rsi*2], 0
je 0x1403c1e1e
nop dword [rax + rax]
add rbx, 2
sub rax, 1
cmp word [rbx], 0
jne 0x1403c1e10
test rax, rax
je 0x140436b0e
mov rcx, rbx
add rsi, 1
call sub.msvcrt.dll_wcslen
mov r8d, 2
mov rdx, r13
mov byte [rsp + 0x2e], dil
lea rcx, [rbx + rax*2]
mov byte [rsp + 0x2f], 0
call sub.msvcrt.dll_mbstowcs
movzx edi, byte [r12 + rsi]
test dil, dil
jne 0x1403c1df8
lea rbx, [rsp + 0x80]
mov r8d, 0x10000
mov rcx, rbp
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea edx, [rax - 1]
xor eax, eax
cmp edx, 0xffff
ja 0x1403c1e88
mov rcx, rbx
call sub.msvcrt.dll__wcsdup
add rsp, 0x10080
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret

Function at 0x1403c1ea0
Capabilities:
Set environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
xor eax, eax
xor esi, esi
mov r13d, 0x28
movzx edi, byte [rcx]
mov word [rsp + 0x30], ax
mov rbp, rcx
mov r14, rdx
lea r15, [rsp + 0x30]
lea r12, [rsp + 0x2e]
test dil, dil
je 0x1403c1f41
nop word [rax + rax]
mov rax, r13
lea rbx, [r15 + rsi*2]
sub rax, rsi
cmp word [r15 + rsi*2], 0
je 0x1403c1f06
nop word [rax + rax]
add rbx, 2
sub rax, 1
cmp word [rbx], 0
jne 0x1403c1ef8
test rax, rax
je 0x140436b14
mov rcx, rbx
add rsi, 1
call sub.msvcrt.dll_wcslen
mov r8d, 2
mov rdx, r12
mov byte [rsp + 0x2e], dil
lea rcx, [rbx + rax*2]
mov byte [rsp + 0x2f], 0
call sub.msvcrt.dll_mbstowcs
movzx edi, byte [rbp + rsi]
test dil, dil
jne 0x1403c1ee0
mov rdx, r14
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_SetEnvironmentVariableW]
nop
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret