joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1802e1d50
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x50
mov rax, qword [0x1806c4cd8]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov rax, qword [rcx]
mov r10, rcx
mov rcx, qword [rcx + 8]
mov rdi, r8
mov rbx, rdx
cmp rax, rcx
je 0x1802e1f55
mov rdx, qword [rdx]
sub rcx, rax
cmp rdx, rcx
jae 0x1802e1f55
lea rax, [rdx + 5]
cmp rax, rcx
ja 0x1802e1f55
lea r8, [rdx + 1]
mov qword [rbx], r8
mov rax, qword [r10]
cmp byte [rdx + rax], 2
jne 0x1802e1f55
lea rcx, [r8 + 1]
mov qword [rbx], rcx
lea rdx, [rcx + 1]
mov rax, qword [r10]
movzx r9d, byte [rax + r8]
lea r8, [rdx + 1]
mov qword [rbx], rdx
mov rax, qword [r10]
shl r9d, 0x18
movzx ecx, byte [rcx + rax]
mov qword [rbx], r8
mov rax, qword [r10]
shl ecx, 0x10
or r9d, ecx
movzx ecx, byte [rax + rdx]
lea rdx, [r8 + 1]
mov qword [rbx], rdx
mov r11, qword [r10]
shl ecx, 8
or r9d, ecx
movzx eax, byte [r11 + r8]
or r9d, eax
cmp r9d, 0xa
jne 0x1802e1f55
mov rcx, qword [r10 + 8]
lea rax, [rdx + 5]
sub rcx, r11
cmp rax, rcx
ja 0x1802e1f55
lea r8, [rdx + 1]
mov qword [rbx], r8
mov rax, qword [r10]
cmp byte [rdx + rax], 2
jne 0x1802e1f55
lea rcx, [r8 + 1]
mov qword [rbx], rcx
lea rdx, [rcx + 1]
mov rax, qword [r10]
movzx r11d, byte [rax + r8]
lea r8, [rdx + 1]
mov qword [rbx], rdx
mov rax, qword [r10]
shl r11d, 0x18
movzx ecx, byte [rax + rcx]
mov qword [rbx], r8
mov rax, qword [r10]
shl ecx, 0x10
or r11d, ecx
movzx ecx, byte [rax + rdx]
shl ecx, 8
or r11d, ecx
lea rcx, [r8 + 1]
mov qword [rbx], rcx
mov rdx, qword [r10]
movzx eax, byte [rdx + r8]
or r11d, eax
mov rax, qword [r10 + 8]
sub rax, rcx
mov esi, r11d
sub rax, rdx
cmp rsi, rax
ja 0x1802e1f55
movdqa xmm2, xmmword [0x180601b90]
mov ecx, 1
mov dword [rsp + 0x20], 0x2d2d4352
xor eax, eax
mov dword [rsp + 0x24], 0xf7babac9
mov dword [rsp + 0x28], 0x61726f43
movd xmm3, ecx
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x2c], 0x776f7242
mov dword [rsp + 0x30], 0x2d756e45
mov dword [rsp + 0x34], 0x61746144
mov dword [rsp + 0x38], 0x37313630
mov dword [rsp + 0x3c], 0x30313032
nop word [rax + rax]
movdqu xmm0, xmmword [rcx]
lea rcx, [rcx + 0x10]
movd xmm1, eax
add eax, 4
pshufd xmm1, xmm1, 0
paddd xmm1, xmm2
pslld xmm0, xmm3
paddd xmm1, xmm0
movdqu xmmword [rcx - 0x10], xmm1
cmp eax, 8
jl 0x1802e1ef0
mov rax, qword [rdi]
mov qword [rdi + 8], rax
mov rcx, qword [rbx]
mov rax, qword [r10]
lea rdx, [rcx + rax]
test rdx, rdx
jne 0x1802e1f3a
xor al, al
add rcx, rsi
mov qword [rbx], rcx
jmp 0x1802e1f57
mov r9, rdi
lea rcx, [rsp + 0x20]
mov r8d, r11d
call fcn.1802ce870
mov rcx, qword [rbx]
add rcx, rsi
mov qword [rbx], rcx
jmp 0x1802e1f57
xor al, al
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.1804688c0
add rsp, 0x50
pop rdi
pop rsi
pop rbx
ret
Function at 0x18031bf30
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xa0
mov qword [rbp - 0x21], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x1806c4cd8]
xor rax, rsp
mov qword [rbp + 0x3f], rax
mov rsi, rcx
xor edi, edi
mov rcx, qword [rcx]
test rcx, rcx
je 0x18031c0e3
lea rdx, [0x1805fda80]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r15, rax
lea rdx, str.RegQueryValueExW
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r14, rax
lea rdx, [0x1805fdb00]
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
test r15, r15
je 0x18031c0e3
test r14, r14
je 0x18031c0e3
test rax, rax
je 0x18031c0e3
mov dword [rbp - 9], 0x65004b
mov dword [rbp - 5], 0x620079
mov dword [rbp - 1], 0x61006f
mov dword [rbp + 3], 0x640072
mov dword [rbp + 7], 0x4c0020
mov dword [rbp + 0xb], 0x790061
mov dword [rbp + 0xf], 0x75006f
mov dword [rbp + 0x13], 0x5c0074
mov dword [rbp + 0x17], 0x720050
mov dword [rbp + 0x1b], 0x6c0065
mov dword [rbp + 0x1f], 0x61006f
mov dword [rbp + 0x23], 0x64
mov qword [rbp - 0x29], rdi
mov qword [rbp - 0x29], rdi
mov qword [rbp - 0x19], rdi
mov edx, 0x20019
lea rcx, [rbp - 0x29]
call fcn.180325a30
mov rcx, rax
lea rax, [rbp - 0x19]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, [rbp - 9]
call r15
test eax, eax
jne 0x18031c0ab
xor eax, eax
mov qword [rbp + 0x27], rax
mov qword [rbp + 0x2f], rax
mov dword [rbp + 0x37], eax
mov dword [rbp - 0x11], 0x14
lea rax, [rbp - 0x11]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x27]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x1805dc9d4]
mov rcx, qword [rbp - 0x19]
call r14
test eax, eax
jne 0x18031c0a5
xor edx, edx
lea r8d, [rdi + 0x10]
lea rcx, [rbp + 0x27]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstoul]
mov edi, eax
mov rcx, qword [rbp - 0x19]
call rbx
mov rbx, qword [rbp - 0x29]
test rbx, rbx
je 0x18031c0c1
lea rcx, [rbp - 0x29]
call fcn.180325be0
mov rbx, qword [rbp - 0x29]
test edi, edi
je 0x18031c0d1
mov edx, edi
mov rcx, rsi
call fcn.18031c110
mov edi, eax
test rbx, rbx
je 0x18031c0df
lea rcx, [rbp - 0x29]
call fcn.180325be0
mov eax, edi
jmp 0x18031c0e5
xor eax, eax
mov rcx, qword [rbp + 0x3f]
xor rcx, rsp
call fcn.1804688c0
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
Function at 0x18031c110
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xd0
mov qword [rbp - 0x61], 0xfffffffffffffffe
mov qword [rsp + 0x110], rbx
mov rax, qword [0x1806c4cd8]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov ebx, edx
mov rdi, rcx
mov rcx, qword [rcx]
test rcx, rcx
je 0x18031c336
lea rdx, [0x1805fda80]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r14, rax
lea rdx, str.RegQueryValueExW
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rsi, rax
lea rdx, [0x1805fdb00]
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
test r14, r14
je 0x18031c336
test rsi, rsi
je 0x18031c336
test rax, rax
je 0x18031c336
mov dword [rbp - 0x29], 0x65004b
mov dword [rbp - 0x25], 0x620079
mov dword [rbp - 0x21], 0x61006f
mov dword [rbp - 0x1d], 0x640072
mov dword [rbp - 0x19], 0x4c0020
mov dword [rbp - 0x15], 0x790061
mov dword [rbp - 0x11], 0x75006f
mov dword [rbp - 0xd], 0x5c0074
mov dword [rbp - 9], 0x750053
mov dword [rbp - 5], 0x730062
mov dword [rbp - 1], 0x690074
mov dword [rbp + 3], 0x750074
mov dword [rbp + 7], 0x650074
mov dword [rbp + 0xb], WSACleanup
xor r15d, r15d
mov qword [rbp - 0x69], r15
mov qword [rbp - 0x69], r15
mov qword [rbp - 0x59], r15
mov edx, 0x20019
lea rcx, [rbp - 0x69]
call fcn.180325a30
mov rcx, rax
lea rax, [rbp - 0x59]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, [rbp - 0x29]
call r14
test eax, eax
je 0x18031c326
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x39], xmm0
movdqa xmm1, xmmword [0x180601b00]
movdqu xmmword [rbp - 0x39], xmm1
mov word [rbp - 0x49], r15w
mov r8d, ebx
lea rdx, str._08x
lea rcx, [rbp - 0x49]
call fcn.18010b010
xor eax, eax
mov qword [rbp + 0xf], rax
mov qword [rbp + 0x17], rax
mov dword [rbp + 0x1f], eax
mov dword [rbp - 0x51], 0x14
lea rdx, [rbp - 0x49]
cmp qword [rbp - 0x31], 8
cmovae rdx, qword [rbp - 0x49]
lea rax, [rbp - 0x51]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0xf]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov rcx, qword [rbp - 0x59]
call rsi
test eax, eax
jne 0x18031c2ca
xor edx, edx
lea r8d, [r15 + 0x10]
lea rcx, [rbp + 0xf]
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstoul]
mov ebx, eax
mov rcx, qword [rbp - 0x59]
call rdi
nop
mov rdx, qword [rbp - 0x31]
cmp rdx, 8
jb 0x18031c314
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x49]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18031c30f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18031c30f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180468ddc
movdqa xmm0, xmmword [0x180601b00]
movdqu xmmword [rbp - 0x39], xmm0
mov word [rbp - 0x49], r15w
cmp qword [rbp - 0x69], 0
je 0x18031c336
lea rcx, [rbp - 0x69]
call fcn.180325be0
mov eax, ebx
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.1804688c0
mov rbx, qword [rsp + 0x110]
add rsp, 0xd0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
Function at 0x18031c360
Capabilities:
Check os version

Disassembly:
sub rsp, 0x158
mov rax, qword [0x1806c4cd8]
xor rax, rsp
mov qword [rsp + 0x140], rax
xor edx, edx
mov dword [rsp + 0x20], VarUI4FromDisp
mov r8d, VarUI4FromDisp
lea rcx, [rsp + 0x24]
call sub.VCRUNTIME140.dll_memset
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x18031c3c3
cmp dword [rsp + 0x24], 6
jb 0x18031c3c3
mov al, 1
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.1804688c0
add rsp, 0x158
ret
xor al, al
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.1804688c0
add rsp, 0x158
ret
Function at 0x18031cf30
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rbp
push rbx
push rsi
push r14
lea rbp, [rsp - 0x188]
sub rsp, 0x288
mov rax, qword [0x1806c4cd8]
xor rax, rsp
mov qword [rbp + 0x170], rax
mov rcx, qword [rcx]
mov r14, r9
mov rbx, r8
mov rsi, rdx
test rcx, rcx
je 0x18031d0b9
lea rdx, str.RegQueryValueExW
mov qword [rsp + 0x280], rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rdi, rax
test rax, rax
je 0x18031d0b1
xor edx, edx
lea rcx, [rsp + 0x60]
mov r8d, 0x208
call sub.VCRUNTIME140.dll_memset
cmp qword [rbx + 0x18], 8
mov dword [rsp + 0x30], 0x208
jb 0x18031cfb0
mov rbx, qword [rbx]
lea rax, [rsp + 0x30]
xor r9d, r9d
mov qword [rsp + 0x28], rax
xor r8d, r8d
lea rax, [rsp + 0x60]
mov rdx, rbx
mov rcx, rsi
mov qword [rsp + 0x20], rax
call rdi
mov rbx, 0xffffffffffffffff
lea rax, [rsp + 0x60]
mov r8, rbx
inc r8
cmp word [rax + r8*2], 0
jne 0x18031cfe1
lea rcx, [r14 + 0x50]
lea rdx, [rsp + 0x60]
call fcn.18007da60
lea rax, [rsp + 0x30]
mov dword [rsp + 0x30], 0x208
mov qword [rsp + 0x28], rax
lea rdx, str.Profile
lea rax, [rsp + 0x60]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov rcx, rsi
call rdi
lea rax, [rsp + 0x60]
nop dword [rax]
inc rbx
cmp word [rax + rbx*2], 0
jne 0x18031d030
mov r8, rbx
lea rcx, [r14 + 0x70]
lea rdx, [rsp + 0x60]
call fcn.18007da60
xor eax, eax
mov dword [rsp + 0x38], 0x65004b
mov word [rsp + 0x54], ax
lea rdx, [rsp + 0x38]
lea rax, [rsp + 0x30]
mov dword [rsp + 0x3c], 0x620079
mov qword [rsp + 0x28], rax
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], r14
mov rcx, rsi
mov dword [rsp + 0x40], 0x61006f
mov dword [rsp + 0x44], 0x640072
mov dword [rsp + 0x48], 0x61004c
mov dword [rsp + 0x4c], 0x6f0079
mov dword [rsp + 0x50], 0x740075
mov dword [rsp + 0x30], 4
call rdi
mov rdi, qword [rsp + 0x280]
mov rcx, qword [rbp + 0x170]
xor rcx, rsp
call fcn.1804688c0
add rsp, 0x288
pop r14
pop rsi
pop rbx
pop rbp
ret
Function at 0x18031f440
Capabilities:
Check os version

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0x160
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov rax, qword [0x1806c4cd8]
xor rax, rsp
mov qword [rsp + 0x150], rax
mov rdi, rcx
xor esi, esi
mov qword [rsp + 0x28], rsi
lea ecx, [rsi + 1]
call fcn.1804688ec
mov qword [rsp + 0x28], rax
mov byte [rax], sil
xor edx, edx
mov r8d, 0x118
lea rcx, [rsp + 0x34]
call sub.VCRUNTIME140.dll_memset
mov dword [rsp + 0x30], 0x11c
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x18031f4c0
cmp dword [rsp + 0x34], 6
setae cl
mov rax, qword [rsp + 0x28]
mov byte [rax], cl
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov edx, eax
lea rcx, [rsp + 0x28]
call fcn.18011c270
test al, al
je 0x18031f4eb
lea rcx, [rsp + 0x28]
call fcn.18011ba30
test al, al
jne 0x18031f4eb
xor bl, bl
jmp 0x18031f585
lea rbx, [rdi + 8]
mov rdx, rbx
xor ecx, ecx
call fcn.180118770
test al, al
jne 0x18031f50e
mov qword [rbx + 0x10], rsi
cmp qword [rbx + 0x18], 8
jb 0x18031f50b
mov rbx, qword [rbx]
mov word [rbx], si
lea rbx, [rdi + 0x28]
mov rdx, rbx
mov ecx, 0x1a
call fcn.180118770
test al, al
jne 0x18031f534
mov qword [rbx + 0x10], rsi
cmp qword [rbx + 0x18], 8
jb 0x18031f531
mov rbx, qword [rbx]
mov word [rbx], si
lea rbx, [rdi + 0x48]
mov rdx, rbx
mov ecx, 2
call fcn.180118770
test al, al
jne 0x18031f55a
mov qword [rbx + 0x10], rsi
cmp qword [rbx + 0x18], 8
jb 0x18031f557
mov rbx, qword [rbx]
mov word [rbx], si
lea rbx, [rdi + 0x68]
mov rdx, rbx
mov ecx, 0xb
call fcn.180118770
test al, al
jne 0x18031f580
mov qword [rbx + 0x10], rsi
cmp qword [rbx + 0x18], 8
jb 0x18031f57d
mov rbx, qword [rbx]
mov word [rbx], si
mov byte [rdi], 1
mov bl, 1
lea rcx, [rsp + 0x28]
call fcn.18011b190
movzx eax, bl
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.1804688c0
lea r11, [rsp + 0x160]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret
Function at 0x18031f680
Capabilities:
Query environment variable

Disassembly:
mov r11, rsp
push rbp
push rsi
push rdi
push r14
push r15
sub rsp, 0x60
mov qword [r11 - 0x60], 0xfffffffffffffffe
mov qword [r11 + 8], rbx
mov rax, qword [0x1806c4cd8]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov rdi, r8
mov rbp, rdx
mov qword [r11 - 0x58], rdx
xor r15d, r15d
mov dword [r11 - 0x68], r15d
mov rdx, r8
cmp qword [r8 + 0x18], 8
jb 0x18031f6c7
mov rdx, qword [r8]
mov rcx, qword [r8 + 0x10]
test rcx, rcx
je 0x18031f6e3
mov rax, rdx
cmp word [rax], 0x25
je 0x18031f71b
add rax, 2
sub rcx, 1
jne 0x18031f6d3
mov rdx, rdi
mov rcx, rbp
call fcn.18007d8c0
nop
mov dword [rsp + 0x20], 1
mov rax, rbp
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1804688c0
mov rbx, qword [rsp + 0x90]
add rsp, 0x60
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret
test rax, rax
je 0x18031f6e3
sub rax, rdx
sar rax, 1
cmp rax, 0xffffffffffffffff
je 0x18031f6e3
mov rdx, rdi
lea rcx, [rsp + 0x38]
call fcn.18007d8c0
nop
mov rcx, rdi
cmp qword [rdi + 0x18], 8
jb 0x18031f747
mov rcx, qword [rdi]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov r14d, eax
test eax, eax
jne 0x18031f7ca
mov rdx, rdi
mov rcx, rbp
call fcn.18007d8c0
mov dword [rsp + 0x20], 1
mov rdx, qword [rsp + 0x50]
cmp rdx, 8
jb 0x18031f7b1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18031f7ac
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18031f7ac
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.180468ddc
movdqa xmm0, xmmword [0x180601b00]
movdqu xmmword [rsp + 0x48], xmm0
mov word [rsp + 0x38], r15w
jmp 0x18031f6f7
lea ecx, [rax + 2]
mov eax, 2
mul rcx
mov rbx, 0xffffffffffffffff
cmovo rax, rbx
mov rcx, rax
call fcn.180468de4
mov rsi, rax
cmp qword [rdi + 0x18], 8
jb 0x18031f7f5
mov rdi, qword [rdi]
lea r8d, [r14 + 1]
mov rdx, rsi
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
test eax, eax
je 0x18031f82f
cmp eax, r14d
ja 0x18031f82f
mov eax, eax
mov word [rsi + rax*2], r15w
inc rbx
cmp word [rsi + rbx*2], 0
jne 0x18031f815
mov r8, rbx
mov rdx, rsi
lea rcx, [rsp + 0x38]
call fcn.18007da60
mov rcx, rsi
call fcn.180468ddc
movups xmm0, xmmword [rsp + 0x38]
movups xmmword [rbp], xmm0
movups xmm1, xmmword [rsp + 0x48]
movups xmmword [rbp + 0x10], xmm1
movdqa xmm0, xmmword [0x180601b00]
movdqu xmmword [rsp + 0x48], xmm0
mov word [rsp + 0x38], r15w
mov dword [rsp + 0x20], 1
jmp 0x18031f7b1
Function at 0x18032d030
Capabilities:
Read file on windows

Disassembly:
push rbx
push rbp
push r14
sub rsp, 0x60
mov rax, qword [0x1806c4cd8]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x58], rsi
xor ebx, ebx
cmp qword [rcx + 0x20], 0xffffffffffffffff
mov r14, r9
mov qword [rsp + 0x50], rdi
mov rsi, rdx
mov qword [rsp + 0x40], r15
mov edi, r8d
mov r15, rcx
mov ebp, ebx
jne 0x18032d075
mov ebx, 1
jmp 0x18032d0c6
mov qword [rsp + 0x48], r12
mov r12d, 0x100000
mov rcx, qword [r15 + 0x20]
lea r9, [rsp + 0x30]
mov r8d, edi
mov dword [rsp + 0x30], ebx
cmp edi, r12d
mov qword [rsp + 0x20], rbx
mov rdx, rsi
cmova r8d, r12d
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov ecx, dword [rsp + 0x30]
add ebp, ecx
test eax, eax
je 0x18032d0bc
test ecx, ecx
je 0x18032d0c1
add rsi, rcx
sub edi, ecx
jne 0x18032d080
jmp 0x18032d0c1
mov ebx, 1
mov r12, qword [rsp + 0x48]
mov r15, qword [rsp + 0x40]
mov eax, ebx
mov rdi, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
test r14, r14
je 0x18032d0df
mov dword [r14], ebp
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.1804688c0
add rsp, 0x60
pop r14
pop rbp
pop rbx
ret

Function at 0x18032da50
Capabilities:
Clear file content

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rbx, rcx
mov rcx, qword [rcx + 0x20]
cmp rcx, 0xffffffffffffffff
je 0x18032da8b
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
je 0x18032da8b
lea rdx, [rbx + 0x60]
lea rcx, [rbx + 0x20]
call fcn.180335270
xor eax, eax
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov rbx, qword [rsp + 0x30]
mov eax, 1
add rsp, 0x20
pop rdi
ret

Function at 0x180335270
Capabilities:
Get file size

Disassembly:
mov qword [rsp + 0x18], rbx
push rdi
sub rsp, 0x30
mov rax, qword [0x1806c4cd8]
xor rax, rsp
mov qword [rsp + 0x28], rax
mov rcx, qword [rcx]
mov rdi, rdx
cmp rcx, 0xffffffffffffffff
je 0x1803352ce
lea rdx, [rsp + 0x20]
mov dword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
cmp eax, 0xffffffff
jne 0x1803352b9
call qword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x1803352ce
mov ecx, dword [rsp + 0x20]
mov rax, rbx
shl rcx, 0x20
mov al, 1
add rcx, rbx
mov qword [rdi], rcx
jmp 0x1803352d0
xor al, al
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.1804688c0
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
Function at 0x180348800
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbx
push rbp
push rdi
sub rsp, 0x50
mov rax, qword [rcx + 8]
mov ebp, r8d
mov ecx, 0x3e80000
mov rbx, qword [rax + 0x2f0]
mov rax, qword [rdx + 0x80]
movzx edx, word [rdx + 0x68]
movzx edi, word [rax + 0x18]
mov eax, 0x40000
shl edi, 0x10
cmp edi, eax
cmovl edi, eax
shl edx, 0x10
call fcn.180338140
mov dword [rsp + 0x24], eax
mov ecx, eax
cmp eax, 0x28f
jge 0x180348856
xor eax, eax
add rsp, 0x50
pop rdi
pop rbp
pop rbx
ret
mov eax, dword [rbx + 0x24]
mov qword [rsp + 0x80], rsi
mov esi, dword [rbx + 0x28]
mov qword [rsp + 0x48], r12
mov r12d, dword [rbx + 0x3c]
mov qword [rsp + 0x40], r13
mov r13d, dword [rbx + 0x38]
mov dword [rsp + 0x88], eax
mov eax, dword [rbx + 0x2c]
mov qword [rsp + 0x38], r14
mov r14d, dword [rbx + 0x40]
mov dword [rsp + 0x70], eax
mov eax, dword [rbx + 0x34]
mov qword [rsp + 0x30], r15
mov r15d, dword [rbx + 0x30]
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x20], r12d
test ebp, ebp
jg 0x1803488ad
mov ebp, 0x4b0000
jmp 0x1803488bb
shl ebp, 0x10
mov edx, ecx
mov ecx, ebp
call fcn.18033a130
mov ebp, eax
bsr ecx, ebp
bsr eax, edi
shl r12d, 0x10
add eax, ecx
cmp eax, 0x2e
jl 0x1803488d1
mov eax, r12d
jmp 0x1803488da
mov edx, edi
mov ecx, ebp
call fcn.18033a130
mov r9d, dword [rsp + 0x88]
mov ecx, r9d
shl ecx, 0x10
cmp eax, ecx
jge 0x1803488f6
shl esi, 0x10
mov ecx, esi
jmp 0x1803489e5
mov r8d, dword [rsp + 0x70]
mov edx, r8d
shl edx, 0x10
mov dword [rsp + 0x88], edx
cmp eax, edx
jge 0x180348954
mov ebx, r8d
mov edx, edi
sub ebx, r9d
call fcn.180338140
mov ecx, ebp
sub ecx, eax
test ebx, ebx
je 0x180348944
sub r15d, esi
mov r8d, ebx
mov edx, r15d
call fcn.180339f20
shl esi, 0x10
mov edx, edi
mov ecx, esi
mov ebx, eax
call fcn.180338140
add ebx, eax
jmp 0x1803489ee
mov esi, dword [rsp + 0x78]
mov ebx, esi
mov r8d, dword [rsp + 0x70]
shl ebx, 0x10
jmp 0x180348961
mov esi, dword [rsp + 0x78]
mov ebx, esi
shl ebx, 0x10
cmp eax, ebx
jge 0x1803489a0
mov ecx, dword [rsp + 0x88]
mov r12d, esi
mov edx, edi
sub r12d, r8d
call fcn.180338140
mov ecx, ebp
sub ecx, eax
test r12d, r12d
je 0x1803489a5
sub r13d, r15d
mov r8d, r12d
mov edx, r13d
call fcn.180339f20
shl r15d, 0x10
mov edx, edi
mov ecx, r15d
mov ebx, eax
call fcn.180338140
add ebx, eax
jmp 0x1803489ee
cmp eax, r12d
jge 0x1803489de
mov r15d, dword [rsp + 0x20]
mov edx, edi
mov ecx, ebx
call fcn.180338140
sub ebp, eax
sub r15d, esi
je 0x1803489de
sub r14d, r13d
mov r8d, r15d
mov edx, r14d
mov ecx, ebp
call fcn.180339f20
shl r13d, 0x10
mov edx, edi
mov ecx, r13d
mov ebx, eax
call fcn.180338140
add ebx, eax
jmp 0x1803489ee
shl r14d, 0x10
mov ecx, r14d
mov edx, edi
call fcn.180338140
mov ebx, eax
mov edx, dword [rsp + 0x24]
mov ecx, ebx
call fcn.180338140
mov r15, qword [rsp + 0x30]
add eax, 0x8000
mov r14, qword [rsp + 0x38]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x80]
shr eax, 0x10
cwde
add rsp, 0x50
pop rdi
pop rbp
pop rbx
ret
Function at 0x18037f450
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov rax, qword [rcx + 0x20]
xor r14d, r14d
sub rax, 0x34
mov qword [rcx + 0x78], r14
mov qword [rcx + 0x28], rax
mov ebp, edx
mov rax, qword [rcx + 0x30]
mov rbx, rcx
mov word [rcx + 0x6a], r14w
mov esi, r14d
mov dword [rcx + 0x3c], r14d
mov qword [rcx + 0x70], rax
mov qword [rax + 0x10], rax
mov word [rcx + 0x68], r14w
cmp r14w, word [rcx + 0xb8]
jge 0x18037f598
movzx r11d, r14w
mov edi, r14d
mov rax, qword [rbx + 0xd0]
mov r9d, ebp
mov dword [rbx + 0x88], r14d
movzx edx, r11w
mov qword [rbx + 0x80], r14
mov rcx, rbx
movzx r8d, word [rdi + rax]
call fcn.18037f880
test al, al
jne 0x18037f5a4
mov rax, qword [rbx + 0xd0]
mov r8d, dword [rbx + 4]
mov edx, dword [rbx + 0x5c]
movzx r11d, word [rdi + rax]
lea eax, [r8 - 1]
test edx, eax
jne 0x18037f52c
cmp edx, dword [rbx + 0x60]
jl 0x18037f52c
cmp edx, dword [rbx + 0x64]
jg 0x18037f52c
mov r9, qword [rbx + 0x80]
test r9, r9
je 0x18037f52c
mov rax, qword [rbx + 0x70]
movzx ecx, byte [rax + 0x18]
xor cl, byte [r9 + 0x18]
test cl, 8
jne 0x18037f52c
add qword [rbx + 0x30], 0xfffffffffffffffc
mov r10, qword [rbx + 0x70]
mov rax, qword [r10 + 0x10]
cmp qword [rbx + 0x30], rax
je 0x18037f54f
test byte [r10 + 0x18], 8
je 0x18037f54f
neg r8d
and r8d, edx
sub edx, r8d
cmp edx, dword [rbx + 8]
jmp 0x18037f560
lea eax, [r8 - 1]
neg r8d
add eax, edx
and eax, r8d
sub eax, edx
cmp eax, dword [rbx + 8]
setge dl
mov rcx, rbx
call fcn.180380280
test al, al
jne 0x18037f5a4
mov rax, qword [rbx + 0x80]
test rax, rax
je 0x18037f57f
mov qword [r10 + 0x28], rax
movsx eax, word [rbx + 0xb8]
inc esi
add rdi, 2
inc r11w
cmp esi, eax
jl 0x18037f4b4
mov rcx, rbx
call fcn.180380320
test al, al
je 0x18037f5a8
mov al, 1
jmp 0x18037f5b3
mov rax, qword [rbx + 0x28]
cmp qword [rbx + 0x30], rax
setae al
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret