joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14000b390
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rcx
push rdi
sub rsp, 0x30
movsxd rax, edx
mov rdi, rcx
dec rax
mov qword [r11 + 0x18], rbp
mov rbp, r9
xor r9d, r9d
lea rax, [rcx + rax*2]
mov qword [rsp + 8], rax
cmp rcx, rax
jae 0x14000b5b9
mov qword [r11 + 0x20], rsi
lea rsi, [0x140000000]
mov qword [r11 + 0x10], rbx
mov qword [r11 - 0x10], r12
mov qword [r11 - 0x18], r13
mov qword [r11 - 0x20], r14
mov qword [r11 - 0x28], r15
mov qword [rsp], r8
test rbp, rbp
je 0x14000b3f2
cmp r8, rbp
jae 0x14000b596
movzx edx, byte [r8]
test dl, dl
je 0x14000b596
mov eax, edx
mov rcx, rbp
shr rax, 3
movsx r9, byte [rax + rsi + 0x49c40]
xor eax, eax
test r9d, r9d
mov ebx, eax
sete bl
add ebx, r9d
test rbp, rbp
jne 0x14000b428
movsxd rcx, ebx
add rcx, r8
cmp r8, rcx
mov r14d, edx
cmovae r14d, eax
lea rax, [r8 + 1]
cmp rax, rcx
jae 0x14000b441
movzx r13d, byte [rax]
jmp 0x14000b444
xor r13b, r13b
lea rax, [r8 + 2]
cmp rax, rcx
jae 0x14000b453
movzx r12d, byte [rax]
jmp 0x14000b456
xor r12b, r12b
lea rax, [r8 + 3]
cmp rax, rcx
jae 0x14000b465
movzx r15d, byte [rax]
jmp 0x14000b468
xor r15b, r15b
lea r10, [r9*4]
movzx eax, r14b
mov esi, dword [r10 + rsi + 0x49c60]
and esi, eax
movzx r9d, r13b
shl esi, 6
mov eax, r9d
and eax, 0x3f
movzx edx, r12b
or esi, eax
movzx r11d, r15b
shl esi, 6
and r9d, 0xc0
mov eax, edx
and edx, 0xc0
and eax, 0x3f
or esi, eax
mov eax, r11d
shr r11d, 2
and eax, 0x3f
or r11d, edx
shl esi, 6
or esi, eax
shr r11d, 2
or r11d, r9d
lea rax, [0x140000000]
mov ecx, dword [r10 + rax + 0x49c90]
shr r11d, 2
shr esi, cl
mov ecx, pe_nt_image_headers64
cmp esi, dword [r10 + rax + 0x49c78]
sbb eax, eax
xor r9d, r9d
and eax, 0x40
mov edx, r9d
or r11d, eax
mov eax, esi
and eax, 0xfffff800
cmp eax, 0xd800
mov eax, 0x80
cmove edx, eax
mov eax, r9d
or r11d, edx
cmp esi, 0xffff
cmova eax, ecx
lea rcx, [0x140000000]
mov ecx, dword [r10 + rcx + 0x49ca8]
or r11d, eax
xor r11d, 0x2a
sar r11d, cl
test r11d, r11d
je 0x14000b573
test r14b, r14b
mov eax, r9d
mov ecx, r9d
mov esi, 0xfffd
setne cl
test r15b, r15b
setne al
add ecx, eax
mov eax, r9d
test r12b, r12b
setne al
add ecx, eax
mov eax, r9d
test r13b, r13b
setne al
add ecx, eax
cmp ebx, ecx
cmovl ecx, ebx
movsxd r8, ecx
add r8, qword [rsp]
jmp 0x14000b57d
movsxd rax, ebx
add r8, rax
test esi, esi
je 0x14000b596
mov word [rdi], si
add rdi, 2
lea rsi, [0x140000000]
cmp rdi, qword [rsp + 8]
jb 0x14000b3e0
mov rcx, qword [rsp + 0x40]
mov r15, qword [rsp + 0x10]
mov r14, qword [rsp + 0x18]
mov r13, qword [rsp + 0x20]
mov r12, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x48]
mov rax, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x50]
mov word [rdi], r9w
test rax, rax
je 0x14000b5cf
mov qword [rax], r8
sub rdi, rcx
sar rdi, 1
mov eax, edi
add rsp, 0x30
pop rdi
ret
Function at 0x14000d000
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
cmp qword [rcx + 0x3098], 0
lea rbx, [rcx + 0x30a0]
mov rsi, r8
mov rbp, rdx
mov rdi, rcx
je 0x14000d0a7
mov r9d, dword [rbx + 4]
mov qword [rsp + 0x30], r14
xor r14d, r14d
test r9d, r9d
jns 0x14000d05a
mov eax, r9d
mov rcx, rbx
cdq
sub eax, edx
mov edx, r14d
sar eax, 1
add eax, r9d
test eax, eax
cmovg edx, eax
call fcn.140018b50
mov r8, rsi
mov dword [rbx], r14d
mov rdx, rbp
mov rcx, rbx
call fcn.140018660
mov eax, dword [rbx]
mov edx, 1
mov r9, qword [rdi + 0x3098]
test eax, eax
lea ecx, [rax - 1]
mov rax, qword [rdi + 0x30a8]
cmove ecx, r14d
test rax, rax
movsxd r8, ecx
lea rcx, [0x14007e328]
cmovne rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov r14, qword [rsp + 0x30]
jmp 0x14000d0af
mov rcx, rbx
call fcn.140018660
mov rbx, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret

Function at 0x1400121a0
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rax, qword [0x14007e320]
lea r10, [0x140049700]
mov r8d, ecx
mov rbx, qword [rax + 0x1c10]
add rbx, 0xc8
movsxd r9, dword [rbx]
mov rax, qword [rbx + 8]
mov edi, dword [rax + r9*4 - 4]
not edi
movzx eax, r8b
movzx ecx, dil
xor rcx, rax
shr edi, 8
mov eax, r8d
shr eax, 8
movzx edx, al
mov eax, r8d
xor edi, dword [r10 + rcx*4]
movzx ecx, dil
xor rdx, rcx
shr edi, 8
shr eax, 0x10
xor edi, dword [r10 + rdx*4]
movzx ecx, dil
shr edi, 8
movzx edx, al
mov eax, r8d
mov r8d, dword [rbx + 4]
xor rdx, rcx
shr rax, 0x18
xor edi, dword [r10 + rdx*4]
movzx ecx, dil
shr edi, 8
xor rcx, rax
xor edi, dword [r10 + rcx*4]
not edi
cmp r9d, r8d
jne 0x140012261
lea ecx, [r9 + 1]
test r8d, r8d
je 0x14001224d
mov eax, r8d
cdq
sub eax, edx
sar eax, 1
add eax, r8d
jmp 0x140012252
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
mov edx, ecx
mov rcx, rbx
call fcn.140018c90
movsxd rcx, dword [rbx]
mov rax, qword [rbx + 8]
mov dword [rax + rcx*4], edi
inc dword [rbx]
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret

Function at 0x140014ee0
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [0x14007e320]
mov rbx, rcx
xor ecx, ecx
mov dword [rax + 0x3034], ecx
test rbx, rbx
je 0x140014f4f
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x30]
mov qword [rsp + 0x38], rdi
call fcn.140014f60
lea rdx, [0x140049e38]
mov rcx, rbx
mov rdi, rax
call fcn.14000ab20
mov rbx, rax
test rax, rax
je 0x140014f4a
mov r8, qword [rsp + 0x30]
mov r9, rax
mov edx, 1
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rdi, qword [rsp + 0x38]
add rsp, 0x20
pop rbx
ret
Function at 0x1400173c0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rsi
sub rsp, 0x20
mov rbx, qword [0x14007e320]
cmp byte [rbx + 0x3031], 0
jne 0x14001751b
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x140017514
lea rdx, [0x140049e34]
mov qword [rsp + 0x38], rdi
call fcn.14000ab20
mov rdi, rax
test rax, rax
je 0x14001750f
mov qword [rsp + 0x40], r14
mov rcx, rax
mov qword [rsp + 0x30], rbp
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
mov r14d, eax
cmp eax, 0xffffffff
je 0x1400174fc
xor edx, edx
mov r8d, 2
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x1400174fc
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
movsxd rbp, eax
cmp ebp, 0xffffffff
je 0x1400174fc
xor r8d, r8d
mov edx, r14d
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test eax, eax
jne 0x1400174fc
mov r14, rbp
cmp rbp, 0xffffffffffffffff
je 0x1400174fc
mov rax, qword [0x14007e320]
test rax, rax
je 0x14001748b
inc dword [rax + 0x3b4]
mov rdx, qword [0x14007e330]
mov rcx, r14
call qword [section..data]
mov rbp, rax
test rax, rax
je 0x1400174fc
mov r9, rdi
mov r8, r14
mov edx, 1
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
mov rcx, rdi
cmp rax, r14
je 0x1400174c7
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
jmp 0x1400174d8
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rdx, r14
mov rcx, rbp
call fcn.14000ca40
mov rax, qword [0x14007e320]
test rax, rax
je 0x1400174ea
dec dword [rax + 0x3b4]
mov rdx, qword [0x14007e330]
mov rcx, rbp
call qword [0x140057008]
jmp 0x140017505
mov rcx, rdi
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov rbp, qword [rsp + 0x30]
mov r14, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x38]
mov byte [rbx + 0x3031], 1
movss xmm0, dword [rbx + 0x3034]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x14001755e
subss xmm0, dword [rbx + 0x18]
comiss xmm1, xmm0
movss dword [rbx + 0x3034], xmm0
jb 0x14001755e
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x14001754d
call fcn.140014ee0
jmp 0x140017554
mov byte [rbx + 0x39c], 1
mov dword [rbx + 0x3034], 0
mov rbx, qword [rsp + 0x48]
add rsp, 0x20
pop rsi
ret
Function at 0x14002a640
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x50
mov rax, qword [0x14007e1c0]
xor rax, rsp
mov qword [rsp + 0x48], rax
call fcn.14000a390
mov rcx, qword [0x14007e398]
lea rdx, [rsp + 0x28]
xorps xmm0, xmm0
mov rdi, rax
movdqu xmmword [rsp + 0x28], xmm0
call qword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [rsp + 0x30]
sub ecx, dword [rsp + 0x28]
movd xmm1, ecx
mov ecx, dword [rsp + 0x34]
sub ecx, dword [rsp + 0x2c]
cvtdq2ps xmm1, xmm1
movd xmm0, ecx
lea rcx, [rsp + 0x40]
cvtdq2ps xmm0, xmm0
movss dword [rdi + 8], xmm1
movss dword [rdi + 0xc], xmm0
mov qword [rsp + 0x40], 0
call qword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov rax, qword [rsp + 0x40]
xorps xmm1, xmm1
sub rax, qword [0x14007e3a0]
xorps xmm0, xmm0
cvtsi2ss xmm0, qword [0x14007e3a8]
mov ecx, 0x11
cvtsi2ss xmm1, rax
divss xmm1, xmm0
movss dword [rdi + 0x10], xmm1
mov rax, qword [rsp + 0x40]
mov qword [0x14007e3a0], rax
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
mov ecx, 0x10
and al, 1
mov byte [rdi + 0x138], al
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
mov ecx, 0x12
and al, 1
mov byte [rdi + 0x139], al
call qword [sym.imp.USER32.dll_GetKeyState]
shr eax, 0xf
and al, 1
mov byte [rdi + 0x13b], 0
mov byte [rdi + 0x13a], al
call fcn.14000a390
mov rbx, rax
cmp byte [rax + 0x393], 0
je 0x14002a783
cvttss2si ecx, dword [rax + 0x120]
lea rdx, [rsp + 0x38]
mov dword [rsp + 0x38], ecx
cvttss2si ecx, dword [rax + 0x124]
mov dword [rsp + 0x3c], ecx
mov rcx, qword [0x14007e398]
call qword [sym.imp.USER32.dll_ClientToScreen]
test eax, eax
je 0x14002a783
mov edx, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x38]
call qword [sym.imp.USER32.dll_SetCursorPos]
mov dword [rbx + 0x120], 0xff7fffff
mov dword [rbx + 0x124], 0xff7fffff
call qword [sym.imp.USER32.dll_GetActiveWindow]
cmp rax, qword [0x14007e398]
jne 0x14002a7ed
lea rcx, [rsp + 0x20]
call qword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x14002a7ed
mov rcx, qword [0x14007e398]
lea rdx, [rsp + 0x20]
call qword [sym.imp.USER32.dll_ScreenToClient]
test eax, eax
je 0x14002a7ed
movd xmm0, dword [rsp + 0x20]
movd xmm1, dword [rsp + 0x24]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
movss dword [rbx + 0x120], xmm0
movss dword [rbx + 0x124], xmm1
cmp byte [rdi + 0xc0], 0
je 0x14002a7fd
mov eax, 0xffffffff
jmp 0x14002a802
call fcn.14000a3a0
cmp dword [0x1400571c0], eax
je 0x14002a815
mov dword [0x1400571c0], eax
call fcn.14002aba0
call fcn.14002a8a0
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.140046f20
mov rbx, qword [rsp + 0x60]
add rsp, 0x50
pop rdi
ret
Function at 0x14002bb50
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub rsp, 0x38
mov rax, qword [0x14007e320]
mov rcx, qword [rax + 0x1ff0]
mov r10, qword [rax + 0x1c10]
movsxd rax, dword [rcx + 0x7c]
movups xmm0, xmmword [rcx + 0x174]
movss xmm4, dword [rcx + 0x174]
movss xmm3, dword [rcx + 0x178]
movss xmm2, dword [rcx + 0x17c]
movss xmm1, dword [rcx + 0x180]
movss dword [rsp + 0x20], xmm4
movss dword [rsp + 0x24], xmm3
movss dword [rsp + 0x28], xmm2
movss dword [rsp + 0x2c], xmm1
imul r9, rax, 0x68
mov rax, qword [r10 + 0x2b0]
add r9, qword [rcx + 0x18]
movups xmmword [r10 + 0x250], xmm0
movss dword [rax + 0x88], xmm4
movss dword [rax + 0x8c], xmm3
movss dword [rax + 0x90], xmm2
movss dword [rax + 0x94], xmm1
mov rax, qword [r10 + 0x2b0]
movups xmm0, xmmword [rsp + 0x20]
movsxd r8, dword [rax + 0x58]
mov rdx, qword [rax + 0x60]
add r8, r8
movups xmmword [rdx + r8*8 - 0x10], xmm0
movzx r8d, byte [r9 + 0x57]
mov rdx, qword [r10 + 0x2b0]
mov rcx, qword [rcx + 0x1a8]
add rsp, 0x38
jmp 0x1400212c0

Function at 0x14002bc20
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub rsp, 0x38
mov rax, qword [0x14007e320]
mov rcx, qword [rax + 0x1ff0]
mov r9, qword [rax + 0x1c10]
movups xmm0, xmmword [r9 + 0x250]
movups xmmword [rcx + 0x174], xmm0
mov rax, qword [r9 + 0x2b0]
movups xmm0, xmmword [rcx + 0x154]
movss xmm4, dword [rcx + 0x154]
movss xmm3, dword [rcx + 0x158]
movss xmm2, dword [rcx + 0x15c]
movss xmm1, dword [rcx + 0x160]
movups xmmword [r9 + 0x250], xmm0
movss dword [rsp + 0x20], xmm4
movss dword [rsp + 0x24], xmm3
movss dword [rsp + 0x28], xmm2
movss dword [rsp + 0x2c], xmm1
movss dword [rax + 0x88], xmm4
movss dword [rax + 0x8c], xmm3
movss dword [rax + 0x90], xmm2
movss dword [rax + 0x94], xmm1
mov rax, qword [r9 + 0x2b0]
movups xmm0, xmmword [rsp + 0x20]
movsxd r8, dword [rax + 0x58]
mov rdx, qword [rax + 0x60]
add r8, r8
movups xmmword [rdx + r8*8 - 0x10], xmm0
movzx r8d, byte [rcx + 0x1d7]
mov rcx, qword [rcx + 0x1a8]
mov rdx, qword [r9 + 0x2b0]
add rsp, 0x38
jmp 0x1400212c0
Function at 0x14002e670
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbx
sub rsp, 0x90
mov rax, qword [0x14007e1c0]
xor rax, rsp
mov qword [rsp + 0x80], rax
movzx eax, byte [rcx]
mov ebx, edx
mov r8, rcx
test al, al
je 0x14002e6b0
cmp al, 0x25
jne 0x14002e6a4
cmp byte [r8 + 1], al
jne 0x14002e6b0
inc r8
movzx eax, byte [r8 + 1]
inc r8
test al, al
jne 0x14002e697
movzx edx, byte [r8]
cmp dl, 0x25
jne 0x14002e80e
cmp byte [r8 + 1], dl
je 0x14002e80e
lea r11, [rsp + 0x20]
mov r9, r8
nop
lea eax, [rdx - 0x41]
movsx r10d, dl
cmp al, 0x19
ja 0x14002e6ed
lea ecx, [r10 - 0x41]
mov eax, 1
shl eax, cl
test eax, 0x900
je 0x14002e715
sub dl, 0x61
cmp dl, 0x19
ja 0x14002e707
lea ecx, [r10 - 0x61]
mov eax, 1
shl eax, cl
test eax, 0x2480a80
je 0x14002e715
movzx edx, byte [r9 + 1]
inc r9
test dl, dl
jne 0x14002e6d0
jmp 0x14002e718
inc r9
cmp r8, r9
jae 0x14002e74f
movabs rdx, 0x800000000000009
nop word [rax + rax]
movzx ecx, byte [r8]
inc r8
lea eax, [rcx - 0x24]
cmp al, 0x3b
ja 0x14002e744
bt rdx, rax
jb 0x14002e74a
mov byte [r11], cl
inc r11
cmp r8, r9
jb 0x14002e730
xorps xmm3, xmm3
mov byte [r11], 0
cvtss2sd xmm3, xmm2
lea r8, [rsp + 0x20]
mov edx, 0x40
lea rcx, [rsp + 0x40]
movq r9, xmm3
call fcn.14000ac70
cmp byte [rsp + 0x40], 0x20
lea rcx, [rsp + 0x40]
jne 0x14002e788
nop
inc rcx
cmp byte [rcx], 0x20
je 0x14002e780
lea eax, [rbx - 8]
cmp eax, 1
jbe 0x14002e7fc
movzx r8d, byte [rcx]
movzx eax, r8b
cmp r8b, 0x2d
jne 0x14002e7a8
lea rax, [rcx + 1]
mov rcx, rax
movzx eax, byte [rax]
cmp al, 0x2b
lea rdx, [rcx + 1]
xorps xmm1, xmm1
cmovne rdx, rcx
movzx eax, byte [rdx]
cmp al, 0x30
jl 0x14002e7ea
movss xmm2, dword [0x140049f40]
cmp al, 0x39
ja 0x14002e7ea
movsx eax, byte [rdx]
inc rdx
sub eax, 0x30
mulss xmm1, xmm2
movd xmm0, eax
movzx eax, byte [rdx]
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
movaps xmm1, xmm0
cmp al, 0x30
jge 0x14002e7c4
cmp r8b, 0x2d
jne 0x14002e809
xorps xmm1, xmmword [0x140049fb0]
movaps xmm0, xmm1
jmp 0x14002e811
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atof]
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm1
jmp 0x14002e811
movaps xmm0, xmm2
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.140046f20
add rsp, 0x90
pop rbx
ret
Function at 0x14002e830
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbx
sub rsp, 0x90
mov rax, qword [0x14007e1c0]
xor rax, rsp
mov qword [rsp + 0x80], rax
movzx eax, byte [rcx]
mov ebx, edx
mov r8, rcx
test al, al
je 0x14002e870
cmp al, 0x25
jne 0x14002e864
cmp byte [r8 + 1], al
jne 0x14002e870
inc r8
movzx eax, byte [r8 + 1]
inc r8
test al, al
jne 0x14002e857
movzx edx, byte [r8]
cmp dl, 0x25
jne 0x14002e9c8
cmp byte [r8 + 1], dl
je 0x14002e9c8
lea r11, [rsp + 0x20]
mov r9, r8
nop
lea eax, [rdx - 0x41]
movsx r10d, dl
cmp al, 0x19
ja 0x14002e8ad
lea ecx, [r10 - 0x41]
mov eax, 1
shl eax, cl
test eax, 0x900
je 0x14002e8d5
sub dl, 0x61
cmp dl, 0x19
ja 0x14002e8c7
lea ecx, [r10 - 0x61]
mov eax, 1
shl eax, cl
test eax, 0x2480a80
je 0x14002e8d5
movzx edx, byte [r9 + 1]
inc r9
test dl, dl
jne 0x14002e890
jmp 0x14002e8d8
inc r9
cmp r8, r9
jae 0x14002e90f
movabs rdx, 0x800000000000009
nop word [rax + rax]
movzx ecx, byte [r8]
inc r8
lea eax, [rcx - 0x24]
cmp al, 0x3b
ja 0x14002e904
bt rdx, rax
jb 0x14002e90a
mov byte [r11], cl
inc r11
cmp r8, r9
jb 0x14002e8f0
movaps xmm3, xmm2
mov byte [r11], 0
movq r9, xmm2
lea r8, [rsp + 0x20]
mov edx, 0x40
lea rcx, [rsp + 0x40]
call fcn.14000ac70
cmp byte [rsp + 0x40], 0x20
lea rcx, [rsp + 0x40]
jne 0x14002e948
nop dword [rax + rax]
inc rcx
cmp byte [rcx], 0x20
je 0x14002e940
lea eax, [rbx - 8]
cmp eax, 1
jbe 0x14002e9ba
movzx r8d, byte [rcx]
movzx eax, r8b
cmp r8b, 0x2d
jne 0x14002e968
lea rax, [rcx + 1]
mov rcx, rax
movzx eax, byte [rax]
cmp al, 0x2b
lea rdx, [rcx + 1]
xorps xmm1, xmm1
cmovne rdx, rcx
movzx eax, byte [rdx]
cmp al, 0x30
jl 0x14002e9a8
movsd xmm2, qword [0x14004e548]
cmp al, 0x39
ja 0x14002e9a8
movsx eax, byte [rdx]
inc rdx
sub eax, 0x30
mulsd xmm1, xmm2
movd xmm0, eax
movzx eax, byte [rdx]
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
cmp al, 0x30
jge 0x14002e984
cmp r8b, 0x2d
jne 0x14002e9c3
xorps xmm1, xmmword [0x14004e5d0]
movaps xmm0, xmm1
jmp 0x14002e9cb
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atof]
movaps xmm1, xmm0
movaps xmm0, xmm1
jmp 0x14002e9cb
movaps xmm0, xmm2
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.140046f20
add rsp, 0x90
pop rbx
ret
Function at 0x140047c4c
Capabilities:
Parse pe header

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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
push r15
sub rsp, 0xb0
xor r14d, r14d
mov dword [rsp + 0x20], r14d
lea rcx, [rax - 0x78]
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetStartupInfoW]
nop
mov rax, qword gs:[0x30]
mov rbx, qword [rax + 8]
mov esi, r14d
xor eax, eax
lock cmpxchg qword [0x140016c60], rbx
je 0x14000d977
cmp rax, rbx
jne 0x14000d96a
mov ebx, 1
mov esi, ebx
jmp 0x14000d97c
mov ecx, 0x3e8
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
jmp 0x14000d94f
mov ebx, 1
mov eax, dword [0x140016c68]
cmp eax, ebx
jne 0x14000d994
mov edi, 0x1f
mov ecx, edi
call sub.msvcrt.dll__amsg_exit
jmp 0x14000da00
mov eax, dword [0x140016c68]
test eax, eax
jne 0x14000d9f5
mov dword [0x140016c68], ebx
lea r15, [0x140010bb8]
lea rdi, [0x140010ba0]
mov qword [rsp + 0x30], rdi
mov eax, r14d
mov dword [rsp + 0x24], eax
cmp rdi, r15
jae 0x14000d9e7
test eax, eax
jne 0x14000d9eb
cmp qword [rdi], r14
je 0x14000d9dc
mov rax, qword [rdi]
mov rcx, qword [0x140010b58]
call rcx
mov dword [rsp + 0x24], eax
add rdi, 8
mov qword [rsp + 0x30], rdi
jmp 0x14000d9be
test eax, eax
je 0x14000d9fb
mov eax, 0xff
jmp 0x14000db56
mov dword [0x1400163e4], ebx
mov edi, 0x1f
mov eax, dword [0x140016c68]
cmp eax, ebx
jne 0x14000da27
lea rdx, [0x140010b98]
lea rcx, [0x140010b60]
call sub.msvcrt.dll__initterm
mov dword [0x140016c68], 2
test esi, esi
jne 0x14000da35
mov rax, r14
xchg qword [0x140016c60], rax
cmp qword [0x140016c80], r14
je 0x14000da68
lea rcx, [0x140016c80]
call fcn.14000dfd0
test eax, eax
je 0x14000da68
xor r8d, r8d
lea edx, [r8 + 2]
xor ecx, ecx
mov rax, qword [0x140016c80]
mov r9, qword [0x140010b58]
call r9
mov rax, qword [sym.imp.msvcrt.dll__wcmdln]
mov rcx, qword [rax]
test rcx, rcx
jne 0x14000da81
mov eax, 0xff
jmp 0x14000db56
mov qword [rsp + 0x28], rcx
mov edx, dword [rsp + 0x20]
movzx eax, word [rcx]
cmp ax, 0x20
ja 0x14000db07
test ax, ax
je 0x14000da9c
test edx, edx
jne 0x14000db07
sub ax, bx
cmp ax, di
ja 0x14000dab2
add rcx, 2
mov qword [rsp + 0x28], rcx
movzx eax, word [rcx]
jmp 0x14000da9c
test byte [rsp + 0x7c], bl
movzx eax, word [rsp + 0x80]
mov r9d, 0xa
cmovne r9d, eax
mov r8, rcx
xor edx, edx
lea rcx, [0x140000000]
call fcn.1400019fc
mov dword [0x1400163e0], eax
cmp dword [0x140016400], r14d
jne 0x14000daf0
mov ecx, eax
call qword [sym.imp.msvcrt.dll_exit]
cmp dword [0x1400163e4], r14d
jne 0x14000db05
call qword [sym.imp.msvcrt.dll__cexit]
mov eax, dword [0x1400163e0]
jmp 0x14000db56
cmp ax, 0x22
jne 0x14000db1b
mov eax, r14d
test edx, edx
sete al
mov edx, eax
mov dword [rsp + 0x20], eax
add rcx, 2
mov qword [rsp + 0x28], rcx
jmp 0x14000da8a
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop r15
ret
sub rsp, 0x28
call fcn.140165000
add rsp, 0x28
jmp 0x14000d910
Function at 0x1409b0ed0
Capabilities:
Terminate process

Disassembly:
cld
pop r11
jmp 0x1409b0edd
inc rsi
mov byte [rdi], dl
inc rdi
mov dl, byte [rsi]
add ebx, ebx
jne 0x1409b0eed
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jb 0x1409b0ed5
lea eax, [rcx + 1]
jmp 0x1409b0efb
dec eax
call r11
adc eax, eax
call r11
adc eax, eax
add ebx, ebx
jne 0x1409b0f0e
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
mov dl, byte [rsi]
jae 0x1409b0ef4
sub eax, 3
jb 0x1409b0f2e
shl eax, 8
movzx edx, dl
or eax, edx
inc rsi
xor eax, 0xffffffff
je 0x1409b0f7d
sar eax, 1
movsxd rbp, eax
jb 0x1409b0f64
jmp 0x1409b0f3c
add ebx, ebx
jne 0x1409b0f3a
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x1409b0f64
inc ecx
add ebx, ebx
jne 0x1409b0f4a
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jb 0x1409b0f64
call r11
adc ecx, ecx
add ebx, ebx
jne 0x1409b0f5d
mov ebx, dword [rsi]
sub rsi, 0xfffffffffffffffc
adc ebx, ebx
jae 0x1409b0f4c
add ecx, 2
jmp 0x1409b0f69
call r11
adc ecx, ecx
cmp rbp, 0xfffffffffffffb00
adc ecx, 2
call fcn.1409b0e92
jmp 0x1409b0edd
pop rsi
sub rsp, 0x28
lea rdi, [rsi + 0x9ac000]
mov eax, dword [rdi]
or eax, eax
je 0x1409b0fd9
mov ebx, dword [rdi + 4]
lea rcx, [rax + rsi + 0x9b1000]
add rbx, rsi
add rdi, 8
call qword [sym.imp.KERNEL32.DLL_LoadLibraryA]
xchg rbp, rax
mov al, byte [rdi]
inc rdi
or al, al
je 0x1409b0f89
mov rcx, rdi
mov rdx, rdi
dec eax
repne scasb al, byte [rdi]
mov rcx, rbp
call qword [sym.imp.KERNEL32.DLL_GetProcAddress]
or rax, rax
je 0x1409b0fd3
mov qword [rbx], rax
add rbx, 8
jmp 0x1409b0fa9
jmp qword [sym.imp.KERNEL32.DLL_ExitProcess]
add rsp, 0x28
add rdi, 4
lea rbx, [rsi - 4]
xor eax, eax
mov al, byte [rdi]
inc rdi
or eax, eax
je 0x1409b101d
cmp al, 0xef
ja 0x1409b1005
add rbx, rax
mov rax, qword [rbx]
bswap rax
add rax, rsi
mov qword [rbx], rax
jmp 0x1409b0fe5
and al, 0xf
shl eax, 0x10
mov ax, word [rdi]
add rdi, 2
or eax, eax
jne 0x1409b0ff4
mov eax, dword [rdi]
add rdi, 4
jmp 0x1409b0ff4
mov rbp, qword [sym.imp.KERNEL32.DLL_VirtualProtect]
lea rdi, [rsi - 0x1000]
mov ebx, 0x1000
push rax
mov r9, rsp
mov r8d, 4
mov rdx, rbx
mov rcx, rdi
sub rsp, 0x20
call rbp
lea rax, [rdi + 0x23f]
and byte [rax], 0x7f
and byte [rax + 0x28], 0x7f
lea r9, [rsp + 0x20]
mov r8, qword [r9]
mov rdx, rbx
mov rcx, rdi
call rbp
add rsp, 0x28
pop rbp
pop rdi
pop rsi
pop rbx
lea rax, [rsp - 0x80]
push 0
cmp rsp, rax
jne 0x1409b1071
sub rsp, 0xffffffffffffff80
jmp 0x14053d274