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

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x20
mov rbx, rdx
mov r14, r9
sub rdx, rcx
mov edi, r8d
sub rdx, 0x40
mov rbp, rcx
sar rdx, 2
call fcn.1400abad0
test rax, rax
jne 0x1400ac692
lea rsi, [rbp + 0x40]
lea r15, [0x1401c3c40]
sub rbx, 4
cmp rbx, rsi
jbe 0x1400ac65b
mov eax, dword [rbx]
movzx edx, al
mov ecx, eax
shr ecx, 8
movzx r8d, cl
movzx ecx, word [r15 + rdx*2]
and cx, 7
cmp cx, 2
jne 0x1400ac65f
cmp edi, r8d
jb 0x1400ac624
cmp edx, 0x2a
jne 0x1400ac65b
shr eax, 0x10
cmp edi, eax
ja 0x1400ac624
xor eax, eax
jmp 0x1400ac69c
cmp cx, 1
jne 0x1400ac624
cmp r8d, edi
jne 0x1400ac624
cmp edx, 0x10
jne 0x1400ac6b5
mov edi, eax
mov rdx, rbx
sub rdx, rbp
shr edi, 0x10
sub rdx, 0x40
mov r8d, edi
sar rdx, 2
mov rcx, rbp
call fcn.1400abad0
test rax, rax
je 0x1400ac624
mov qword [r14], rax
lea rax, str.local
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop r14
pop rdi
ret
cmp edx, 0x2b
je 0x1400ac73e
cmp edx, 0x34
je 0x1400ac71b
cmp edx, 0x37
jne 0x1400ac65b
mov ecx, eax
shr rcx, 0x10
movzx edx, cl
mov ecx, dword [rbp + 0x10]
not rdx
mov edx, dword [rcx + rdx*4]
add rdx, 0x10
mov qword [r14], rdx
mov r9d, dword [rbx - 4]
cmp r9b, 0x10
jne 0x1400ac712
mov ecx, r9d
shr ecx, 8
movzx edx, cl
lea ecx, [r8 + 1]
cmp edx, ecx
jne 0x1400ac712
shr eax, 8
xor eax, r9d
test eax, 0xffff0000
jne 0x1400ac712
lea rax, str.method
jmp 0x1400ac69c
lea rax, str.field
jmp 0x1400ac69c
mov rcx, rax
mov eax, dword [rbp + 0x10]
shr rcx, 0x10
not rcx
mov ecx, dword [rax + rcx*4]
lea rax, str.global
add rcx, 0x10
mov qword [r14], rcx
jmp 0x1400ac69c
mov edx, dword [rbp + 0x38]
shr eax, 0x10
test edx, edx
jne 0x1400ac75e
lea rdx, [0x1401e64d7]
mov qword [r14], rdx
lea rax, str.upvalue
jmp 0x1400ac69c
test eax, eax
je 0x1400ac771
movzx ecx, byte [rdx]
inc rdx
test cl, cl
jne 0x1400ac762
add eax, 0xffffffff
jne 0x1400ac762
mov qword [r14], rdx
lea rax, str.upvalue
jmp 0x1400ac69c
Function at 0x1400ae090
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
mov esi, r9d
mov r14, rcx
test r9b, 1
jne 0x1400ae1bc
cmp rdx, r8
je 0x1400ae1bc
mov eax, dword [rdx]
xor r10d, r10d
mov rdi, qword [r14]
xor r11d, r11d
movzx edx, ax
shl rdx, 4
add rdx, rdi
mov ebx, dword [rdx]
mov r9d, ebx
mov ecx, ebx
shr r9d, 0x1c
cmp r9d, 8
jne 0x1400ae0f5
mov eax, ecx
shr eax, 0x10
cmp al, 1
jne 0x1400ae0fb
or r10d, dword [rdx + 4]
movzx edx, cx
jmp 0x1400ae0cb
cmp r9d, 5
jne 0x1400ae100
movzx edx, cx
jmp 0x1400ae0cb
and ecx, 0x3000000
or r10d, ecx
mov ecx, dword [r8]
mov eax, ecx
and eax, 0xf0000000
cmp eax, 0x10000000
je 0x1400ae14f
movzx r8d, cx
shl r8, 4
add r8, rdi
mov ecx, dword [r8]
mov eax, ecx
shr eax, 0x1c
cmp eax, 8
jne 0x1400ae141
mov eax, ecx
shr eax, 0x10
cmp al, 1
jne 0x1400ae11a
or r11d, dword [r8 + 4]
jmp 0x1400ae11a
cmp eax, 5
je 0x1400ae11a
and ecx, 0x3000000
or r11d, ecx
test sil, 4
je 0x1400ae160
cmp r10d, r11d
jne 0x1400ae1eb
jmp 0x1400ae186
test sil, 8
jne 0x1400ae186
mov eax, r11d
and eax, r10d
cmp eax, r11d
jne 0x1400ae1eb
cmp r9d, 4
je 0x1400ae1bc
mov eax, dword [r8]
and eax, 0xf0000000
cmp eax, 0x40000000
je 0x1400ae1bc
mov ecx, dword [r8]
mov eax, ecx
shr eax, 0x1c
cmp r9d, eax
jne 0x1400ae1eb
mov eax, dword [r8 + 4]
cmp dword [rdx + 4], eax
jne 0x1400ae1eb
test r9d, r9d
je 0x1400ae1e1
and ebx, 0xe0000000
cmp ebx, 0x20000000
jne 0x1400ae1d6
or esi, 4
test sil, 1
je 0x1400ae0b4
mov eax, 1
mov rbx, qword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rdi, qword [rsp + 0x18]
mov r14, qword [rsp + 0x20]
ret
cmp r9d, 1
jne 0x1400ae1bc
cmp rdx, r8
jmp 0x1400ae1e9
xor ecx, ebx
test ecx, 0xc000000
je 0x1400ae1bc
xor eax, eax
jmp 0x1400ae1c1
Function at 0x1400b3460
Capabilities:
Parse credit card information

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
inc dword [rcx + 0x5c]
mov esi, r8d
cmp dword [rcx + 0x5c], 0x14
mov rdi, rdx
mov rbx, rcx
jg 0x1400b34b1
call fcn.1400b3030
mov rdx, rdi
mov rcx, rbx
call fcn.1400b2e20
dec dword [rbx + 0x5c]
mov r8d, esi
mov rdx, rdi
mov rcx, rbx
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp fcn.1400b2130
mov edx, 0x93f
call fcn.1400b1f70
int3
Function at 0x1400d4510
Capabilities:
Allocate or change rwx memory

Disassembly:
push rdi
sub rsp, 0x20
mov r10, rdx
mov rdi, rcx
test r8d, r8d
je 0x1400c37b8
mov rcx, qword [rcx + 0x970]
cmp rcx, rdx
jne 0x1400c378c
cmp dword [rdi + 0x96c], 0x20
je 0x1400c37b0
mov rdx, qword [rdi + 0x988]
lea r9, [rsp + 0x40]
mov r8d, 0x20
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x1400c377a
mov rcx, rdi
call fcn.1400c3a60
mov dword [rdi + 0x96c], 0x20
xor eax, eax
add rsp, 0x20
pop rdi
ret
mov rdx, qword [rdx + 8]
lea r9, [rsp + 0x40]
mov r8d, 0x20
mov rcx, r10
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x1400c37b0
mov rcx, rdi
call fcn.1400c3a60
xor eax, eax
add rsp, 0x20
pop rdi
ret
mov qword [rsp + 0x30], rbx
mov rbx, qword [rcx + 0x970]
cmp r10, rbx
jb 0x1400c3820
mov rdx, qword [rcx + 0x988]
lea rax, [rdx + rbx]
cmp r10, rax
jae 0x1400c3820
cmp dword [rcx + 0x96c], 4
je 0x1400c3855
lea r9, [rsp + 0x40]
mov r8d, 4
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x1400c3802
mov rcx, rdi
call fcn.1400c3a60
mov rax, rbx
mov dword [rdi + 0x96c], 4
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov rbx, qword [rbx]
cmp r10, rbx
jb 0x1400c3820
mov rdx, qword [rbx + 8]
lea rax, [rdx + rbx]
cmp r10, rax
jae 0x1400c3820
lea r9, [rsp + 0x40]
mov r8d, 4
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x1400c3855
mov rcx, rdi
call fcn.1400c3a60
mov rax, rbx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
mov rbx, qword [rdx + 0x40]
mov r15, rdx
mov edi, r8d
mov rdx, rbx
xor r8d, r8d
mov r14, r9
mov r12, rcx
call 0x1400c3730
mov r8d, dword [r15 + 0x3c]
lea esi, [r12 - 0xb0]
mov ecx, edi
mov qword [rsp + 0x50], rax
and edi, 0x1f
shr rcx, 5
shl edi, 2
mov r13, rax
mov ebp, edi
lea rdi, [rbx - 6]
add rbp, 0xfffffffffffffffa
add rdi, r8
mov rcx, qword [r12 + rcx*8 + 0x630]
add rbp, rcx
cmp r8d, 5
jbe 0x1400d45b0
lea eax, [r8 - 5]
cmp byte [rax + rbx], 0xe9
jne 0x1400d45b0
movsxd rax, dword [r8 + rbx - 4]
add rax, 0xfffffffffffffffa
add rax, r8
add rax, rbx
cmp rax, rbp
jne 0x1400d45b0
mov eax, r14d
sub eax, ebx
sub eax, r8d
mov dword [r8 + rbx - 4], eax
cmp rbx, rdi
jae 0x1400d461d
cmp dword [rbx + 3], esi
jne 0x1400d45bf
cmp byte [rbx], 0xc7
je 0x1400d45d3
mov rcx, rbx
call fcn.1400d3b80
mov eax, eax
add rbx, rax
cmp rbx, rdi
jb 0x1400d45b5
jmp 0x1400d461d
cmp rbx, rdi
jae 0x1400d461d
mov esi, 0xf0ff
mov r13d, 0x800f
movzx eax, word [rbx]
and ax, si
cmp ax, r13w
jne 0x1400d4606
movsxd rax, dword [rbx + 2]
add rax, rbx
cmp rax, rbp
jne 0x1400d4606
mov eax, r14d
sub eax, ebx
sub eax, 6
mov dword [rbx + 2], eax
mov rcx, rbx
call fcn.1400d3b80
mov eax, eax
add rbx, rax
cmp rbx, rdi
jb 0x1400d45e3
mov r13, qword [rsp + 0x50]
mov rcx, qword [r15 + 0x40]
mov edx, dword [r15 + 0x3c]
add rdx, rcx
call fcn.1400c38f0
mov r8d, 1
mov rdx, r13
mov rcx, r12
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
jmp 0x1400c3730
Function at 0x1400d8cd0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x18], rdi
push r14
sub rsp, 0x20
mov rdi, rcx
lea r14, [0x140000000]
mov ecx, dword [rcx + 0x88]
mov eax, ecx
and eax, 0xfff0000
cmp eax, 0x3ff0000
je 0x1400d8d88
bt ecx, 0x10
jb 0x1400d8d28
movzx eax, byte [rdi + 0x9d]
test byte [rax + r14 + 0x1c3730], 0x60
jne 0x1400d8d28
mov rcx, rdi
mov rdi, qword [rsp + 0x40]
add rsp, 0x20
pop r14
jmp fcn.1400d5e80
mov eax, ecx
and eax, 0xb0000
cmp eax, 0xb0000
je 0x1400d8d64
movzx edx, byte [rdi + 0x9d]
movzx eax, byte [rdx + r14 + 0x1c3730]
and al, 0x60
cmp al, 0x40
jne 0x1400d8d64
cmp dl, 0x45
je 0x1400d8d64
mov rcx, rdi
mov rdi, qword [rsp + 0x40]
add rsp, 0x20
pop r14
jmp fcn.1400b88f0
and ecx, 0x110000
cmp ecx, 0x110000
je 0x1400d8d88
movzx eax, byte [rdi + 0x9d]
movzx eax, byte [rax + r14 + 0x1c3730]
and al, 0x60
cmp al, 0x60
je 0x1400d8d51
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], rsi
nop dword [rax]
nop word [rax + rax]
movzx r8d, byte [rdi + 0x9d]
movzx eax, word [rdi + 0x98]
mov r9d, dword [rdi + 0x18]
shl r8d, 0x11
cmp eax, r9d
jb 0x1400d8ddb
mov ecx, eax
mov rax, qword [rdi + 0x10]
lea rdx, [rax + rcx*8]
movzx eax, byte [rax + rcx*8 + 5]
shl eax, 0xa
add r8d, eax
mov rax, qword [rdx]
mov qword [rdi + 0xa0], rax
movzx eax, word [rdi + 0x9a]
cmp eax, r9d
jb 0x1400d8e01
mov ecx, eax
mov rax, qword [rdi + 0x10]
movzx edx, byte [rax + rcx*8 + 5]
mov rax, qword [rax + rcx*8]
mov qword [rdi + 0xa8], rax
mov eax, edx
jmp 0x1400d8e06
and eax, 0x3ff
lea esi, [rax + r8]
xor ebx, ebx
nop dword [rax]
mov r8d, ebx
mov eax, 0x1e7f0551
and r8d, 0x1ffff
or r8d, esi
mov ecx, r8d
ror ecx, 0xf
sub ecx, r8d
rol ecx, 0x10
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 9
imul eax, eax, 0x393
sub ecx, eax
mov edx, dword [r14 + rcx*4 + 0x1c4660]
mov eax, edx
and eax, 0xffffff
cmp eax, r8d
je 0x1400d8e6e
lea eax, [rcx + 1]
mov edx, dword [r14 + rax*4 + 0x1c4660]
mov eax, edx
and eax, 0xffffff
cmp eax, r8d
jne 0x1400d8e86
mov eax, edx
mov rcx, rdi
shr rax, 0x18
call qword [r14 + rax*8 + 0x1c41f0]
movzx edx, ax
test edx, edx
jne 0x1400d8ea0
cmp ebx, 0xfffff
je 0x1400d8ec3
mov eax, ebx
shr eax, 0xa
or ebx, eax
xor ebx, 0xffc00
jmp 0x1400d8e10
cmp edx, 5
jae 0x1400d8ed9
cmp edx, 1
je 0x1400d8da0
cmp edx, 2
jne 0x1400d8ecd
mov edx, dword [rdi + 0x98]
mov rcx, rdi
call fcn.1400b8de0
jmp 0x1400d8ee7
mov rcx, rdi
call fcn.1400d5e80
jmp 0x1400d8ee7
cmp edx, 3
je 0x1400d8efd
mov eax, 0xffff
jmp 0x1400d8ee7
mov rax, qword [rdi + 0x10]
movzx eax, byte [rax + rdx*8 + 4]
shl eax, 0x18
add eax, edx
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
add rsp, 0x20
pop r14
ret
mov edx, 0x18
mov rcx, rdi
call fcn.1400a60d0
int3
Function at 0x1400d8f10
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push rbx
push rdi
push r14
sub rsp, 0x20
movzx r11d, word [rdx + 2]
mov r14, rcx
movzx r9d, word [r8 + 2]
cmp rdx, r8
je 0x1400d9063
mov r10, qword [rcx + 0x10]
cmp byte [r10 + r11*8 + 5], 0x1d
lea rbx, [r10 + r11*8]
jne 0x1400d8f47
movzx r11d, word [rbx]
lea rbx, [r10 + r11*8]
cmp byte [r10 + r9*8 + 5], 0x1d
lea rcx, [r10 + r9*8]
jne 0x1400d8f5b
movzx r9d, word [rcx]
lea rcx, [r10 + r9*8]
movzx edi, byte [rdx + 5]
lea eax, [rdi - 0x38]
cmp al, 1
jbe 0x1400d8f6b
movzx eax, word [rdx]
jmp 0x1400d8f73
movzx eax, word [rdx]
movzx eax, word [r10 + rax*8]
movzx edx, ax
movzx eax, byte [r8 + 5]
sub al, 0x38
cmp al, 1
jbe 0x1400d8f87
movzx eax, word [r8]
jmp 0x1400d8f90
movzx eax, word [r8]
movzx eax, word [r10 + rax*8]
movzx r8d, ax
cmp r11d, r9d
jne 0x1400d8fb2
cmp edx, r8d
je 0x1400d9063
mov rcx, r14
add rsp, 0x20
pop r14
pop rdi
pop rbx
jmp fcn.1400d9110
mov qword [rsp + 0x40], rbp
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], r15
mov r15d, 0x8000
cmp r11d, r15d
jae 0x1400d8fd1
cmp r9d, r15d
jb 0x1400d9033
cmp dil, 0x38
jne 0x1400d9028
xor esi, esi
mov ebp, r11d
cmp byte [rbx + 5], 0x28
mov edi, esi
jne 0x1400d8ffe
movzx eax, word [rbx + 2]
cmp ax, r15w
jae 0x1400d8ffe
movzx ebp, word [rbx]
mov esi, dword [r10 + rax*8]
cmp ebp, r9d
jne 0x1400d8ffe
test esi, esi
jne 0x1400d9033
cmp byte [rcx + 5], 0x28
jne 0x1400d901f
movzx eax, word [rcx + 2]
cmp ax, r15w
jae 0x1400d901f
movzx r9d, word [rcx]
mov edi, dword [r10 + rax*8]
cmp r11d, r9d
jne 0x1400d901f
test edi, edi
jne 0x1400d9033
cmp ebp, r9d
jne 0x1400d904d
cmp esi, edi
jmp 0x1400d9031
movzx eax, byte [rcx + 4]
xor al, byte [rbx + 4]
test al, 0x1f
je 0x1400d904d
xor eax, eax
mov rsi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x40]
mov r15, qword [rsp + 0x50]
add rsp, 0x20
pop r14
pop rdi
pop rbx
ret
cmp edx, r8d
jne 0x1400d9059
mov eax, 1
jmp 0x1400d9035
mov rcx, r14
call fcn.1400d9110
jmp 0x1400d9035
mov eax, 2
add rsp, 0x20
pop r14
pop rdi
pop rbx
ret
Function at 0x1400d9d30
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x20
movzx eax, byte [rcx + 0xac]
lea rsi, [rcx + 0x98]
movzx r12d, word [rsi]
and al, 0x1f
mov r15, rcx
cmp al, 0xe
jne 0x1400d9d98
movzx edx, word [rcx + 0x1b6]
cmp edx, r12d
jbe 0x1400d9d98
movzx eax, word [rcx + 0x1ce]
cmp eax, r12d
jbe 0x1400d9d98
nop
cmp eax, edx
jb 0x1400d9eeb
mov ecx, eax
mov rax, qword [r15 + 0x10]
movzx eax, word [rax + rcx*8 + 6]
cmp eax, r12d
ja 0x1400d9d80
movzx eax, word [r15 + 0x1d0]
cmp eax, r12d
jbe 0x1400d9eef
mov rbx, qword [r15 + 0x10]
mov ebp, 0x8000
mov dword [rsp + 0x50], ebp
nop word [rax + rax]
lea r13, [rbx + rax*8]
movzx eax, word [rbx + rax*8]
movzx ecx, word [rbx + rax*8 + 2]
lea rdx, [rbx + rax*8]
cmp rsi, rdx
je 0x1400d9eeb
movzx r9d, word [rsi + 2]
cmp byte [rbx + r9*8 + 5], 0x1d
lea r8, [rbx + r9*8]
jne 0x1400d9df3
movzx r9d, word [r8]
lea r8, [rbx + r9*8]
cmp byte [rbx + rcx*8 + 5], 0x1d
lea r10, [rbx + rcx*8]
jne 0x1400d9e06
movzx ecx, word [r10]
lea r10, [rbx + rcx*8]
movzx r11d, byte [rsi + 5]
lea eax, [r11 - 0x38]
cmp al, 1
jbe 0x1400d9e18
movzx eax, word [rsi]
jmp 0x1400d9e1f
movzx eax, word [rsi]
movzx eax, word [rbx + rax*8]
movzx r14d, ax
movzx eax, byte [rdx + 5]
sub al, 0x38
cmp al, 1
jbe 0x1400d9e32
movzx eax, word [rdx]
jmp 0x1400d9e39
movzx eax, word [rdx]
movzx eax, word [rbx + rax*8]
movzx edi, ax
cmp r9d, ecx
je 0x1400d9ec0
cmp r9d, ebp
jae 0x1400d9e4e
cmp ecx, ebp
jb 0x1400d9ed7
cmp r11b, 0x38
jne 0x1400d9eb3
xor r11d, r11d
xor edx, edx
cmp byte [r8 + 5], 0x28
mov ebp, r9d
jne 0x1400d9e80
movzx eax, word [r8 + 2]
cmp ax, word [rsp + 0x50]
jae 0x1400d9e80
movzx ebp, word [r8]
mov r11d, dword [rbx + rax*8]
cmp ebp, ecx
jne 0x1400d9e80
test r11d, r11d
jne 0x1400d9ed7
cmp byte [r10 + 5], 0x28
jne 0x1400d9ea8
movzx eax, word [r10 + 2]
mov r8d, 0x8000
cmp ax, r8w
jae 0x1400d9ea8
movzx ecx, word [r10]
mov edx, dword [rbx + rax*8]
cmp r9d, ecx
jne 0x1400d9ea8
test edx, edx
jne 0x1400d9ed7
cmp ebp, ecx
jne 0x1400d9ec0
cmp r11d, edx
je 0x1400d9ec0
jmp 0x1400d9ed7
movzx eax, byte [r10 + 4]
xor al, byte [r8 + 4]
test al, 0x1f
jne 0x1400d9ed7
cmp r14d, edi
je 0x1400d9eeb
mov r8d, edi
mov edx, r14d
mov rcx, r15
call fcn.1400d9110
test eax, eax
jne 0x1400d9eeb
movzx eax, word [r13 + 6]
cmp eax, r12d
jbe 0x1400d9eef
mov ebp, 0x8000
jmp 0x1400d9dc0
xor eax, eax
jmp 0x1400d9ef4
mov eax, 1
mov rbx, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x1400da2d0
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
movzx esi, dx
mov rdi, rcx
movzx r9d, word [rcx + rsi*2 + 0x14e]
cmp r9d, r8d
jbe 0x1400da36d
mov r11, qword [rcx + 0x10]
mov eax, r8d
lea rbp, [r11 + rax*8]
nop word [rax + rax]
movzx eax, byte [r11 + r9*8 + 4]
lea rbx, [r11 + r9*8]
movzx ecx, word [rbx]
and al, 0x1f
cmp ecx, r8d
je 0x1400da3af
test al, al
jne 0x1400da363
movzx r9d, word [r11 + rcx*8 + 2]
movzx r10d, word [rbp + 2]
cmp esi, 0x40
je 0x1400da34c
movzx edx, byte [r11 + r10*8 + 4]
xor dl, byte [r11 + r9*8 + 4]
test dl, 0x1f
jne 0x1400da363
cmp r9d, r10d
je 0x1400da396
cmp r9d, 0x8000
jae 0x1400da396
cmp r10d, 0x8000
jae 0x1400da396
movzx r9d, word [rbx + 6]
cmp r9d, r8d
ja 0x1400da310
movzx eax, word [rdi + rsi*2 + 0x140]
cmp eax, r8d
jbe 0x1400da396
mov rdx, qword [rdi + 0x10]
nop
lea rcx, [rdx + rax*8]
movzx eax, word [rdx + rax*8]
cmp eax, r8d
je 0x1400da3ba
movzx eax, word [rcx + 6]
cmp eax, r8d
ja 0x1400da380
xor eax, eax
mov rbx, qword [rsp + 0x10]
mov rbp, qword [rsp + 0x18]
mov rsi, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
pop r14
ret
xor ecx, ecx
test al, al
setne cl
mov eax, ecx
jmp 0x1400da398
test byte [rcx + 4], 0x1f
mov ecx, 0
setne cl
mov eax, ecx
jmp 0x1400da398
Function at 0x1400db640
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push r12
push r14
push r15
sub rsp, 0x20
mov r10, qword [rcx + 0x10]
mov esi, r9d
movzx r14d, dx
mov r12d, r8d
mov r9d, edx
mov rbp, rcx
movzx r15d, byte [r10 + r14*8 + 5]
cmp r15d, 0x35
jb 0x1400db77f
cmp r15d, r8d
jg 0x1400db77f
xor edx, edx
add rcx, 0x8b8
nop word [rax + rax]
cmp word [rcx], r14w
jne 0x1400db6aa
mov eax, dword [rcx + 4]
cmp eax, esi
jb 0x1400db6aa
xor eax, esi
test eax, 0xfff
je 0x1400db76e
inc rdx
add rcx, 8
cmp rdx, 0x10
jl 0x1400db690
movzx edx, word [r10 + r14*8]
mov r9d, esi
mov qword [rsp + 0x40], rbx
mov rcx, rbp
movzx ebx, word [r10 + r14*8 + 2]
mov qword [rsp + 0x48], rdi
call fcn.1400db640
mov r9d, esi
mov r8d, r12d
mov edx, ebx
mov rcx, rbp
mov edi, eax
call fcn.1400db640
mov ecx, 0xf3
mov word [rbp + 0x98], di
add r15w, cx
mov word [rbp + 0x9a], ax
movzx edx, r15w
mov ecx, 0x100
imul edx, ecx
mov r8d, esi
shr r8d, 5
mov rcx, rbp
and r8w, 0x1f
or r8w, dx
mov word [rbp + 0x9c], r8w
call fcn.1400d8cd0
mov ecx, dword [rbp + 0x938]
mov r9d, eax
mov rdi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
lea rdx, [rcx*8]
lea eax, [rcx + 1]
and eax, 0xf
mov dword [rbp + 0x938], eax
mov word [rdx + rbp + 0x8b8], r14w
mov word [rdx + rbp + 0x8ba], r9w
mov dword [rdx + rbp + 0x8bc], esi
jmp 0x1400db7c0
movzx ecx, word [rcx + 2]
movzx eax, byte [r10 + rcx*8 + 4]
shl eax, 0x18
add eax, ecx
jmp 0x1400db7c3
bt esi, 0xb
jae 0x1400db7c0
movzx ecx, byte [r10 + r14*8 + 4]
mov edx, 0x604208
and ecx, 0x1f
shr edx, cl
test dl, 1
jne 0x1400db7c0
mov eax, 0x5515
mov word [rbp + 0x98], r14w
mov rcx, rbp
mov word [rbp + 0x9c], ax
mov word [rbp + 0x9a], si
call fcn.1400d8cd0
mov r9d, eax
mov eax, r9d
mov rbp, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop r12
ret
Function at 0x1400e3240
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push rbx
push r14
sub rsp, 0x268
mov rax, qword [0x140214ba0]
xor rax, rsp
mov qword [rsp + 0x250], rax
mov r14, rcx
mov qword [rsp + 0x40], rcx
lea rcx, str.kernel32.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov rbx, rax
test rax, rax
je 0x1400e33e2
mov edx, 1
mov rcx, rax
lea r8d, [rdx + 0xf]
call qword [sym.imp.KERNEL32.dll_FindResourceW]
test rax, rax
je 0x1400e33e2
mov rdx, rax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x1400e33e2
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
test rax, rax
je 0x1400e33e2
cmp word [rax + 4], 0
jne 0x1400e33e2
cmp dword [rax + 0x28], 0xfeef04bd
jne 0x1400e33e2
movzx ebx, word [rax + 0x34]
lea rcx, [rsp + 0x50]
mov qword [rsp + 0x288], rbp
xor edx, edx
movzx ebp, word [rax + 0x32]
mov r8d, 0x200
mov qword [rsp + 0x290], rsi
movzx esi, word [rax + 0x30]
mov qword [rsp + 0x260], rdi
movzx edi, word [rax + 0x36]
call fcn.140152110
mov dword [rsp + 0x30], ebx
lea r8, str._d._d._d._d
mov dword [rsp + 0x28], edi
lea rcx, [rsp + 0x50]
mov r9d, ebp
mov dword [rsp + 0x20], esi
mov edx, 0x100
call fcn.1400e4330
mov rdi, qword [rsp + 0x260]
mov rsi, qword [rsp + 0x290]
mov rbp, qword [rsp + 0x288]
test eax, eax
jns 0x1400e33af
lea rax, str.Failed_to_format_version
mov r9d, 0xb0
lea r8, str.NWebAdvisor::NXmlUpdater::CSubstitutionManager::GetOsVersion
mov qword [rsp + 0x20], rax
lea rdx, str.c:jenkinsworkspacemer_WebAdvisor_XMLUpdater_master_srcXmlUpdaterSubstitutionManager.cpp
mov ecx, 1
call fcn.1400ebbc0
mov rdx, qword [str._UNKNOWN]
xor eax, eax
mov qword [r14], rax
mov r8, 0xffffffffffffffff
mov qword [r14 + 0x10], rax
mov qword [r14 + 0x18], 7
mov word [r14], ax
inc r8
cmp word [rdx + r8*2], ax
jne 0x1400e33a0
jmp 0x1400e343a
xor eax, eax
mov qword [r14 + 0x18], 7
mov qword [r14], rax
mov r8, 0xffffffffffffffff
mov qword [r14 + 0x10], rax
mov word [r14], ax
lea rax, [rsp + 0x50]
inc r8
cmp word [rax + r8*2], 0
jne 0x1400e33d0
lea rdx, [rsp + 0x50]
jmp 0x1400e343a
lea rax, str.Failed_to_retrieve_kernel_verison
mov r9d, 0xa9
lea r8, str.NWebAdvisor::NXmlUpdater::CSubstitutionManager::GetOsVersion
mov qword [rsp + 0x20], rax
lea rdx, str.c:jenkinsworkspacemer_WebAdvisor_XMLUpdater_master_srcXmlUpdaterSubstitutionManager.cpp
mov ecx, 1
call fcn.1400ebbc0
mov rdx, qword [str._UNKNOWN]
xor eax, eax
mov qword [r14], rax
mov r8, 0xffffffffffffffff
mov qword [r14 + 0x10], rax
mov qword [r14 + 0x18], 7
mov word [r14], ax
nop
inc r8
cmp word [rdx + r8*2], ax
jne 0x1400e3430
mov rcx, r14
call fcn.1400260f0
mov rax, r14
mov rcx, qword [rsp + 0x250]
xor rcx, rsp
call fcn.14014f8e0
add rsp, 0x268
pop r14
pop rbx
ret
Function at 0x1400ec6e0
Capabilities:
Check if file exists

Disassembly:
push rbx
sub rsp, 0x20
cmp qword [r8 + 0x18], 8
mov rbx, rdx
jb 0x1400ec6f3
mov r8, qword [r8]
mov rcx, r8
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov rdx, qword [str.FALSE]
mov r8, 0xffffffffffffffff
test eax, eax
mov qword [rbx + 0x18], 7
cmovne rdx, qword [str.TRUE]
xor eax, eax
mov qword [rbx], rax
mov qword [rbx + 0x10], rax
mov word [rbx], ax
nop dword [rax + rax]
inc r8
cmp word [rdx + r8*2], ax
jne 0x1400ec730
mov rcx, rbx
call fcn.1400260f0
mov rax, rbx
add rsp, 0x20
pop rbx
ret

Function at 0x1400eec40
Capabilities:
Create directory

Disassembly:
push rbx
sub rsp, 0x240
mov rax, qword [0x140214ba0]
xor rax, rsp
mov qword [rsp + 0x230], rax
xor edx, edx
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x1400eece2
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x1400eece2
xor edx, edx
lea rcx, [rsp + 0x20]
mov r8d, 0x208
call fcn.140152110
mov r8, rbx
lea rcx, [rsp + 0x20]
mov edx, 0x104
call fcn.140156da0
mov edx, 0x5c
lea rcx, [rsp + 0x20]
call fcn.140152030
test rax, rax
je 0x1400eecb4
xor ecx, ecx
mov word [rax], cx
lea rcx, [rsp + 0x20]
call fcn.1400eec40
test al, al
jne 0x1400eecc6
xor al, al
jmp 0x1400eece4
xor edx, edx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x1400eece2
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x1400eecc2
mov al, 1
mov rcx, qword [rsp + 0x230]
xor rcx, rsp
call fcn.14014f8e0
add rsp, 0x240
pop rbx
ret