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

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x52bd2c
push rbp
mov rbp, rsp
sub rsp, 0x40
movabs rdx, 0x371835341b32e630
mov qword [rsp + 0x1d], rdx
movabs rdx, 0x38371835341b32e6
mov qword [rsp + 0x1e], rdx
movabs rdx, 0xadd654663624e1e
mov qword [rsp + 0x26], rdx
movabs rdx, 0x109090f090d0110
mov qword [rsp + 0x2e], rdx
movabs rdx, 0xa100109090f090d
mov qword [rsp + 0x30], rdx
movabs rdx, 0xa0d060303010a0d
mov qword [rsp + 0x38], rdx
xor eax, eax
jmp 0x52bcca
movzx r9d, byte [rsp + rsi + 0x1d]
lea edx, [r9 + rdx]
lea edx, [rdx + 8]
mov byte [rsp + rdi + 0x1d], dl
mov byte [rsp + rsi + 0x1d], r8b
add rax, 2
cmp rax, 0x12
jge 0x52bcfc
movzx edx, byte [rsp + rax + 0x2e]
movzx esi, byte [rsp + rax + 0x2f]
mov edi, edx
xor edx, esi
add edx, eax
cmp rdi, 0x11
jae 0x52bd1f
movzx r8d, byte [rsp + rdi + 0x1d]
lea r8d, [r8 + rdx]
lea r8d, [r8 + 8]
cmp rsi, 0x11
jb 0x52bcb0
jmp 0x52bd13
xor eax, eax
lea rbx, [rsp + 0x1d]
mov ecx, 0x11
call fcn.00445b60
add rsp, 0x40
pop rbp
ret
mov eax, esi
mov ecx, 0x11
call fcn.00457ea0
mov eax, edi
mov ecx, 0x11
call fcn.00457ea0
nop
call fcn.00455c20
jmp fcn.0052bc40

Function at 0x52bd40
Capabilities:
Encrypt data using rc4 prga

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x52be2a
push rbp
mov rbp, rsp
sub rsp, 0x48
movabs rdx, 0x375f354533342f30
mov qword [rsp + 0x1f], rdx
movabs rdx, 0x59375f354533342f
mov qword [rsp + 0x20], rdx
movabs rdx, 0x692b63357389365b
mov qword [rsp + 0x28], rdx
movabs rdx, 0x1009080f0408100d
mov qword [rsp + 0x30], rdx
movabs rdx, 0xf0b0a040e060209
mov qword [rsp + 0x38], rdx
movabs rdx, 0x60f060c0201100f
mov qword [rsp + 0x40], rdx
xor eax, eax
jmp 0x52bdcd
movzx r9d, byte [rsp + rsi + 0x1f]
sub r9d, edx
lea edx, [r9 + 0x18]
mov byte [rsp + rdi + 0x1f], dl
lea edx, [r8 + 0x18]
mov byte [rsp + rsi + 0x1f], dl
add rax, 2
cmp rax, 0x18
jge 0x52bdfa
movzx edx, byte [rsp + rax + 0x30]
movzx esi, byte [rsp + rax + 0x31]
mov edi, edx
xor edx, esi
add edx, eax
cmp rdi, 0x11
jae 0x52be1d
movzx r8d, byte [rsp + rdi + 0x1f]
sub r8d, edx
cmp rsi, 0x11
jb 0x52bdb0
jmp 0x52be11
xor eax, eax
lea rbx, [rsp + 0x1f]
mov ecx, 0x11
call fcn.00445b60
add rsp, 0x48
pop rbp
ret
mov eax, esi
mov ecx, 0x11
call fcn.00457ea0
mov eax, edi
mov ecx, 0x11
call fcn.00457ea0
nop
call fcn.00455c20
jmp fcn.0052bd40
Function at 0x52be40
Capabilities:
Encrypt data using rc4 prga

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x52bf2a
push rbp
mov rbp, rsp
sub rsp, 0x40
movabs rdx, 0x1936b8d933e03130
mov qword [rsp + 0x19], rdx
movabs rdx, 0xe11936b8d933e031
mov qword [rsp + 0x1a], rdx
movabs rdx, 0xd79773e0d39d6171
mov qword [rsp + 0x22], rdx
movabs rdx, 0xf0d050d02040e10
mov qword [rsp + 0x2a], rdx
movabs rdx, 0xc070b0809080f0d
mov qword [rsp + 0x30], rdx
movabs rdx, 0xb0e08040d070410
mov qword [rsp + 0x38], rdx
xor eax, eax
jmp 0x52becd
movzx r9d, byte [rsp + rsi + 0x19]
sub r9d, edx
lea edx, [r9 + 0x61]
mov byte [rsp + rdi + 0x19], dl
lea edx, [r8 + 0x61]
mov byte [rsp + rsi + 0x19], dl
add rax, 2
cmp rax, 0x16
jge 0x52befa
movzx edx, byte [rsp + rax + 0x2a]
movzx esi, byte [rsp + rax + 0x2b]
mov edi, edx
xor edx, esi
add edx, eax
cmp rdi, 0x11
jae 0x52bf1d
movzx r8d, byte [rsp + rdi + 0x19]
sub r8d, edx
cmp rsi, 0x11
jb 0x52beb0
jmp 0x52bf11
xor eax, eax
lea rbx, [rsp + 0x19]
mov ecx, 0x11
call fcn.00445b60
add rsp, 0x40
pop rbp
ret
mov eax, esi
mov ecx, 0x11
call fcn.00457ea0
mov eax, edi
mov ecx, 0x11
call fcn.00457ea0
nop
call fcn.00455c20
jmp fcn.0052be40

Function at 0x5326a0
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
movd xmm0, dword [rsp + 8]
mov rsi, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
movdqu xmm1, xmmword [rsi]
movdqu xmm2, xmmword [rsi + 0x10]
movdqu xmm3, xmmword [rsi + 0x20]
movdqu xmm4, xmmword [rsi + 0x30]
pxor xmm1, xmm0
add rsi, 0x40
sub rcx, 0x40
cmp rcx, 0x40
jb 0x532775
movdqa xmm0, xmmword [0x005af9b0]
movdqa xmm5, xmm1
movdqa xmm6, xmm2
movdqa xmm7, xmm3
movdqa xmm8, xmm4
pclmulqdq xmm1, xmm0, 0
pclmulqdq xmm2, xmm0, 0
pclmulqdq xmm3, xmm0, 0
pclmulqdq xmm4, xmm0, 0
movdqu xmm11, xmmword [rsi]
movdqu xmm12, xmmword [rsi + 0x10]
movdqu xmm13, xmmword [rsi + 0x20]
movdqu xmm14, xmmword [rsi + 0x30]
pclmulqdq xmm5, xmm0, 0x11
pclmulqdq xmm6, xmm0, 0x11
pclmulqdq xmm7, xmm0, 0x11
pclmulqdq xmm8, xmm0, 0x11
pxor xmm1, xmm5
pxor xmm2, xmm6
pxor xmm3, xmm7
pxor xmm4, xmm8
pxor xmm1, xmm11
pxor xmm2, xmm12
pxor xmm3, xmm13
pxor xmm4, xmm14
add rdi, 0x40
add rsi, 0x40
sub rcx, 0x40
cmp rcx, 0x40
jge 0x5326e1
movdqa xmm0, xmmword [0x005af9c0]
movdqa xmm5, xmm1
pclmulqdq xmm1, xmm0, 0
pclmulqdq xmm5, xmm0, 0x11
pxor xmm1, xmm5
pxor xmm1, xmm2
movdqa xmm5, xmm1
pclmulqdq xmm1, xmm0, 0
pclmulqdq xmm5, xmm0, 0x11
pxor xmm1, xmm5
pxor xmm1, xmm3
movdqa xmm5, xmm1
pclmulqdq xmm1, xmm0, 0
pclmulqdq xmm5, xmm0, 0x11
pxor xmm1, xmm5
pxor xmm1, xmm4
cmp rcx, 0x10
jb 0x5327f7
movdqu xmm10, xmmword [rsi]
movdqa xmm5, xmm1
pclmulqdq xmm1, xmm0, 0
pclmulqdq xmm5, xmm0, 0x11
pxor xmm1, xmm5
pxor xmm1, xmm10
sub rcx, 0x10
add rsi, 0x10
cmp rcx, 0x10
jge 0x5327cb
pcmpeqb xmm3, xmm3
pclmulqdq xmm0, xmm1, 1
psrldq xmm1, 8
pxor xmm1, xmm0
movdqa xmm2, xmm1
movq xmm0, qword [0x005af848]
psrlq xmm3, 0x20
psrldq xmm2, 4
pand xmm1, xmm3
pclmulqdq xmm1, xmm0, 0
pxor xmm1, xmm2
movdqa xmm0, xmmword [0x005af9d0]
movdqa xmm2, xmm1
pand xmm1, xmm3
pclmulqdq xmm1, xmm0, 0x10
pand xmm1, xmm3
pclmulqdq xmm1, xmm0, 0
pxor xmm1, xmm2
pextrd eax, xmm1, 1
mov dword [rsp + 0x28], eax
ret
Function at 0x536780
Capabilities:
Encrypt data using rc4 prga

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x536852
push rbp
mov rbp, rsp
sub rsp, 0x38
movabs rdx, 0x20156909d07627c9
mov qword [rsp + 0x19], rdx
movabs rdx, 0xc61f696482617020
mov qword [rsp + 0x20], rdx
movabs rdx, 0xe03010d000a010a
mov qword [rsp + 0x28], rdx
movabs rdx, 0x40a0a000d0e0603
mov qword [rsp + 0x30], rdx
xor eax, eax
jmp 0x5367ec
movzx r9d, byte [rsp + rsi + 0x19]
lea edx, [r9 + rdx]
lea edx, [rdx + 0x3f]
mov byte [rsp + rdi + 0x19], dl
mov byte [rsp + rsi + 0x19], r8b
add rax, 2
cmp rax, 0x10
jge 0x53681e
movzx edx, byte [rsp + rax + 0x28]
movzx esi, byte [rsp + rax + 0x29]
mov edi, edx
xor edx, esi
add edx, eax
cmp rdi, 0xf
jae 0x536845
movzx r8d, byte [rsp + rdi + 0x19]
lea r8d, [r8 + rdx]
lea r8d, [r8 + 0x3f]
cmp rsi, 0xf
jb 0x5367d2
jmp 0x536835
xor eax, eax
lea rbx, [rsp + 0x19]
mov ecx, 0xf
call fcn.00445b60
add rsp, 0x38
pop rbp
ret
mov eax, esi
mov ecx, 0xf
nop dword [rax]
call fcn.00457ea0
mov eax, edi
mov ecx, 0xf
call fcn.00457ea0
nop
call fcn.00455c20
jmp fcn.00536780
Function at 0x539620
Capabilities:
Hash data using fnv

Disassembly:
test byte [rax], al
mov rcx, rbx
and ebx, 0x7f
shl rbx, 5
lea rdx, [rax + rbx]
xor eax, eax
jmp 0x539637
inc rax
cmp rax, 4
jge 0x53964f
lea rbx, [rdx + rax*8]
mov rbx, qword [rbx]
cmp rbx, rcx
jne 0x539634
mov eax, 1
ret
xor eax, eax
movabs rbx, 0xcbf29ce484222325
jmp 0x539660
inc rax
cmp rax, 4
jge 0x53966e
mov rsi, qword [rdx + rax*8]
xor edi, edi
jmp 0x539697
and ebx, 3
lea rdx, [rdx + rbx*8]
xchg qword [rdx], rcx
xor eax, eax
ret
movzx r8d, sil
xor rbx, r8
inc rdi
shr rsi, 8
movabs r8, 0x100000001b3
imul rbx, r8
cmp rdi, 8
jl 0x53967b
jmp 0x53965d
Function at 0x53ac00
Capabilities:
Encrypt data using rc4 prga

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x53ad08
push rbp
mov rbp, rsp
sub rsp, 0x58
movabs rdx, 0x17c9da26153aeb03
mov qword [rsp + 0x1e], rdx
movabs rdx, 0xb105ef3df34ffcf5
mov qword [rsp + 0x26], rdx
movabs rdx, 0x203c0761e82f792a
mov qword [rsp + 0x2e], rdx
movabs rdx, 0x71306070f050001
mov qword [rsp + 0x36], rdx
movabs rdx, 0xd08071306070f05
mov qword [rsp + 0x38], rdx
movabs rdx, 0xa08040512100a15
mov qword [rsp + 0x40], rdx
movabs rdx, 0x16030202040e0b0d
mov qword [rsp + 0x48], rdx
movabs rdx, 0x130104000c0d0d09
mov qword [rsp + 0x50], rdx
xor eax, eax
jmp 0x53acab
movzx r9d, byte [rsp + rsi + 0x1e]
sub r9d, edx
lea edx, [r9 + 0x52]
mov byte [rsp + rdi + 0x1e], dl
lea edx, [r8 + 0x52]
mov byte [rsp + rsi + 0x1e], dl
add rax, 2
cmp rax, 0x22
jge 0x53acd8
movzx edx, byte [rsp + rax + 0x36]
movzx esi, byte [rsp + rax + 0x37]
mov edi, edx
xor edx, esi
add edx, eax
cmp rdi, 0x18
jae 0x53acfb
movzx r8d, byte [rsp + rdi + 0x1e]
sub r8d, edx
cmp rsi, 0x18
jb 0x53ac8e
jmp 0x53acef
xor eax, eax
lea rbx, [rsp + 0x1e]
mov ecx, 0x18
call fcn.00445b60
add rsp, 0x58
pop rbp
ret
mov eax, esi
mov ecx, 0x18
call fcn.00457ea0
mov eax, edi
mov ecx, 0x18
call fcn.00457ea0
nop
call fcn.00455c20
jmp fcn.0053ac00
Function at 0x5439c0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x543a92
push rbp
mov rbp, rsp
sub rsp, 0x38
movabs rdx, 0x28523a311827593f
mov qword [rsp + 0x1d], rdx
movabs rdx, 0x3a321a28523a3118
mov qword [rsp + 0x20], rdx
movabs rdx, 0x202030204050a07
mov qword [rsp + 0x28], rdx
movabs rdx, 0x902000005030308
mov qword [rsp + 0x30], rdx
xor eax, eax
jmp 0x543a2c
movzx r9d, byte [rsp + rsi + 0x1d]
lea edx, [r9 + rdx]
lea edx, [rdx + 8]
mov byte [rsp + rdi + 0x1d], dl
mov byte [rsp + rsi + 0x1d], r8b
add rax, 2
cmp rax, 0x10
jge 0x543a5e
movzx edx, byte [rsp + rax + 0x28]
movzx esi, byte [rsp + rax + 0x29]
mov edi, edx
xor edx, esi
add edx, eax
cmp rdi, 0xb
jae 0x543a85
movzx r8d, byte [rsp + rdi + 0x1d]
lea r8d, [r8 + rdx]
lea r8d, [r8 + 8]
cmp rsi, 0xb
jb 0x543a12
jmp 0x543a75
xor eax, eax
lea rbx, [rsp + 0x1d]
mov ecx, 0xb
call fcn.00445b60
add rsp, 0x38
pop rbp
ret
mov eax, esi
mov ecx, 0xb
nop dword [rax]
call fcn.00457ea0
mov eax, edi
mov ecx, 0xb
call fcn.00457ea0
nop
call fcn.00455c20
jmp fcn.005439c0

Function at 0x544400
Capabilities:
Encrypt data using rc4 prga

Disassembly:
lea r12, [rsp - 0x20]
cmp r12, qword [r14 + 0x10]
jbe 0x5445a7
push rbp
mov rbp, rsp
sub rsp, 0x98
movabs rdx, 0x4f47209dfb75fa20
mov qword [rsp + 0x1d], rdx
movabs rdx, 0xd3653d1955a85a44
mov qword [rsp + 0x25], rdx
movabs rdx, 0xb7d3653d1955a85a
mov qword [rsp + 0x26], rdx
movabs rdx, 0x20ce44cb47202884
mov qword [rsp + 0x2e], rdx
movabs rdx, 0x75741bb4e21d3b12
mov qword [rsp + 0x36], rdx
movabs rdx, 0xf7fcfd74d20861b1
mov qword [rsp + 0x3e], rdx
movabs rdx, 0x6fc328f06f662010
mov qword [rsp + 0x46], rdx
movabs rdx, 0x2744dfb567670ca0
mov qword [rsp + 0x4e], rdx
movabs rdx, 0x11160f142d37042d
mov qword [rsp + 0x56], rdx
movabs rdx, 0xa1611160f142d37
mov qword [rsp + 0x58], rdx
movabs rdx, 0x2826101a28232215
mov qword [rsp + 0x60], rdx
movabs rdx, 0x19303109381a1c30
mov qword [rsp + 0x68], rdx
movabs rdx, 0x1d282f282e36171d
mov qword [rsp + 0x70], rdx
movabs rdx, 0x2719151512041332
mov qword [rsp + 0x78], rdx
movabs rdx, 0x150c14372e21021e
mov qword [rsp + 0x80], rdx
movabs rdx, 0x2229160a24090327
mov qword [rsp + 0x88], rdx
movabs rdx, 0x3117352e1e1b011c
mov qword [rsp + 0x90], rdx
xor eax, eax
jmp 0x544540
movzx r9d, byte [rsp + rsi + 0x1d]
lea edx, [r9 + rdx]
lea edx, [rdx + 0x12]
mov byte [rsp + rdi + 0x1d], dl
mov byte [rsp + rsi + 0x1d], r8b
add rax, 2
cmp rax, 0x42
jge 0x544572
movzx edx, byte [rsp + rax + 0x56]
movzx esi, byte [rsp + rax + 0x57]
mov edi, edx
xor edx, esi
add edx, eax
cmp rdi, 0x39
jae 0x54459a
movzx r8d, byte [rsp + rdi + 0x1d]
lea r8d, [r8 + rdx]
lea r8d, [r8 + 0x12]
cmp rsi, 0x39
jb 0x544526
jmp 0x54458e
xor eax, eax
lea rbx, [rsp + 0x1d]
mov ecx, 0x39
nop
call fcn.00445b60
add rsp, 0x98
pop rbp
ret
mov eax, esi
mov ecx, 0x39
call fcn.00457ea0
mov eax, edi
mov ecx, 0x39
call fcn.00457ea0
nop
call fcn.00455c20
jmp fcn.00544400
Function at 0x5458c0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x5459ac
push rbp
mov rbp, rsp
sub rsp, 0x40
movabs rdx, 0x76b8b53ac165c2ff
mov qword [rsp + 0x1b], rdx
movabs rdx, 0x6c76b8b53ac165c2
mov qword [rsp + 0x1c], rdx
movabs rdx, 0x640c43c667d47d6c
mov qword [rsp + 0x24], rdx
movabs rdx, 0xf050f0d0a010b
mov qword [rsp + 0x2c], rdx
movabs rdx, 0x3070707000f050f
mov qword [rsp + 0x30], rdx
movabs rdx, 0x50b0f0f000f0306
mov qword [rsp + 0x38], rdx
xor eax, eax
jmp 0x54594a
movzx r9d, byte [rsp + rsi + 0x1b]
lea edx, [r9 + rdx]
lea edx, [rdx - 0x66]
mov byte [rsp + rdi + 0x1b], dl
mov byte [rsp + rsi + 0x1b], r8b
add rax, 2
cmp rax, 0x14
jge 0x54597c
movzx edx, byte [rsp + rax + 0x2c]
movzx esi, byte [rsp + rax + 0x2d]
mov edi, edx
xor edx, esi
add edx, eax
cmp rdi, 0x11
jae 0x54599f
movzx r8d, byte [rsp + rdi + 0x1b]
lea r8d, [r8 + rdx]
lea r8d, [r8 - 0x66]
cmp rsi, 0x11
jb 0x545930
jmp 0x545993
xor eax, eax
lea rbx, [rsp + 0x1b]
mov ecx, 0x11
call fcn.00445b60
add rsp, 0x40
pop rbp
ret
mov eax, esi
mov ecx, 0x11
call fcn.00457ea0
mov eax, edi
mov ecx, 0x11
call fcn.00457ea0
nop
call fcn.00455c20
jmp fcn.005458c0
Function at 0x54d980
Capabilities:
Encrypt data using rc4 prga

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x54da7d
push rbp
mov rbp, rsp
sub rsp, 0x48
movabs rdx, 0x642fdbcb37c06830
mov qword [rsp + 0x18], rdx
movabs rdx, 0x70f42b180fd2642f
mov qword [rsp + 0x1e], rdx
movabs rdx, 0xe32c170d29c41d0a
mov qword [rsp + 0x26], rdx
movabs rdx, 0x211021204090312
mov qword [rsp + 0x2e], rdx
movabs rdx, 0xc1410120b150e08
mov qword [rsp + 0x36], rdx
movabs rdx, 0x12130c1410120b15
mov qword [rsp + 0x38], rdx
movabs rdx, 0x90b0a0a000f0505
mov qword [rsp + 0x40], rdx
xor eax, eax
jmp 0x54da20
movzx r9d, byte [rsp + rsi + 0x18]
sub r9d, edx
lea edx, [r9 + 0x69]
mov byte [rsp + rdi + 0x18], dl
lea edx, [r8 + 0x69]
mov byte [rsp + rsi + 0x18], dl
add rax, 2
nop dword [rax]
cmp rax, 0x1a
jge 0x54da4d
movzx edx, byte [rsp + rax + 0x2e]
movzx esi, byte [rsp + rax + 0x2f]
mov edi, edx
xor edx, esi
add edx, eax
cmp rdi, 0x16
jae 0x54da70
movzx r8d, byte [rsp + rdi + 0x18]
sub r8d, edx
cmp rsi, 0x16
jb 0x54d9ff
jmp 0x54da64
xor eax, eax
lea rbx, [rsp + 0x18]
mov ecx, 0x16
call fcn.00445b60
add rsp, 0x48
pop rbp
ret
mov eax, esi
mov ecx, 0x16
call fcn.00457ea0
mov eax, edi
mov ecx, 0x16
call fcn.00457ea0
nop
nop dword [rax]
call fcn.00455c20
jmp fcn.0054d980

Function at 0x54e160
Capabilities:
Encrypt data using rc4 prga

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x54e24a
push rbp
mov rbp, rsp
sub rsp, 0x48
movabs rdx, 0x76776d736a7b626b
mov qword [rsp + 0x1c], rdx
movabs rdx, 0x7e718a6a76776d73
mov qword [rsp + 0x20], rdx
movabs rdx, 0x7ca0705a2a776169
mov qword [rsp + 0x28], rdx
movabs rdx, 0x70e120b0f090104
mov qword [rsp + 0x30], rdx
movabs rdx, 0x121004020700010f
mov qword [rsp + 0x38], rdx
movabs rdx, 0x130304000b120301
mov qword [rsp + 0x40], rdx
xor eax, eax
jmp 0x54e1ed
movzx r9d, byte [rsp + rsi + 0x1c]
sub r9d, edx
lea edx, [r9 + 0xd]
mov byte [rsp + rdi + 0x1c], dl
lea edx, [r8 + 0xd]
mov byte [rsp + rsi + 0x1c], dl
add rax, 2
cmp rax, 0x18
jge 0x54e21a
movzx edx, byte [rsp + rax + 0x30]
movzx esi, byte [rsp + rax + 0x31]
mov edi, edx
xor edx, esi
add edx, eax
cmp rdi, 0x14
jae 0x54e23d
movzx r8d, byte [rsp + rdi + 0x1c]
sub r8d, edx
cmp rsi, 0x14
jb 0x54e1d0
jmp 0x54e231
xor eax, eax
lea rbx, [rsp + 0x1c]
mov ecx, 0x14
call fcn.00445b60
add rsp, 0x48
pop rbp
ret
mov eax, esi
mov ecx, 0x14
call fcn.00457ea0
mov eax, edi
mov ecx, 0x14
call fcn.00457ea0
nop
call fcn.00455c20
jmp fcn.0054e160
Function at 0x140013670
Capabilities:
Allocate thread local storage

Disassembly:
push rsi
sub rsp, 0x20
mov rsi, rcx
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
cmp eax, 0xffffffff
je 0x140013685
mov dword [rsi], eax
cmp eax, 0xffffffff
setne al
add rsp, 0x20
pop rsi
ret

Function at 0x140014b90
Capabilities:
Check if file exists

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
cmp qword [rcx], rdx
je 0x140014bd8
mov rsi, rdx
mov rdi, rcx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rax, qword [rdi]
inc rax
cmp rax, 2
jae 0x140014be1
lea rax, [rsi + 1]
cmp rax, 2
jb 0x140014bc8
mov qword [rdi], rsi
call fcn.1400d3890
mov ecx, ebx
add rsp, 0x20
pop rbx
pop rdi
pop rsi
jmp qword [sym.imp.KERNEL32.dll_SetLastError]
nop
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
call fcn.1400d3890
mov rcx, qword [rdi]
call fcn.140101910
mov qword [rdi], 0
jmp 0x140014bb6

Function at 0x140014e80
Capabilities:
Check if file exists

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov rdi, rdx
mov rsi, rcx
mov rcx, rdx
call fcn.140014f90
mov qword [rsi], 0
test rax, rax
je 0x140014ed5
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
mov rax, qword [rsi]
inc rax
cmp rax, 2
jae 0x140014f0b
lea rax, [rbx + 1]
cmp rax, 2
jb 0x140014ecd
mov qword [rsi], rbx
call fcn.1400d3890
mov ecx, ebp
call qword [sym.imp.KERNEL32.dll_SetLastError]
lea rcx, [rsi + 8]
lea rdx, [rdi + 8]
call fcn.1400f5d80
lea rcx, [rsi + 0x20]
call fcn.1400f5d70
mov eax, dword [rdi + 0x24]
mov dword [rsi + 0x24], eax
mov al, byte [rdi + 0x28]
mov byte [rsi + 0x28], al
mov al, byte [rdi + 0x29]
mov byte [rsi + 0x29], al
mov rax, rsi
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
call fcn.1400d3890
mov r14, qword [rsi]
cmp qword [0x140227818], 0
je 0x140014f3f
mov rcx, qword [0x140227818]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r14
call qword [0x14023a010]
mov qword [rsi], 0
jmp 0x140014ebb
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x1401fcfb0]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140014f80
lea rcx, [sym.chrome.exe_GetHandleVerifier]
cmp rax, rcx
je 0x140014f7a
call qword [0x14023a010]
mov rcx, rax
xor edx, edx
call fcn.140019730
jmp 0x140014f1d
xor ecx, ecx
mov dl, 1
jmp 0x140014f73
xor ecx, ecx
jmp 0x140014f71
Function at 0x1401018a0
Capabilities:
Check if file exists

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
cmp qword [rcx], rdx
je 0x1401018e8
mov rsi, rdx
mov rdi, rcx
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rax, qword [rdi]
inc rax
cmp rax, 2
jae 0x1401018f1
lea rax, [rsi + 1]
cmp rax, 2
jb 0x1401018d8
mov qword [rdi], rsi
call fcn.1400d3890
mov ecx, ebx
add rsp, 0x20
pop rbx
pop rdi
pop rsi
jmp qword [sym.imp.KERNEL32.dll_SetLastError]
nop
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
call fcn.1400d3890
mov rcx, qword [rdi]
call fcn.140101910
mov qword [rdi], 0
jmp 0x1401018c6

Function at 0x140103510
Capabilities:
Get thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, qword [0x1402257f0]
cmp rsi, 1
jbe 0x140103555
mov ecx, dword [0x14021aed0]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14010359b
movsxd rcx, dword [rsi]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [rsi + 4]
jne 0x14010359b
mov rax, qword [rax + rcx]
test rax, rax
je 0x14010359b
add rsp, 0x28
pop rdi
pop rsi
ret
lea rcx, [0x1402257f0]
call fcn.1400f5aa0
test al, al
je 0x14010359e
mov qword [0x1402257f8], 0
lea rdi, [0x1402257f0]
lea rsi, [0x1402257f8]
mov rcx, rsi
xor edx, edx
call fcn.140012fc0
mov rcx, rdi
mov rdx, rsi
xor r8d, r8d
mov r9, rdi
call fcn.140014c00
jmp 0x140103523
int3
mov rsi, qword [0x1402257f0]
jmp 0x140103523

Function at 0x140103cc0
Capabilities:
Check if file exists

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rsi, rcx
xor eax, eax
test r8d, r8d
sete al
xor ebx, ebx
test edx, edx
sete bl
xor ecx, ecx
mov edx, ebx
mov r8d, eax
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rsi], 0
test rax, rax
je 0x140103dbf
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rax, qword [rsi]
inc rax
cmp rax, 2
jae 0x140103d4d
lea rax, [rdi + 1]
cmp rax, 2
jb 0x140103d24
mov qword [rsi], rdi
call fcn.1400d3890
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, qword [rsi]
mov byte [rsi + 8], 1
inc rax
cmp rax, 1
jbe 0x140103dc3
mov rax, rsi
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret
call fcn.1400d3890
mov r14, qword [rsi]
cmp qword [0x140227818], 0
je 0x140103d7e
mov rcx, qword [0x140227818]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r14
call qword [0x14023a010]
mov qword [rsi], 0
jmp 0x140103d12
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x1401fcfb0]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140103dc6
lea rcx, [sym.chrome.exe_GetHandleVerifier]
cmp rax, rcx
je 0x140103db9
call qword [0x14023a010]
mov rcx, rax
xor edx, edx
call fcn.140019730
jmp 0x140103d5f
xor ecx, ecx
mov dl, 1
jmp 0x140103db2
mov byte [rsi + 8], 1
int3
xor ecx, ecx
jmp 0x140103db0
Function at 0x140002ac0
Capabilities:
Write file on windows

Disassembly:
push rsi
push rbx
sub rsp, 0x38
mov rbx, 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.140004420
mov r8d, 0x1b
mov edx, 1
lea rcx, str.Mingw_w64_runtime_failure:_n
mov r9, rax
call sub.msvcrt.dll_fwrite
mov rsi, qword [rsp + 0x28]
mov ecx, 2
call fcn.140004420
mov rdx, rbx
mov rcx, rax
mov r8, rsi
call sub.msvcrt.dll_vfprintf
call sub.msvcrt.dll_abort
nop
nop dword [rax]

Function at 0x140002b30
Capabilities:
Allocate or change rwx memory

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x50
movsxd rsi, dword [0x1400090a4]
mov rbx, rcx
test esi, esi
jle 0x140002c60
mov rax, qword [0x1400090a8]
xor r9d, r9d
add rax, 0x18
nop word [rax + rax]
mov r8, qword [rax]
cmp rbx, r8
jb 0x140002b7b
mov rdx, qword [rax + 8]
mov edx, dword [rdx + 8]
add r8, rdx
cmp rbx, r8
jb 0x140002c05
add r9d, 1
add rax, 0x28
cmp r9d, esi
jne 0x140002b60
mov rcx, rbx
call fcn.140003580
mov rdi, rax
test rax, rax
je 0x140002c82
mov rax, qword [0x1400090a8]
lea rbx, [rsi + rsi*4]
shl rbx, 3
add rax, rbx
mov qword [rax + 0x20], rdi
mov dword [rax], 0
call fcn.1400036c0
mov edx, dword [rdi + 0xc]
mov r8d, 0x30
lea rcx, [rax + rdx]
mov rax, qword [0x1400090a8]
lea rdx, [rsp + 0x20]
mov qword [rax + rbx + 0x18], rcx
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x140002c67
mov eax, dword [rsp + 0x44]
lea edx, [rax - 0x40]
and edx, 0xffffffbf
je 0x140002bfe
lea edx, [rax - 4]
and edx, 0xfffffffb
jne 0x140002c10
add dword [0x1400090a4], 1
add rsp, 0x50
pop rbx
pop rsi
pop rdi
ret
cmp eax, 2
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x38]
mov r8d, 0x40
mov eax, 4
cmove r8d, eax
add rbx, qword [0x1400090a8]
mov qword [rbx + 8], rcx
mov r9, rbx
mov qword [rbx + 0x10], rdx
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x140002bfe
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.__VirtualProtect_failed_with_code_0x_x
mov edx, eax
call fcn.140002ac0
nop dword [rax]
xor esi, esi
jmp 0x140002b88
mov rax, qword [0x1400090a8]
mov edx, dword [rdi + 8]
lea rcx, str.__VirtualQuery_failed_for__d_bytes_at_address__p
mov r8, qword [rax + rbx + 0x18]
call fcn.140002ac0
mov rdx, rbx
lea rcx, str.Address__p_has_no_image_section
call fcn.140002ac0
nop
nop word cs:[rax + rax]
nop dword [rax]

Function at 0x1400031f0
Capabilities:
Get thread local storage value

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
lea r12, [0x140009100]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbx, qword [0x1400090e0]
test rbx, rbx
je 0x14000324c
mov rbp, qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, qword [sym.imp.KERNEL32.dll_GetLastError]
nop dword [rax]
mov ecx, dword [rbx]
call rbp
mov rsi, rax
call rdi
test eax, eax
jne 0x140003243
test rsi, rsi
je 0x140003243
mov rax, qword [rbx + 8]
mov rcx, rsi
call rax
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x140003228
mov rcx, r12
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]