joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14013f040
Capabilities:
Encode data using base64

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x14013f1b7
push rbp
mov rbp, rsp
sub rsp, 0x38
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x60], rdi
mov rdx, qword [rbx + 8]
mov rax, qword [rbx + 0x10]
mov rdx, qword [rdx + 0x30]
call rdx
cmp qword [rax + 0x38], 5
jne 0x14013f0e5
mov rdx, qword [rax + 0x30]
cmp dword [rdx], 0x35322d50
jne 0x14013f0e5
cmp byte [rdx + 4], 0x36
jne 0x14013f0e5
mov rdx, qword [rsp + 0x50]
mov rsi, qword [rdx + 0x18]
mov rdi, qword [rsi]
mov rdi, qword [rdi + 8]
shl rdi, 6
sub rdi, qword [rsi + 8]
lea rsi, [rdi + 7]
sar rsi, 0x3f
shr rsi, 0x3d
lea rcx, [rsi + rdi]
lea rcx, [rcx + 7]
sar rcx, 3
mov qword [rsp + 0x30], rcx
nop
lea rax, [0x1401e5880]
mov rbx, rcx
call fcn.14004ef60
mov rdx, qword [rsp + 0x60]
mov rsi, qword [rdx]
mov rdi, qword [rdx + 8]
mov r8, qword [rsp + 0x30]
mov rcx, r8
xor ebx, ebx
jmp 0x14013f115
mov rdx, qword [rsp + 0x50]
mov rcx, qword [rdx + 0x20]
mov rdi, qword [rdx + 0x28]
mov rsi, qword [rdx + 0x30]
mov r8, qword [rdx + 0x18]
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x60]
call fcn.1401334c0
add rsp, 0x38
pop rbp
ret
inc rbx
mov r8, r11
cmp rbx, rdi
jge 0x14013f12f
mov r9, qword [rsi + rbx*8]
xor r10d, r10d
jmp 0x14013f185
test r9, r9
je 0x14013f10f
jmp 0x14013f19b
mov r11, r8
jmp 0x14013f10f
mov rbx, rcx
call fcn.14011f0c0
test rdi, rdi
jne 0x14013f0e5
mov rdx, qword [rsp + 0x50]
mov rsi, qword [rdx + 0x18]
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x58]
call fcn.140131760
test rbx, rbx
jne 0x14013f163
add rsp, 0x38
pop rbp
ret
lea rax, [0x1401e5800]
lea rbx, [0x140283b10]
call fcn.140038260
mov byte [r8 + rax - 1], r9b
inc r10
shr r9, 8
mov r8, r11
cmp r10, 8
jge 0x14013f12a
lea r11, [r8 - 1]
test r11, r11
jl 0x14013f123
cmp rcx, r11
ja 0x14013f176
jmp 0x14013f1ae
lea rax, [0x1401e5800]
lea rbx, [0x140283b00]
call fcn.140038260
mov rax, r11
call fcn.14006b100
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.140068e00
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.14013f040
Function at 0x14013f200
Capabilities:
Encode data using base64

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x14013f3be
push rbp
mov rbp, rsp
sub rsp, 0x50
mov qword [rsp + 0x78], rdi
mov r9, qword [rbx + 0x18]
mov r10, qword [r9]
mov r10, qword [r10 + 8]
shl r10, 6
sub r10, qword [r9 + 8]
lea r9, [r10 + 7]
sar r9, 0x3f
shr r9, 0x3d
lea r9, [r9 + r10]
lea r9, [r9 + 7]
sar r9, 3
cmp rsi, r9
jl 0x14013f30a
cmp r8, r9
jb 0x14013f3b2
mov rdx, r9
shl r9, 3
sub r9, r10
nop
test r9, r9
jle 0x14013f345
test rdi, rdi
jne 0x14013f279
xor eax, eax
xor edx, edx
xor esi, esi
jmp 0x14013f304
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x38], r9
test rdx, rdx
ja 0x14013f299
lea rax, [rsp + 0x28]
xor esi, esi
xor r8d, r8d
jmp 0x14013f2cc
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x78], rdi
lea rax, [rsp + 0x28]
mov rbx, rdx
xor ecx, ecx
mov rdi, rbx
lea rsi, [0x1401e5880]
call fcn.14004f040
mov rdx, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x78]
mov rsi, rcx
mov r8, rbx
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x48], rax
mov rbx, rdi
mov rcx, rdx
call fcn.14006bac0
mov rcx, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x68]
mov r9, qword [rsp + 0x38]
mov rax, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x30]
lea r8, [rax - 1]
jmp 0x14013f350
mov rdx, qword [rbx + 0x18]
mov rax, rcx
mov rbx, rdi
mov rcx, rsi
mov rdi, r8
mov rsi, rdx
nop dword [rax]
call fcn.140131880
test rbx, rbx
jne 0x14013f330
add rsp, 0x50
pop rbp
ret
lea rax, [0x1401e5800]
lea rbx, [0x140283b20]
nop
call fcn.140038260
mov rsi, rdx
jmp 0x14013f30a
dec r8
mov rcx, rdi
test r8, r8
jl 0x14013f3a2
movzx r10d, byte [rdx + r8]
mov rdi, rcx
mov rcx, r9
shr r10b, cl
cmp rcx, 8
sbb r11d, r11d
and r10d, r11d
mov byte [rdx + r8], r10b
test r8, r8
jle 0x14013f34a
lea r11, [rcx - 8]
neg r11
movzx r12d, byte [r8 + rdx - 1]
test r11, r11
jl 0x14013f3ad
mov rcx, r11
shl r12d, cl
cmp rcx, 0x20
sbb r11d, r11d
and r12d, r11d
or r10d, r12d
mov byte [rdx + r8], r10b
nop
jmp 0x14013f34a
mov r8, rsi
mov rdi, rdx
mov rdx, rax
jmp 0x14013f345
call fcn.1400376a0
mov rcx, r9
mov rdx, r8
call fcn.14006b180
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
nop dword [rax]
call fcn.140068e00
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
jmp fcn.14013f200
Function at 0x140140420
Capabilities:
Access peb ldr_data

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x140140542
push rbp
mov rbp, rsp
sub rsp, 0x48
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x60], rbx
test byte [rax], al
test byte [rbx], al
lea rcx, [rbx + 0x78]
mov qword [rsp + 0x20], rcx
lea rdx, [rax + 0x28]
mov qword [rsp + 0x40], rdx
lea rsi, [rbx + 0x28]
mov qword [rsp + 0x28], rsi
lea rdi, [rbx + 0x50]
mov qword [rsp + 0x18], rdi
lea r8, [rax + 0x50]
mov qword [rsp + 0x38], r8
lea r9, [rax + 0x78]
mov qword [rsp + 0x30], r9
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rcx
call fcn.14012c0e0
xorps xmm15, xmm15
mov r14, qword [0x140426300]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x40]
mov qword [rsp], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 8], rax
mov rcx, qword [rsp + 0x18]
mov qword [rsp + 0x10], rcx
call fcn.14012c0e0
xorps xmm15, xmm15
mov r14, qword [0x140426300]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x38]
mov qword [rsp], rax
mov rax, qword [rsp + 0x18]
mov qword [rsp + 8], rax
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x10], rax
call fcn.14012c0e0
xorps xmm15, xmm15
mov r14, qword [0x140426300]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x30]
mov qword [rsp], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 8], rax
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0x10], rax
call fcn.14012c0e0
xorps xmm15, xmm15
mov r14, qword [0x140426300]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x58]
add rsp, 0x48
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.140068e00
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
nop dword [rax + rax]
jmp fcn.140140420
Function at 0x140143100
Capabilities:
Enumerate pe sections

Disassembly:
lea r12, [rsp - 0x28]
cmp r12, qword [r14 + 0x10]
jbe 0x140143366
push rbp
mov rbp, rsp
sub rsp, 0xa0
movzx ecx, byte [rbx + 0x1f]
shl rcx, 0x38
mov qword [rsp + 0x98], rcx
movzx edx, byte [rbx + 0x1e]
shl rdx, 0x30
mov qword [rsp + 0x90], rdx
movzx esi, byte [rbx + 0x1d]
shl rsi, 0x28
mov qword [rsp + 0x88], rsi
movzx edi, byte [rbx + 0x1c]
shl rdi, 0x20
mov qword [rsp + 0x80], rdi
movzx r8d, byte [rbx + 0x1b]
shl r8, 0x18
mov qword [rsp + 0x78], r8
movzx r9d, byte [rbx + 0x1a]
shl r9, 0x10
mov qword [rsp + 0x70], r9
movzx r10d, byte [rbx + 0x19]
shl r10, 8
mov qword [rsp + 0x68], r10
movzx r11d, byte [rbx + 0x18]
mov qword [rsp + 0x60], r11
movzx r12d, byte [rbx + 0x17]
shl r12, 0x38
mov qword [rsp + 0x58], r12
movzx r13d, byte [rbx + 0x16]
shl r13, 0x30
mov qword [rsp + 0x50], r13
movzx r15d, byte [rbx + 0x15]
shl r15, 0x28
mov qword [rsp + 0x48], r15
movzx ecx, byte [rbx + 0x14]
shl rcx, 0x20
mov qword [rsp + 0x40], rcx
movzx edx, byte [rbx + 0x13]
shl rdx, 0x18
mov qword [rsp + 0x38], rdx
movzx esi, byte [rbx + 0x12]
shl rsi, 0x10
mov qword [rsp + 0x30], rsi
movzx edi, byte [rbx + 0x11]
shl rdi, 8
mov qword [rsp + 0x28], rdi
movzx r8d, byte [rbx + 0x10]
mov qword [rsp + 0x20], r8
movzx r9d, byte [rbx + 0xf]
shl r9, 0x38
mov qword [rsp + 0x18], r9
movzx r10d, byte [rbx + 0xe]
shl r10, 0x30
mov qword [rsp + 0x10], r10
movzx r11d, byte [rbx + 0xd]
shl r11, 0x28
mov qword [rsp + 8], r11
movzx r12d, byte [rbx + 0xc]
shl r12, 0x20
mov qword [rsp], r12
movzx r13d, byte [rbx + 0xb]
shl r13, 0x18
movzx r15d, byte [rbx + 0xa]
shl r15, 0x10
movzx ecx, byte [rbx + 9]
shl rcx, 8
movzx edx, byte [rbx + 8]
movzx esi, byte [rbx + 7]
shl rsi, 0x38
movzx edi, byte [rbx + 6]
shl rdi, 0x30
movzx r8d, byte [rbx + 5]
shl r8, 0x28
movzx r9d, byte [rbx + 4]
shl r9, 0x20
movzx r10d, byte [rbx + 3]
shl r10, 0x18
movzx r11d, byte [rbx + 2]
shl r11, 0x10
movzx r12d, byte [rbx + 1]
shl r12, 8
movzx ebx, byte [rbx]
add rbx, r12
add rbx, r11
add rbx, r10
add rbx, r9
add rbx, r8
add rbx, rdi
add rbx, rsi
mov qword [rax], rbx
add rcx, rdx
add rcx, r15
add rcx, r13
mov rdx, qword [rsp]
add rcx, rdx
mov rdx, qword [rsp + 8]
add rcx, rdx
mov rdx, qword [rsp + 0x10]
add rcx, rdx
mov rdx, qword [rsp + 0x18]
add rcx, rdx
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x20]
add rcx, rdx
mov rdx, qword [rsp + 0x30]
add rcx, rdx
mov rdx, qword [rsp + 0x38]
add rcx, rdx
mov rdx, qword [rsp + 0x40]
add rcx, rdx
mov rdx, qword [rsp + 0x48]
add rcx, rdx
mov rdx, qword [rsp + 0x50]
add rcx, rdx
mov rdx, qword [rsp + 0x58]
add rcx, rdx
mov qword [rax + 0x10], rcx
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x60]
add rcx, rdx
mov rdx, qword [rsp + 0x70]
add rcx, rdx
mov rdx, qword [rsp + 0x78]
add rcx, rdx
mov rdx, qword [rsp + 0x80]
add rcx, rdx
mov rdx, qword [rsp + 0x88]
add rcx, rdx
mov rdx, qword [rsp + 0x90]
add rcx, rdx
mov rdx, qword [rsp + 0x98]
add rcx, rdx
mov qword [rax + 0x18], rcx
add rsp, 0xa0
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.140068e00
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
nop
jmp fcn.140143100
Function at 0x140145920
Capabilities:
Encrypt data using rc4 prga

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x140145ad7
push rbp
mov rbp, rsp
sub rsp, 0x48
mov qword [rsp + 0x90], r10
mov qword [rsp + 0x88], r9
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x80], r8
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x70], rdi
lea rax, [0x1401e8000]
call fcn.14000f020
mov qword [rsp + 0x40], rax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
jmp 0x140145985
mov rax, rdx
mov rcx, r10
mov rdx, qword [rsp + 0x30]
mov rbx, r8
mov rsi, qword [rsp + 0x60]
cmp rsi, rcx
jle 0x140145a99
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x30], rdx
mov rdx, qword [rsp + 0x70]
mov rsi, qword [rdx + 0x38]
mov rax, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x90]
call rsi
mov rdx, qword [rsp + 0x70]
mov rsi, qword [rdx + 0x38]
mov rax, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x40]
mov ecx, 4
mov rdi, rcx
call rsi
mov rdx, qword [rsp + 0x70]
mov rsi, qword [rdx + 0x30]
mov rax, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x38]
xor ecx, ecx
mov rdi, qword [rsp + 0x30]
call rsi
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], rcx
mov rdx, qword [rsp + 0x70]
mov rsi, qword [rdx + 0x20]
mov rax, qword [rsp + 0x78]
call rsi
mov rdx, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x58]
mov r8, qword [rsp + 0x38]
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0x20]
xor eax, eax
jmp 0x140145ab6
mov rdx, qword [rsp + 0x40]
movzx r11d, byte [rdx + 3]
lea r12d, [r11 + 1]
mov byte [rdx + 3], r12b
cmp r11b, 0xff
jne 0x140145977
movzx r11d, byte [rdx + 2]
lea r12d, [r11 + 1]
mov byte [rdx + 2], r12b
cmp r11b, 0xff
jne 0x140145977
movzx r11d, byte [rdx + 1]
lea r12d, [r11 + 1]
mov byte [rdx + 1], r12b
nop
cmp r11b, 0xff
jne 0x140145977
movzx r11d, byte [rdx]
inc r11d
mov byte [rdx], r11b
jmp 0x140145977
add rsp, 0x48
pop rbp
ret
movzx r11d, byte [r10 + rsi]
movzx r12d, byte [rax + r8]
xor r11d, r12d
mov byte [rsi + r10], r11b
inc rax
inc r10
cmp rdx, rax
jle 0x140145a3f
nop dword [rax + rax]
cmp r9, r10
jle 0x140145a3f
ja 0x140145a9f
mov rax, r10
mov rcx, r9
call fcn.14006b100
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x40], r10
nop
call fcn.140068e00
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
mov r10, qword [rsp + 0x40]
jmp fcn.140145920
Function at 0x140145b40
Capabilities:
Encode data using base64

Disassembly:
lea r12, [rsp - 0x1f8]
cmp r12, qword [r14 + 0x10]
jbe 0x140145dce
push rbp
mov rbp, rsp
sub rsp, 0x270
mov qword [rsp + 0x280], rax
mov qword [rsp + 0x298], rdi
mov qword [rsp + 0x290], rcx
mov qword [rsp + 0x288], rbx
nop
nop
call fcn.1400939c0
xorps xmm15, xmm15
mov r14, qword [0x140426300]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x280]
mov rcx, qword [rax]
mov rax, rcx
call fcn.140131f80
test rbx, rbx
jne 0x140145d42
mov qword [rsp + 0x238], rax
lea rdi, [rsp + 0x130]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.14006b3b4
mov rbp, qword [rbp]
mov qword [rsp + 0x258], 0
movups xmmword [rsp + 0x260], xmm15
mov qword [rsp + 0x260], 0
mov qword [rsp + 0x268], 0x20
lea rdx, [rsp + 0x130]
mov qword [rsp + 0x258], rdx
mov rbx, qword [rsp + 0x288]
mov rcx, qword [rsp + 0x290]
mov rdi, qword [rsp + 0x298]
mov rsi, rax
lea rax, [rsp + 0x258]
call fcn.140131760
nop dword [rax + rax]
test rbx, rbx
jne 0x140145d2c
mov rdx, qword [rsp + 0x280]
mov rcx, qword [rdx + 8]
lea rdi, [rsp + 0x30]
nop word [rax + rax]
mov qword [rsp - 0x10], rbp
lea rbp, [rsp - 0x10]
call fcn.14006b3b4
mov rbp, qword [rbp]
mov qword [rsp + 0x240], 0
movups xmmword [rsp + 0x248], xmm15
mov qword [rsp + 0x248], 0
mov qword [rsp + 0x250], 0x20
lea rdx, [rsp + 0x30]
mov qword [rsp + 0x240], rdx
mov rbx, rax
mov rdi, qword [rsp + 0x238]
lea rax, [rsp + 0x240]
call fcn.140134220
mov qword [rsp + 0x230], rax
mov rdx, qword [rsp + 0x238]
mov rsi, qword [rdx]
mov rsi, qword [rsi + 8]
shl rsi, 6
sub rsi, qword [rdx + 8]
lea rdx, [rsi + 7]
sar rdx, 0x3f
shr rdx, 0x3d
lea rcx, [rdx + rsi]
lea rcx, [rcx + 7]
sar rcx, 3
mov qword [rsp + 0x28], rcx
nop
mov rbx, rcx
lea rax, [0x1401e5880]
call fcn.14004ef60
mov rdx, qword [rsp + 0x230]
mov rsi, qword [rdx]
mov rdx, qword [rdx + 8]
mov r8, qword [rsp + 0x28]
mov rcx, r8
xor ebx, ebx
jmp 0x140145d60
xor eax, eax
mov rdi, rbx
mov rsi, rcx
xor ebx, ebx
mov rcx, rbx
add rsp, 0x270
pop rbp
ret
xor eax, eax
mov rdi, rbx
mov rsi, rcx
xor ebx, ebx
mov rcx, rbx
add rsp, 0x270
pop rbp
ret
inc rbx
mov r8, r10
nop
cmp rbx, rdx
jge 0x140145d79
mov r9, qword [rsi + rbx*8]
xor edi, edi
jmp 0x140145d98
test r9, r9
je 0x140145d58
jmp 0x140145dae
mov r10, r8
jmp 0x140145d58
mov rbx, rcx
xor edi, edi
xor esi, esi
add rsp, 0x270
pop rbp
ret
mov byte [r8 + rax - 1], r9b
inc rdi
shr r9, 8
mov r8, r10
cmp rdi, 8
jge 0x140145d74
lea r10, [r8 - 1]
test r10, r10
jl 0x140145d6d
cmp rcx, r10
ja 0x140145d89
jmp 0x140145dc5
lea rax, [0x1401e5800]
lea rbx, [0x140283b00]
nop dword [rax]
call fcn.140038260
mov rax, r10
call fcn.14006b100
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.140068e00
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
nop dword [rax + rax]
jmp fcn.140145b40
Function at 0x140147f20
Capabilities:
Parse credit card information

Disassembly:
lea ecx, [rax - 0x61]
cmp cl, 0x19
jbe 0x140147f38
lea ecx, [rax - 0x41]
cmp cl, 0x19
jbe 0x140147f38
lea ecx, [rax - 0x30]
cmp cl, 9
ja 0x140147f40
xor eax, eax
ret
cmp rbx, 3
je 0x140147f4c
cmp rbx, 4
jne 0x140147f79
cmp al, 0x2c
ja 0x140147f66
lea ecx, [rax - 0x21]
cmp cl, 1
jbe 0x140147f76
cmp al, 0x24
je 0x140147f76
nop dword [rax]
cmp al, 0x26
jae 0x140147f76
jmp 0x140147f79
lea ecx, [rax - 0x3a]
cmp cl, 4
jbe 0x140147f76
cmp al, 0x5b
je 0x140147f76
cmp al, 0x5d
jne 0x140147f79
xor eax, eax
ret
cmp al, 0x2f
ja 0x140147fb2
nop dword [rax]
cmp al, 0x26
ja 0x140147f91
cmp al, 0x24
je 0x140147fd1
cmp al, 0x26
je 0x140147fd1
jmp 0x14014804b
lea ecx, [rax - 0x2b]
cmp cl, 1
jbe 0x140147fd1
lea ecx, [rax - 0x2d]
nop dword [rax]
cmp cl, 1
jbe 0x140148048
cmp al, 0x2f
je 0x140147fd1
jmp 0x14014804b
cmp al, 0x3d
ja 0x140147fc9
lea ecx, [rax - 0x3a]
cmp cl, 1
jbe 0x140147fd1
nop
cmp al, 0x3d
je 0x140147fd1
jmp 0x14014804b
lea ecx, [rax - 0x3f]
cmp cl, 1
ja 0x140148040
cmp rbx, 2
jg 0x140148007
cmp rbx, 1
je 0x140148001
nop dword [rax]
cmp rbx, 2
jne 0x14014804b
cmp al, 0x2f
je 0x140147ff2
cmp al, 0x3b
je 0x140147ff2
cmp al, 0x2c
jne 0x140147ff9
mov ecx, 1
jmp 0x140147ffe
cmp al, 0x3f
sete cl
mov eax, ecx
ret
cmp al, 0x3f
sete al
ret
cmp rbx, 5
jne 0x14014802a
cmp al, 0x40
je 0x140148019
cmp al, 0x2f
je 0x140148019
cmp al, 0x3f
jne 0x140148022
mov ecx, 1
nop
jmp 0x140148027
cmp al, 0x3a
sete cl
mov eax, ecx
ret
cmp rbx, 6
je 0x140148039
cmp rbx, 7
jne 0x14014804b
xor eax, eax
ret
mov eax, 1
ret
cmp al, 0x5f
je 0x140148048
cmp al, 0x7e
jne 0x14014804b
xor eax, eax
ret
cmp rbx, 7
jne 0x140148061
cmp al, 0x21
je 0x14014805d
lea ecx, [rax - 0x28]
cmp cl, 2
ja 0x140148061
xor eax, eax
nop
ret
mov eax, 1
ret
Function at 0x140197440
Capabilities:
Parse pe header

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x140197569
push rbp
mov rbp, rsp
sub rsp, 0x28
test rax, rax
je 0x140197561
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rbx
mov rcx, rax
mov qword [rsp + 0x20], rax
test rbx, rbx
je 0x140197488
mov rax, rcx
mov edi, 0x40
call fcn.1401981a0
nop
test al, al
je 0x140197559
call fcn.140199ce0
mov rax, qword [rsp + 0x20]
mov rcx, rax
mov ebx, 0x40
mov rax, rcx
nop dword [rax]
call fcn.1401970e0
test al, al
jne 0x140197551
mov rdx, qword [rsp + 0x20]
cmp word [rdx], 0x5a4d
jne 0x140197549
mov edx, dword [rdx + 0x3c]
cmp edx, 0x400
jg 0x140197541
movsxd rdx, edx
mov rax, qword [rsp + 0x38]
add rdx, rax
mov qword [rsp + 0x20], rdx
mov rbx, qword [rsp + 0x40]
nop dword [rax]
test rbx, rbx
je 0x1401974fd
mov ecx, 8
mov edi, 0xf8
call fcn.1401981a0
test al, al
je 0x140197538
mov rdx, qword [rsp + 0x20]
mov rax, rdx
mov ebx, 0x40
call fcn.1401970e0
test al, al
jne 0x140197530
call fcn.140199d20
mov rax, qword [rsp + 0x20]
cmp dword [rax], 0x4550
nop
je 0x14019752a
xor eax, eax
add rsp, 0x28
pop rbp
ret
add rsp, 0x28
pop rbp
ret
xor eax, eax
add rsp, 0x28
pop rbp
ret
xor eax, eax
add rsp, 0x28
pop rbp
nop
ret
xor eax, eax
add rsp, 0x28
pop rbp
ret
xor eax, eax
add rsp, 0x28
pop rbp
ret
xor eax, eax
add rsp, 0x28
pop rbp
ret
xor eax, eax
add rsp, 0x28
pop rbp
ret
xor eax, eax
add rsp, 0x28
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.140068e00
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.140197440

Function at 0x14019fdc0
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 fcn.1401aafa0
mov r8d, 0x1b
mov edx, 1
lea rcx, str.___________________________n
mov r9, rax
call sub.msvcrt.dll_fwrite
mov rbx, qword [rsp + 0x28]
mov ecx, 2
call fcn.1401aafa0
mov rdx, r12
mov rcx, rax
mov r8, rbx
call sub.msvcrt.dll_vfprintf
call sub.msvcrt.dll_abort
nop
nop word [rax + rax]
Function at 0x14019fe30
Capabilities:
Allocate or change rwx memory

Disassembly:
push r12
push rsi
push rbx
sub rsp, 0x50
movsxd rbx, dword [0x14042c874]
mov r12, rcx
test ebx, ebx
jle 0x14019ff60
mov rax, qword [0x14042c878]
xor ecx, ecx
add rax, 0x18
nop word [rax + rax]
mov rdx, qword [rax]
cmp rdx, r12
ja 0x14019fe7c
mov r8, qword [rax + 8]
mov r8d, dword [r8 + 8]
add rdx, r8
cmp r12, rdx
jb 0x14019ff03
add ecx, 1
add rax, 0x28
cmp ecx, ebx
jne 0x14019fe60
mov rcx, r12
call fcn.1401a07d0
mov rsi, rax
test rax, rax
je 0x14019ff82
mov rax, qword [0x14042c878]
lea rbx, [rbx + rbx*4]
shl rbx, 3
add rax, rbx
mov qword [rax + 0x20], rsi
mov dword [rax], 0
call fcn.1401a0900
mov ecx, dword [rsi + 0xc]
lea rdx, [rsp + 0x20]
mov r8d, 0x30
add rcx, rax
mov rax, qword [0x14042c878]
mov qword [rax + rbx + 0x18], rcx
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x14019ff67
mov eax, dword [rsp + 0x44]
lea edx, [rax - 0x40]
and edx, 0xffffffbf
je 0x14019fefc
lea edx, [rax - 4]
and edx, 0xfffffffb
jne 0x14019ff10
add dword [0x14042c874], 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 [0x14042c878]
mov qword [rbx + 8], rcx
mov r9, rbx
mov qword [rbx + 0x10], rdx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x14019fefc
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.__VirtualProtect_failed_with_code_0x_x
mov edx, eax
call fcn.14019fdc0
nop dword [rax]
xor ebx, ebx
jmp 0x14019fe87
mov rax, qword [0x14042c878]
mov edx, dword [rsi + 8]
lea rcx, str.__VirtualQuery_failed_for__d_bytes_at_address__p
mov r8, qword [rax + rbx + 0x18]
call fcn.14019fdc0
mov rdx, r12
lea rcx, str.Address__p_has_no_image_section
call fcn.14019fdc0
nop
nop word cs:[rax + rax]
nop dword [rax]

Function at 0x1401a0440
Capabilities:
Get thread local storage value

Disassembly:
push r12
push rdi
push rsi
push rbx
sub rsp, 0x28
lea rcx, [0x14042c8e0]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbx, qword [0x14042c8c0]
test rbx, rbx
je 0x1401a0494
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 0x1401a048b
test r12, r12
je 0x1401a048b
mov rax, qword [rbx + 8]
mov rcx, r12
call rax
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x1401a0470
lea rcx, [0x14042c8e0]
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop r12
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
Function at 0x1401a07d0
Capabilities:
Enumerate pe sections
Parse pe header

Disassembly:
mov rdx, qword [0x140392960]
xor eax, eax
cmp word [rdx], 0x5a4d
jne 0x1401a07f0
movsxd r8, dword [rdx + 0x3c]
add r8, rdx
cmp dword [r8], 0x4550
je 0x1401a07f8
ret
cmp word [r8 + 0x18], 0x20b
jne 0x1401a07f0
movzx eax, word [r8 + 0x14]
sub rcx, rdx
movzx edx, word [r8 + 6]
lea rax, [r8 + rax + 0x18]
test edx, edx
je 0x1401a0845
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 0x1401a083c
add edx, dword [rax + 8]
cmp rcx, rdx
jb 0x1401a07f0
add rax, 0x28
cmp rax, r9
jne 0x1401a0828
xor eax, eax
ret

Function at 0x1401a0850
Capabilities:
Parse pe header

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

Function at 0x1401a0900
Capabilities:
Parse pe header

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

Function at 0x1401a22c0
Capabilities:
Allocate thread local storage

Disassembly:
push rsi
push rbx
sub rsp, 0x28
mov rsi, qword [0x1403929e0]
mov rax, qword [rsi]
test rax, rax
je 0x1401a2350
cmp qword [rax + 0x30], 0
jne 0x1401a2370
lea rbx, [0x1401ca208]
mov qword [rax + 0x30], rbx
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
mov dword [rbx], eax
mov rax, qword [rsi]
test rax, rax
je 0x1401a2320
cmp qword [rax + 0x30], 0
jne 0x1401a2340
lea rdx, [0x1401ca208]
mov qword [rax + 0x30], rdx
mov rax, rdx
cmp dword [rax], 0xffffffff
je 0x1401ab130
add rsp, 0x28
pop rbx
pop rsi
ret
call fcn.1401a71c0
mov r8, rax
mov rax, qword [rsi]
cmp qword [r8 + 0x30], 0
je 0x1401a2302
test rax, rax
jne 0x1401a2340
call fcn.1401a71c0
nop dword [rax]
mov rax, qword [rax + 0x30]
jmp 0x1401a2310
call fcn.1401a71c0
cmp qword [rax + 0x30], 0
mov rax, qword [rsi]
je 0x1401a22e0
test rax, rax
jne 0x1401a2370
call fcn.1401a71c0
nop dword [rax]
mov rbx, qword [rax + 0x30]
jmp 0x1401a22eb
call sub.msvcrt.dll_abort
nop
call sub.msvcrt.dll_abort
nop
mov rax, qword [pe_dos_header]
ud2