joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14017eb00
Capabilities:
Create process on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x1a8
lea rbp, [rsp + 0x1e0]
xor eax, eax
mov qword [rbp - 0x148], rax
xorps xmm4, xmm4
movaps xmmword [rbp - 0x140], xmm4
movabs rax, 0xffffffffffffff10
movaps xmmword [rbp + rax - 0x40], xmm4
movaps xmmword [rbp + rax - 0x30], xmm4
movaps xmmword [rbp + rax - 0x20], xmm4
add rax, 0x30
jne 0x14017eb38
mov qword [rbp - 0x40], rax
mov rax, qword [rbp + 0x48]
mov rbx, qword [rbp + 0x58]
test rcx, rcx
jne 0x14017eb63
xor r14d, r14d
jmp 0x14017eb6f
add rcx, 0xc
mov qword [rbp - 0x40], rcx
mov r14, qword [rbp - 0x40]
test rdx, rdx
jne 0x14017eb79
xor r15d, r15d
jmp 0x14017eb85
add rdx, 0xc
mov qword [rbp - 0x48], rdx
mov r15, qword [rbp - 0x48]
mov qword [rbp - 0x50], r8
mov r12, r8
mov qword [rbp - 0x58], r9
mov r13, r9
xor esi, esi
cmp byte [rbp + 0x30], 0
setne sil
mov dword [rbp - 0x5c], esi
test rax, rax
jne 0x14017ebb0
xor edi, edi
mov qword [rbp - 0x140], rdi
jmp 0x14017ebc3
add rax, 0xc
mov qword [rbp - 0x68], rax
mov rdi, qword [rbp - 0x68]
mov qword [rbp - 0x140], rdi
lea rdi, [rbp - 0xc8]
mov rsi, qword [rbp + 0x50]
mov ecx, 0xc
rep movsq qword [rdi], qword [rsi]
xor ecx, ecx
xorps xmm0, xmm0
movups xmmword [rbp - 0x130], xmm0
movups xmmword [rbp - 0x120], xmm0
movups xmmword [rbp - 0x110], xmm0
movups xmmword [rbp - 0x100], xmm0
movups xmmword [rbp - 0xf0], xmm0
movups xmmword [rbp - 0xe0], xmm0
mov qword [rbp - 0xd0], rcx
lea rcx, [rbp - 0xc8]
lea rdx, [rbp - 0x130]
call fcn.1401b43e0
mov qword [rbp - 0x138], rbx
xor ecx, ecx
call sub.KERNEL32.DLL_SetLastError
mov esi, dword [rbp - 0x5c]
mov dword [rsp + 0x20], esi
mov esi, dword [rbp + 0x38]
mov dword [rsp + 0x28], esi
mov rsi, qword [rbp + 0x40]
mov qword [rsp + 0x30], rsi
mov rdi, qword [rbp - 0x140]
mov qword [rsp + 0x38], rdi
lea rcx, [rbp - 0x130]
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x48], rbx
mov rcx, r14
mov qword [rbp - 0x150], rcx
mov rdx, r15
mov qword [rbp - 0x158], rdx
mov r8, r12
mov qword [rbp - 0x160], r8
mov r9, r13
mov qword [rbp - 0x168], r9
lea rcx, [rbp - 0x190]
call fcn.140003a60
mov rcx, qword [rbp - 0x150]
mov rdx, qword [rbp - 0x158]
mov r8, qword [rbp - 0x160]
mov r9, qword [rbp - 0x168]
call sub.KERNEL32.DLL_CreateProcessW
mov esi, eax
lea rcx, [rbp - 0x190]
call fcn.140003ab0
call fcn.140002225
mov rdi, rax
mov qword [rbp - 0x148], rdi
call sub.KERNEL32.DLL_GetLastError
mov rcx, qword [rbp - 0x148]
mov dword [rcx + 8], eax
test esi, esi
setne sil
movzx esi, sil
lea rcx, [rbp - 0x130]
call fcn.1401b4320
movzx eax, sil
add rsp, 0x1a8
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x14017f3f0
Capabilities:
Terminate process

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x68
lea rbp, [rsp + 0xa0]
xor eax, eax
mov qword [rbp - 0x48], rax
mov rsi, rcx
mov edi, edx
xor ecx, ecx
call sub.KERNEL32.DLL_SetLastError
mov rcx, rsi
mov qword [rbp - 0x50], rcx
mov edx, edi
mov dword [rbp - 0x3c], edx
lea rcx, [rbp - 0x78]
call fcn.140003a60
mov rcx, qword [rbp - 0x50]
mov edx, dword [rbp - 0x3c]
call sub.KERNEL32.DLL_TerminateProcess
mov esi, eax
lea rcx, [rbp - 0x78]
call fcn.140003ab0
call fcn.140002225
mov rdi, rax
mov qword [rbp - 0x48], rdi
call sub.KERNEL32.DLL_GetLastError
mov rdx, qword [rbp - 0x48]
mov dword [rdx + 8], eax
xor eax, eax
test esi, esi
setne al
movzx eax, al
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x14017f970
Capabilities:
Resume thread

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x58
lea rbp, [rsp + 0x90]
xor eax, eax
mov qword [rbp - 0x40], rax
mov rsi, rcx
xor ecx, ecx
call sub.KERNEL32.DLL_SetLastError
mov rcx, rsi
mov qword [rbp - 0x48], rcx
lea rcx, [rbp - 0x70]
call fcn.140003a60
mov rcx, qword [rbp - 0x48]
call sub.KERNEL32.DLL_ResumeThread
mov esi, eax
lea rcx, [rbp - 0x70]
call fcn.140003ab0
call fcn.140002225
mov rdi, rax
mov qword [rbp - 0x40], rdi
call sub.KERNEL32.DLL_GetLastError
mov rdx, qword [rbp - 0x40]
mov dword [rdx + 8], eax
mov eax, esi
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret

Function at 0x140180b20
Capabilities:
Create process on windows

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0xf0]
xor eax, eax
mov qword [rbp - 0x58], rax
xorps xmm4, xmm4
movaps xmmword [rbp - 0x50], xmm4
mov qword [rbp - 0x40], rax
mov r10, qword [rbp + 0x48]
mov rax, qword [rbp + 0x58]
test rcx, rcx
jne 0x140180b5d
xor ecx, ecx
jmp 0x140180b69
add rcx, 0xc
mov qword [rbp - 0x40], rcx
mov rcx, qword [rbp - 0x40]
test rdx, rdx
jne 0x140180b72
xor edx, edx
jmp 0x140180b7e
add rdx, 0xc
mov qword [rbp - 0x48], rdx
mov rdx, qword [rbp - 0x48]
xor r11d, r11d
cmp byte [rbp + 0x30], 0
setne r11b
test r10, r10
jne 0x140180b92
xor esi, esi
jmp 0x140180b9e
add r10, 0xc
mov qword [rbp - 0x50], r10
mov rsi, qword [rbp - 0x50]
mov qword [rbp - 0x58], rax
mov r10d, dword [rbp + 0x38]
mov rdi, qword [rbp + 0x40]
mov rbx, qword [rbp + 0x50]
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x68], rdx
mov qword [rbp - 0x70], r8
mov qword [rbp - 0x78], r9
mov dword [rsp + 0x20], r11d
mov dword [rsp + 0x28], r10d
mov qword [rsp + 0x30], rdi
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], rax
lea rcx, [rbp - 0xa0]
call fcn.140003a60
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x68]
mov r8, qword [rbp - 0x70]
mov r9, qword [rbp - 0x78]
call sub.KERNEL32.DLL_CreateProcessW
mov esi, eax
lea rcx, [rbp - 0xa0]
call fcn.140003ab0
xor eax, eax
test esi, esi
setne al
movzx eax, al
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
Function at 0x180012060
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [0x180076da0]
xor ebx, ebx
mov qword [rbp - 0x30], rdx
mov qword [rbp + 0x10], rbx
test rax, rax
jne 0x1800120e4
lea rcx, [rbp - 0x28]
mov dword [rbp - 0x18], 0x6c41775a
mov dword [rbp - 0x14], 0x61636f6c
mov dword [rbp - 0x10], 0x69566574
mov dword [rbp - 0xc], 0x61757472
mov dword [rbp - 8], 0x6d654d6c
mov dword [rbp - 4], 0x79726f
mov dword [rbp - 0x28], 0x6c64746e
mov dword [rbp - 0x24], 0x6c642e6c
mov word [rbp - 0x20], 0x6c
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, [rbp - 0x18]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180076da0], rax
lea r9, [rbp - 0x30]
lea rdx, [rbp + 0x10]
xor r8d, r8d
or rcx, 0xffffffffffffffff
mov dword [rsp + 0x28], 0x40
mov dword [rsp + 0x20], 0x3000
call rax
test eax, eax
cmovns rbx, qword [rbp + 0x10]
mov rax, rbx
mov rbx, qword [rsp + 0x78]
add rsp, 0x60
pop rbp
ret
Function at 0x180012250
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], r8
push rbp
push rbx
push rsi
push r14
push r15
lea rbp, [rax - 0x4f]
sub rsp, 0x90
mov rbx, qword [0x180076d98]
mov rsi, r9
mov r14, rdx
mov r15, rcx
test rbx, rbx
jne 0x180012349
mov qword [rax + 8], rdi
mov qword [rax + 0x10], r12
lea rcx, [rbp - 0x39]
mov qword [rax + 0x20], r13
mov dword [rbp - 0x19], 0x6c41775a
mov dword [rbp - 0x15], 0x61636f6c
mov dword [rbp - 0x11], 0x69566574
mov dword [rbp - 0xd], 0x61757472
mov dword [rbp - 9], 0x6d654d6c
mov dword [rbp - 5], 0x79726f
mov dword [rbp - 0x39], 0x6c64746e
mov dword [rbp - 0x35], 0x6c642e6c
mov word [rbp - 0x31], 0x6c
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, [rbp - 0x19]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [rbp - 0x39]
mov r12, rax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, [rbp + 0x67]
lea rcx, [rbp - 0x39]
xor r13d, r13d
mov rdi, rax
mov dword [rbp + 0x67], r13d
call fcn.1800127b0
mov rbx, rax
test rax, rax
je 0x18001232a
mov r8d, dword [rbp + 0x67]
mov rdx, rdi
mov rcx, rax
call fcn.180012d20
mov rcx, rbx
test eax, eax
jne 0x180012374
call fcn.1800031d0
mov rbx, qword [0x180076d98]
mov r12, qword [rsp + 0xc8]
mov rdi, qword [rsp + 0xc0]
mov r13, qword [rsp + 0xd8]
mov eax, dword [rbp + 0x7f]
mov r9, rsi
xor r8d, r8d
mov dword [rsp + 0x28], eax
mov eax, dword [rbp + 0x77]
mov rdx, r14
mov rcx, r15
mov dword [rsp + 0x20], eax
call rbx
add rsp, 0x90
pop r15
pop r14
pop rsi
pop rbx
pop rbp
ret
mov edx, r12d
sub edx, edi
call fcn.180012e80
mov rcx, rbx
mov r11d, eax
mov rax, qword [r11 + rbx]
mov qword [rbp - 1], rax
mov rax, qword [r11 + rbx + 8]
mov qword [rbp + 7], rax
call fcn.1800031d0
lea rcx, [rbp - 0x29]
mov dword [rbp - 0x29], 0x65696253
mov dword [rbp - 0x25], 0x2e6c6c44
mov dword [rbp - 0x21], 0x6c6c64
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov r8d, 0x10
test rax, rax
cmovne r8d, r13d
lea eax, [r8 + 1]
mov byte [rbp + r8 - 1], 0xff
mov byte [rbp + rax - 1], 0x25
lea rax, [r8 + r12]
mov dword [rbp + r8 + 1], r13d
mov qword [rbp + r8 + 5], rax
lea eax, [r8 + 0xe]
mov edx, eax
mov edi, eax
call fcn.180012060
mov rbx, rax
mov qword [0x180076d98], rax
test rax, rax
je 0x180012331
lea rdx, [rbp - 1]
mov r8d, edi
mov rcx, rax
call fcn.1800029a0
jmp 0x180012331
Function at 0x1800124f0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x57]
sub rsp, 0xa0
cmp qword [0x180076da8], 0
mov r14d, r9d
mov r15, r8
mov r12, rdx
mov r13, rcx
jne 0x1800126b0
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
lea rcx, [rbp - 0x41]
mov qword [rax + 0x18], rdi
mov dword [rbp - 0x41], 0x6c64746e
mov dword [rbp - 0x3d], 0x6c642e6c
mov word [rbp - 0x39], 0x6c
mov dword [rbp - 0x21], 0x7250775a
mov dword [rbp - 0x1d], 0x6365746f
mov dword [rbp - 0x19], 0x72695674
mov dword [rbp - 0x15], 0x6c617574
mov dword [rbp - 0x11], 0x6f6d654d
mov word [rbp - 0xd], 0x7972
mov byte [rbp - 0xb], 0
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, [rbp - 0x21]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
lea rcx, [rbp - 0x41]
mov qword [rbp - 9], rax
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, [rbp - 1]
lea rcx, [rbp - 0x41]
xor edi, edi
mov rsi, rax
mov dword [rbp - 1], edi
call fcn.1800127b0
mov rbx, rax
test rax, rax
je 0x180012698
mov r8d, dword [rbp - 1]
mov rdx, rsi
mov rcx, rax
call fcn.180012d20
mov rcx, rbx
test eax, eax
jne 0x1800125d4
call fcn.1800031d0
jmp 0x180012698
mov edx, dword [rbp - 9]
sub edx, esi
call fcn.180012e80
mov rcx, rbx
mov r11d, eax
mov rax, qword [r11 + rbx]
mov qword [rbp + 7], rax
mov rax, qword [r11 + rbx + 8]
mov qword [rbp + 0xf], rax
call fcn.1800031d0
lea rcx, [rbp - 0x31]
mov dword [rbp - 0x31], 0x65696253
mov dword [rbp - 0x2d], 0x2e6c6c44
mov dword [rbp - 0x29], 0x6c6c64
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov r8d, 0x10
lea r9, [rbp - 1]
test rax, rax
mov dword [rsp + 0x28], 0x40
mov dword [rsp + 0x20], 0x3000
cmovne r8d, edi
or rcx, 0xffffffffffffffff
lea eax, [r8 + 1]
mov edx, r8d
mov byte [rbp + r8 + 7], 0xff
mov byte [rbp + rax + 7], 0x25
mov rax, qword [rbp - 9]
lea ebx, [r8 + 0xe]
add rax, rdx
lea rdx, [rbp - 9]
mov dword [rbp + r8 + 9], edi
mov qword [rbp - 9], rdi
mov qword [rbp - 1], rbx
mov qword [rbp + r8 + 0xd], rax
call fcn.180012250
test eax, eax
cmovns rdi, qword [rbp - 9]
mov qword [0x180076da8], rdi
test rdi, rdi
je 0x180012698
lea rdx, [rbp + 7]
mov r8d, ebx
mov rcx, rdi
call fcn.1800029a0
mov rsi, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0xd0]
mov rdi, qword [rsp + 0xe0]
mov rax, qword [rbp + 0x7f]
mov r10, qword [0x180076da8]
mov r9d, r14d
mov r8, r15
mov rdx, r12
mov rcx, r13
mov qword [rsp + 0x20], rax
call r10
add rsp, 0xa0
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
Function at 0x180012b30
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
sub rsp, 0x100
movsxd rax, dword [rcx + 0x3c]
mov r11, rcx
mov rsi, rdx
mov ecx, dword [rax + rcx + 0x88]
mov edx, dword [rax + r11 + 0x8c]
xor ebx, ebx
mov dword [rsp + 0x120], edx
mov qword [rsp + 0x130], rcx
add rcx, r11
mov eax, dword [rcx + 0x24]
mov ebp, dword [rcx + 0x1c]
mov r10d, dword [rcx + 0x20]
mov edi, dword [rcx + 0x18]
mov r8d, dword [rcx + 0x10]
add rax, r11
add rbp, r11
add r10, r11
mov qword [rsp + 0x128], rax
test esi, 0xffff0000
jne 0x180012bbc
mov edx, esi
cmp rdx, r8
jb 0x180012bb5
mov eax, dword [rcx + 0x14]
lea rcx, [r8 - 1]
add rcx, rax
cmp rdx, rcx
ja 0x180012bb5
sub rdx, r8
mov ebx, dword [rbp + rdx*4]
jmp 0x180012c18
xor eax, eax
jmp 0x180012cf9
mov r9d, ebx
test edi, edi
jle 0x180012c22
nop word [rax + rax]
mov eax, dword [r10]
mov r8, rsi
add rax, r11
sub r8, rax
nop dword [rax]
movzx edx, byte [rax]
movzx ecx, byte [rax + r8]
sub edx, ecx
jne 0x180012bf3
inc rax
test ecx, ecx
jne 0x180012be0
test edx, edx
je 0x180012c05
inc r9d
add r10, 4
cmp r9d, edi
jl 0x180012bd0
jmp 0x180012c1b
mov rcx, qword [rsp + 0x128]
movsxd rax, r9d
movzx ecx, word [rcx + rax*2]
mov ebx, dword [rbp + rcx*4]
add rbx, r11
mov edx, dword [rsp + 0x120]
mov ecx, dword [rsp + 0x130]
lea rax, [rcx + r11]
cmp rbx, rax
jb 0x180012cf6
mov eax, edx
add rax, rcx
add rax, r11
cmp rbx, rax
ja 0x180012cf6
xor edx, edx
lea rcx, [rsp + 0x21]
mov byte [rsp + 0x20], 0
lea r8d, [rdx + 0x63]
call fcn.180008040
xor edx, edx
lea rcx, [rsp + 0x91]
lea r8d, [rdx + 0x63]
mov byte [rsp + 0x90], 0
call fcn.180008040
lea rcx, [rsp + 0x20]
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea rcx, [rsp + 0x20]
mov edx, 0x2e
call fcn.1800032c8
test rax, rax
je 0x180012cf6
lea rdx, [rax + 1]
lea rcx, [rsp + 0x90]
mov byte [rax], 0
call qword [sym.imp.KERNEL32.dll_lstrcpyA]
lea rdx, [rsp + 0x120]
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x120], 0x6c6c642e
mov byte [rsp + 0x124], 0
call qword [sym.imp.KERNEL32.dll_lstrcatA]
lea rcx, [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
je 0x180012cf6
lea rdx, [rsp + 0x90]
mov rcx, rax
call fcn.180012b30
jmp 0x180012cf9
mov rax, rbx
mov rbx, qword [rsp + 0x138]
add rsp, 0x100
pop rdi
pop rsi
pop rbp
ret
Function at 0x180012d20
Capabilities:
Enumerate pe sections

Disassembly:
push rbp
push r12
push r15
sub rsp, 0x30
movsxd r15, dword [rcx + 0x3c]
mov r12, rdx
mov r11d, r8d
mov edx, dword [r15 + rcx + 0xb0]
mov rbp, rcx
test edx, edx
je 0x180012e5d
cmp dword [r15 + rcx + 0xb4], 0
je 0x180012e5d
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x20], r14
call fcn.180012e80
mov edi, eax
lea r14, [r11 + rbp]
mov ecx, 0xa000
add rdi, rbp
mov r13d, 0xf000
nop dword [rax + rax]
mov esi, dword [rdi + 4]
xor ebx, ebx
lea r11, [rdi + 8]
sub rsi, 8
shr rsi, 1
test esi, esi
jle 0x180012e30
nop dword [rax + rax]
movzx r8d, word [r11]
movzx eax, r8w
and ax, r13w
cmp ax, cx
jne 0x180012e21
movsxd rcx, dword [rbp + 0x3c]
and r8d, 0xfff
add r8d, dword [rdi]
add rcx, rbp
movzx eax, word [rcx + 0x14]
add rax, 0x18
add rax, rcx
cmp r8d, dword [rax + 0xc]
jb 0x180012e10
movzx r10d, word [rcx + 6]
xor r9d, r9d
test r10d, r10d
je 0x180012e0c
mov edx, dword [rax + 0xc]
cmp r8d, edx
jb 0x180012e00
add edx, dword [rax + 8]
cmp r8d, edx
jb 0x180012e6c
inc r9d
add rax, 0x28
cmp r9d, r10d
jb 0x180012df0
or r8d, 0xffffffff
mov rax, r12
mov ecx, 0xa000
sub rax, qword [r15 + rbp + 0x30]
add qword [r8 + rbp], rax
add r11, 2
cmp r11, r14
jae 0x180012e30
inc ebx
cmp ebx, esi
jl 0x180012db0
mov eax, dword [rdi + 4]
add rdi, rax
cmp rdi, r14
jae 0x180012e44
cmp dword [rdi], 0
jne 0x180012d90
mov r14, qword [rsp + 0x20]
mov r13, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov eax, 1
add rsp, 0x30
pop r15
pop r12
pop rbp
ret
mov ecx, dword [rax + 0x14]
sub ecx, dword [rax + 0xc]
add r8d, ecx
jmp 0x180012e10

Function at 0x180012e80
Capabilities:
Enumerate pe sections

Disassembly:
mov r9d, edx
movsxd rdx, dword [rcx + 0x3c]
add rdx, rcx
movzx eax, word [rdx + 0x14]
add rax, 0x18
add rax, rdx
cmp r9d, dword [rax + 0xc]
jae 0x180012e9f
mov eax, r9d
ret
movzx r10d, word [rdx + 6]
xor r8d, r8d
test r10d, r10d
je 0x180012ecc
nop dword [rax]
mov edx, dword [rax + 0xc]
cmp r9d, edx
jb 0x180012ec0
add edx, dword [rax + 8]
cmp r9d, edx
jb 0x180012ed0
inc r8d
add rax, 0x28
cmp r8d, r10d
jb 0x180012eb0
or eax, 0xffffffff
ret
mov ecx, dword [rax + 0x14]
sub ecx, dword [rax + 0xc]
lea eax, [r9 + rcx]
ret
Function at 0x180013870
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
lea rbp, [rsp - 0x1b0]
sub rsp, 0x2b0
mov rbx, r8
lea rcx, [rbp - 0x4e]
xor edi, edi
xor edx, edx
mov r8d, 0x1fe
mov word [rbp - 0x50], di
call fcn.180008040
lea rcx, [rsp + 0x40]
mov qword [rbp + 0x1d8], rdi
mov dword [rsp + 0x40], 0x786f4256
mov dword [rsp + 0x44], 0x642e5452
mov word [rsp + 0x48], 0x6c6c
mov byte [rsp + 0x4a], dil
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
je 0x1800138ec
mov r8, rbx
xor edx, edx
mov ecx, 0xf001f
call qword [sym.imp.KERNEL32.dll_OpenFileMappingA]
jmp 0x1800139f3
test rbx, rbx
jne 0x180013901
lea ecx, [rbx + 0x57]
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x1800139f3
lea rax, [rbp - 0x50]
or r9d, 0xffffffff
mov r8, rbx
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x28], pe_nt_image_headers64
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov rax, qword [0x18007b9d0]
test rax, rax
jne 0x180013993
lea rcx, [rsp + 0x30]
mov dword [rsp + 0x30], 0x6c64746e
mov dword [rsp + 0x34], 0x6c642e6c
mov word [rsp + 0x38], 0x6c
mov dword [rsp + 0x50], 0x496c7452
mov dword [rsp + 0x54], 0x5574696e
mov dword [rsp + 0x58], 0x6f63696e
mov dword [rsp + 0x5c], 0x74536564
mov dword [rsp + 0x60], 0x676e6972
mov byte [rsp + 0x64], dil
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, [rsp + 0x50]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x18007b9d0], rax
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x70]
call rax
mov rax, qword [0x18007b0e8]
xor edx, edx
lea r9, [rbp + 0x1d8]
lea r8, [rsp + 0x70]
lea rcx, [rbp - 0x80]
test rax, rax
jne 0x1800139c3
call fcn.180013c00
jmp 0x1800139c5
call rax
test eax, eax
jns 0x1800139d4
mov ecx, eax
call fcn.180013e00
xor eax, eax
jmp 0x1800139f3
mov r8, qword [rbp + 0x1d8]
lea rcx, [rsp + 0x68]
mov edx, 0xf001f
call fcn.180013e90
test eax, eax
js 0x1800139c9
mov rax, qword [rsp + 0x68]
lea r11, [rsp + 0x2b0]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret

Function at 0x180013a10
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rdi
sub rsp, 0x30
mov rdi, rcx
lea rcx, [rsp + 0x20]
mov dword [rsp + 0x20], 0x786f4256
mov dword [rsp + 0x24], 0x642e5452
mov word [rsp + 0x28], 0x6c6c
mov byte [rsp + 0x2a], 0
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
test rax, rax
je 0x180013a54
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
add rsp, 0x30
pop rdi
ret
mov rdx, rdi
or rcx, 0xffffffffffffffff
mov qword [rsp + 0x40], rbx
call fcn.180014080
mov ebx, eax
test eax, eax
jns 0x180013aa6
cmp eax, 0xc0000045
jne 0x180013a92
xor edx, edx
mov rcx, rdi
call fcn.180018bd0
test al, al
je 0x180013a92
mov rdx, rdi
or rcx, 0xffffffffffffffff
call fcn.180014080
mov ebx, eax
test eax, eax
jns 0x180013aa6
mov ecx, ebx
call fcn.180013e00
mov rbx, qword [rsp + 0x40]
xor eax, eax
add rsp, 0x30
pop rdi
ret
mov eax, 1
mov rbx, qword [rsp + 0x40]
add rsp, 0x30
pop rdi
ret
Function at 0x180013ac0
Capabilities:
Contain obfuscated stackstrings
Read file via mapping

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x70
mov rdi, rcx
lea rcx, [rsp + 0x60]
mov dword [rsp + 0x60], 0x786f4256
mov dword [rsp + 0x64], 0x642e5452
mov word [rsp + 0x68], 0x6c6c
mov byte [rsp + 0x6a], 0
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xor ebx, ebx
mov rcx, rdi
test rax, rax
je 0x180013b20
lea edx, [rbx + 6]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rbx
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov rbx, qword [rsp + 0x80]
add rsp, 0x70
pop rdi
ret
lea rax, [rsp + 0x58]
mov dword [rsp + 0x48], 4
lea r8, [rsp + 0x50]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0xa0]
or rdx, 0xffffffffffffffff
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x28], rax
call fcn.180014260
test eax, eax
jns 0x180013b7b
mov ecx, eax
call fcn.180013e00
mov rax, rbx
mov rbx, qword [rsp + 0x80]
add rsp, 0x70
pop rdi
ret
mov rbx, qword [rsp + 0x50]
mov rax, rbx
mov rbx, qword [rsp + 0x80]
add rsp, 0x70
pop rdi
ret

Function at 0x180013c00
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push rbp
mov rbp, rsp
sub rsp, 0x70
mov r14, rcx
lea rcx, [rbp - 0x50]
mov rbx, r9
mov rdi, r8
mov rsi, rdx
mov dword [rbp - 0x50], 0x6e72656b
mov dword [rbp - 0x4c], 0x61626c65
mov dword [rbp - 0x48], 0x642e6573
mov word [rbp - 0x44], 0x6c6c
mov byte [rbp - 0x42], 0
mov dword [rbp - 0x28], 0x65736142
mov dword [rbp - 0x24], 0x6d726f46
mov dword [rbp - 0x20], 0x624f7461
mov dword [rbp - 0x1c], 0x7463656a
mov dword [rbp - 0x18], 0x72747441
mov dword [rbp - 0x14], 0x74756269
mov word [rbp - 0x10], 0x7365
mov byte [rbp - 0xe], 0
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, [rbp - 0x28]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x18007b0e8], rax
test rax, rax
jne 0x180013cff
lea rcx, [rbp - 0x50]
mov dword [rbp - 0x40], 0x6e65704f
mov dword [rbp - 0x3c], 0x656c6946
mov dword [rbp - 0x38], 0x7070614d
mov dword [rbp - 0x34], 0x57676e69
mov byte [rbp - 0x30], al
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, [rbp - 0x40]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
xor r8d, r8d
mov rdx, rax
mov eax, r8d
mov ecx, r8d
cmp byte [rcx + rdx], 0xff
jne 0x180013ced
cmp byte [rcx + rdx + 1], 0x15
je 0x180013d27
inc rcx
inc eax
cmp rcx, 0x70
jl 0x180013ce0
mov rax, qword [0x18007b0e8]
mov r9, rbx
mov r8, rdi
mov rdx, rsi
mov rcx, r14
call rax
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret
cdqe
add rdx, rax
mov rax, r8
nop
cmp byte [rax + rdx], 0xe8
je 0x180013d44
inc rax
inc r8d
cmp rax, 0x70
jl 0x180013d30
jmp 0x180013cf8
movsxd rax, r8d
movsxd rcx, dword [rax + rdx + 1]
add rcx, rax
lea rax, [rdx + 5]
add rax, rcx
mov qword [0x18007b0e8], rax
jmp 0x180013cff
Function at 0x180013e00
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 8], rbx
push rbp
mov rbp, rsp
sub rsp, 0x50
mov rax, qword [0x18007b918]
mov ebx, ecx
test rax, rax
jne 0x180013e76
lea rcx, [rbp - 0x30]
mov dword [rbp - 0x30], 0x6e72656b
mov dword [rbp - 0x2c], 0x32336c65
mov dword [rbp - 0x28], 0x6c6c642e
mov byte [rbp - 0x24], al
mov dword [rbp - 0x20], 0x65736142
mov dword [rbp - 0x1c], 0x4c746553
mov dword [rbp - 0x18], 0x4e747361
mov dword [rbp - 0x14], 0x72724554
mov word [rbp - 0x10], 0x726f
mov byte [rbp - 0xe], al
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rdx, [rbp - 0x20]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x18007b918], rax
mov ecx, ebx
call rax
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rbp
ret