joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14002d260
Capabilities:
Get thread local storage value

Disassembly:
push rsi
sub rsp, 0x20
mov rsi, rcx
mov eax, dword [0x140299c20]
mov ecx, dword [0x140296f94]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14002d2c9
mov ecx, dword [0x140288f70]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14002d313
mov rcx, qword [0x140299c10]
shl rcx, 4
mov qword [rax + rcx], rsi
mov ecx, dword [0x140299c18]
mov rdx, qword [0x140299c10]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
mov byte [rsi + 0x58], 1
add rsp, 0x20
pop rsi
ret
lea rcx, [0x140299c20]
call fcn.140172b08
cmp dword [0x140299c20], 0xffffffff
jne 0x14002d289
mov qword [0x140299c18], 0
lea rcx, [0x140299c10]
mov qword [0x140299c10], 0xffffffffffffffff
xor edx, edx
call fcn.140002400
lea rcx, [0x140299c20]
call fcn.140172aa8
jmp 0x14002d289
test rsi, rsi
je 0x14002d2bf
call fcn.14003bc30
jmp 0x14002d29b

Function at 0x14002d450
Capabilities:
Get thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, rcx
mov qword [rcx], rdx
test rdx, rdx
je 0x14002d465
lock inc dword [rdx + 8]
mov qword [rsi + 8], rdx
mov eax, dword [0x140299c98]
mov ecx, dword [0x140296f94]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14002d535
lea rdi, [rsi + 8]
mov ecx, dword [0x140288f70]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14002d5d1
mov rcx, qword [0x140299c88]
shl rcx, 4
mov qword [rax + rcx], rdi
mov ecx, dword [0x140299c90]
mov rdx, qword [0x140299c88]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
mov eax, dword [0x1402a19b8]
mov ecx, dword [0x140296f94]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14002d583
mov ecx, dword [0x140288f70]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14002d5e4
mov rcx, qword [0x1402a19a8]
shl rcx, 4
mov qword [rax + rcx], rsi
mov ecx, dword [0x1402a19b0]
mov rdx, qword [0x1402a19a8]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
mov rax, rsi
add rsp, 0x28
pop rdi
pop rsi
ret
lea rcx, [0x140299c98]
call fcn.140172b08
cmp dword [0x140299c98], 0xffffffff
jne 0x14002d48e
mov qword [0x140299c90], 0
lea rcx, [0x140299c88]
mov qword [0x140299c88], 0xffffffffffffffff
xor edx, edx
call fcn.140002400
lea rcx, [0x140299c98]
call fcn.140172aa8
jmp 0x14002d48e
lea rcx, [0x1402a19b8]
call fcn.140172b08
cmp dword [0x1402a19b8], 0xffffffff
jne 0x14002d4f1
mov qword [0x1402a19b0], 0
lea rcx, [0x1402a19a8]
mov qword [0x1402a19a8], 0xffffffffffffffff
xor edx, edx
call fcn.140002400
lea rcx, [0x1402a19b8]
call fcn.140172aa8
jmp 0x14002d4f1
test rdi, rdi
je 0x14002d4cc
call fcn.14003bc30
jmp 0x14002d4a8
test rsi, rsi
je 0x14002d52b
call fcn.14003bc30
jmp 0x14002d507
Function at 0x14002d600
Capabilities:
Get thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov eax, dword [0x1402a2c88]
mov ecx, dword [0x140296f94]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14002d722
mov ecx, dword [0x140288f70]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14002d65f
mov rcx, qword [0x1402a2c78]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x1402a2c80]
jne 0x14002d65f
cmp qword [rax + rcx], 0
jne 0x14002d6ea
mov ecx, 4
call fcn.140172a4c
mov rsi, rax
mov dword [rax], 0
mov ecx, dword [0x140288f70]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14002d78c
mov rcx, qword [0x1402a2c78]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x1402a2c80]
jne 0x14002d78c
mov rdi, qword [rax + rcx]
mov ecx, dword [0x140288f70]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14002d775
mov rcx, qword [0x1402a2c78]
shl rcx, 4
mov qword [rax + rcx], rsi
mov ecx, dword [0x1402a2c80]
mov rdx, qword [0x1402a2c78]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
test rdi, rdi
jne 0x14002d793
mov ecx, dword [0x140288f70]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14002d788
mov rcx, qword [0x1402a2c78]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x1402a2c80]
jne 0x14002d788
mov rax, qword [rax + rcx]
add rsp, 0x28
pop rdi
pop rsi
ret
lea rcx, [0x1402a2c88]
call fcn.140172b08
cmp dword [0x1402a2c88], 0xffffffff
jne 0x14002d62b
mov qword [0x1402a2c80], 0
lea rcx, [0x1402a2c78]
mov qword [0x1402a2c78], 0xffffffffffffffff
lea rdx, [0x140076c30]
call fcn.140002400
lea rcx, [0x1402a2c88]
call fcn.140172aa8
jmp 0x14002d62b
test rsi, rsi
je 0x14002d6e1
call fcn.14003bc30
jmp 0x14002d6bd
xor eax, eax
jmp 0x14002d71b
xor edi, edi
jmp 0x14002d6a7
mov rcx, rdi
call fcn.140172a44
jmp 0x14002d6ea
Function at 0x14002f4d0
Capabilities:
Get thread local storage value

Disassembly:
sub rsp, 0x28
mov eax, dword [0x140299c20]
mov ecx, dword [0x140296f94]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14002f53b
mov ecx, dword [0x140288f70]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14002f585
mov rcx, qword [0x140299c10]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x140299c18]
jne 0x14002f585
mov rax, qword [rax + rcx]
test rax, rax
je 0x14002f585
mov rcx, qword [rax + 0x10]
sub rcx, qword [rax + 8]
cmp rcx, 9
setae al
add rsp, 0x28
ret
lea rcx, [0x140299c20]
call fcn.140172b08
cmp dword [0x140299c20], 0xffffffff
jne 0x14002f4f5
mov qword [0x140299c18], 0
lea rcx, [0x140299c10]
mov qword [0x140299c10], 0xffffffffffffffff
xor edx, edx
call fcn.140002400
lea rcx, [0x140299c20]
call fcn.140172aa8
jmp 0x14002f4f5
xor eax, eax
jmp 0x14002f536
Function at 0x140032db0
Capabilities:
Check if file exists
Delete file
Set file attributes

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x338
mov rsi, rdx
mov rdi, rcx
mov rax, qword [0x140287028]
xor rax, rsp
mov qword [rsp + 0x330], rax
lea rbx, [rsp + 0x68]
mov r8d, 0x2c8
mov rcx, rbx
mov dl, 0xaa
call fcn.140177800
xor ebp, ebp
mov dword [rsp + 0x30], ebp
mov dword [rsp + 0x28], ebp
mov qword [rsp + 0x20], rsi
mov rcx, rbx
mov rdx, rdi
xor r8d, r8d
mov r9d, 3
call fcn.140033110
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rsi, [rsp + 0x50]
mov qword [rsi + 0x10], rax
movaps xmm0, xmmword [0x140261350]
movaps xmmword [rsi], xmm0
mov rcx, rbx
mov rdx, rsi
call fcn.1400334e0
movzx eax, byte [rsi + 0x17]
test al, al
jns 0x140032e4a
mov rcx, qword [rsp + 0x58]
jmp 0x140032e4f
mov ecx, eax
and ecx, 0x7f
test rcx, rcx
jne 0x140032e92
test al, al
jns 0x140032e62
mov rcx, qword [rsp + 0x50]
call fcn.140172a44
lea rcx, [rsp + 0x68]
call fcn.140032f80
mov rcx, qword [rsp + 0x330]
xor rcx, rsp
call fcn.1401756e0
mov eax, ebp
add rsp, 0x338
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor r14d, r14d
mov r15, qword [sym.imp.KERNEL32.dll_DeleteFileW]
mov r12, qword [sym.imp.KERNEL32.dll_GetLastError]
lea rdi, [rsp + 0x68]
lea rbx, [rsp + 0x38]
xor r13d, r13d
cmp byte [rsp + 0x68], 0
je 0x140032ed1
mov edx, dword [rsp + 0x6c]
test dl, 1
jne 0x140032f56
test dl, 0x10
jne 0x140032f52
mov al, byte [rsp + 0x67]
mov rcx, rsi
test al, al
jns 0x140032edd
mov rcx, qword [rsp + 0x50]
call r15
test eax, eax
jne 0x140032f52
call r12
mov ebp, eax
and eax, 0xfffffffe
cmp eax, 2
cmove ebp, r14d
test r13d, r13d
cmovne ebp, r13d
mov rcx, rdi
mov rdx, rbx
call fcn.1400334e0
cmp byte [rsp + 0x67], 0
js 0x140032f46
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x60], rax
movups xmm0, xmmword [rsp + 0x38]
movaps xmmword [rsp + 0x50], xmm0
movzx eax, byte [rsp + 0x67]
test al, al
jns 0x140032f30
mov rcx, qword [rsp + 0x58]
jmp 0x140032f35
mov ecx, eax
and ecx, 0x7f
mov r13d, ebp
test rcx, rcx
je 0x140032e54
jmp 0x140032eb0
mov rcx, qword [rsp + 0x50]
call fcn.140172a44
jmp 0x140032f0c
xor ebp, ebp
jmp 0x140032ef3
xor ebp, ebp
test dl, 0x10
jne 0x140032ef3
and edx, 0xfffffffe
test al, al
jns 0x140032f6b
mov rcx, qword [rsp + 0x50]
jmp 0x140032f70
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_SetFileAttributesW]
jmp 0x140032ecd
Function at 0x14003bac0
Capabilities:
Get thread local storage value

Disassembly:
push rsi
sub rsp, 0x20
mov rsi, rcx
lea rax, [0x14025cd50]
mov qword [rcx], rax
mov qword [rcx + 8], rdx
mov eax, dword [0x1402a39c8]
mov ecx, dword [0x140296f94]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14003bb72
mov ecx, dword [0x140288f70]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14003bc0a
mov rcx, qword [0x1402a39b8]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x1402a39c0]
jne 0x14003bc0a
mov rax, qword [rax + rcx]
mov qword [rsi + 0x10], rax
test rax, rax
jne 0x14003bc17
mov eax, dword [0x1402a39c8]
mov ecx, dword [0x140296f94]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14003bbc0
lea rcx, [0x1402a39b8]
mov rdx, rsi
call fcn.140157190
mov rax, rsi
add rsp, 0x20
pop rsi
ret
lea rcx, [0x1402a39c8]
call fcn.140172b08
cmp dword [0x1402a39c8], 0xffffffff
jne 0x14003baf7
mov qword [0x1402a39c0], 0
lea rcx, [0x1402a39b8]
mov qword [0x1402a39b8], 0xffffffffffffffff
xor edx, edx
call fcn.140002400
lea rcx, [0x1402a39c8]
call fcn.140172aa8
jmp 0x14003baf7
lea rcx, [0x1402a39c8]
call fcn.140172b08
cmp dword [0x1402a39c8], 0xffffffff
jne 0x14003bb5a
mov qword [0x1402a39c0], 0
lea rcx, [0x1402a39b8]
mov qword [0x1402a39b8], 0xffffffffffffffff
xor edx, edx
call fcn.140002400
lea rcx, [0x1402a39c8]
call fcn.140172aa8
jmp 0x14003bb5a
mov qword [rsi + 0x10], 0
jmp 0x14003bb39
xor ecx, ecx
call fcn.14003c060
jmp 0x14003bb39

Function at 0x14003bc30
Capabilities:
Allocate thread local storage
Get thread local storage value
Set thread local storage value

Disassembly:
push r14
push rsi
push rdi
push rbx
mov eax, 0x1028
call fcn.140175680
sub rsp, rax
mov rax, qword [0x140287028]
xor rax, rsp
mov qword [rsp + 0x1020], rax
mov esi, dword [0x140288f70]
cmp esi, 0xffffffff
je 0x14003bce3
mov ecx, esi
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
test al, 3
jne 0x14003bd15
lea rdi, [rsp + 0x20]
mov r8d, 0x1000
mov rcx, rdi
xor edx, edx
call fcn.140177800
lea rdx, [rsp + 0x23]
mov r14, qword [sym.imp.KERNEL32.dll_TlsSetValue]
mov ecx, esi
call r14
mov ecx, 0x1000
call fcn.140172dc0
mov rbx, rax
mov r8d, 0x1000
mov rcx, rax
mov rdx, rdi
call fcn.140177150
mov rdx, rbx
or rdx, 3
mov ecx, esi
call r14
mov rcx, qword [rsp + 0x1020]
xor rcx, rsp
call fcn.1401756e0
mov rax, rbx
add rsp, 0x1028
pop rbx
pop rdi
pop rsi
pop r14
ret
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
cmp eax, 0xffffffff
je 0x14003bd18
mov esi, eax
mov eax, 0xffffffff
lock cmpxchg dword [0x140288f70], esi
je 0x14003bc63
mov ecx, esi
call sub.KERNEL32.dll_TlsFree
mov esi, dword [0x140288f70]
jmp 0x14003bc63
int3
int3
Function at 0x14003bd20
Capabilities:
Get thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov edi, edx
mov rsi, rcx
mov eax, dword [0x140299c20]
mov ecx, dword [0x140296f94]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14003be37
mov ecx, dword [0x140288f70]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14003bed6
mov rcx, qword [0x140299c10]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x140299c18]
jne 0x14003bed6
mov rax, qword [rax + rcx]
mov qword [rsi], rax
mov dword [rsi + 8], edi
mov dword [rsi + 0xc], 0
mov byte [rsi + 0x10], 1
mov eax, dword [0x1402a19b8]
mov ecx, dword [0x140296f94]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14003be85
mov ecx, dword [0x140288f70]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14003bed3
mov rcx, qword [0x1402a19a8]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x1402a19b0]
jne 0x14003bed3
mov rax, qword [rax + rcx]
test rax, rax
je 0x14003bed3
mov rax, qword [rax]
mov qword [rsi + 0x18], rax
test rax, rax
je 0x14003be09
lock inc dword [rax + 8]
mov ecx, 8
call fcn.140172a4c
mov dword [rax], 0
mov byte [rax + 4], 0
mov qword [rsi + 0x20], rax
test rax, rax
je 0x14003be29
lock inc dword [rax]
mov qword [rsi + 0x28], rsi
mov rax, rsi
add rsp, 0x28
pop rdi
pop rsi
ret
lea rcx, [0x140299c20]
call fcn.140172b08
cmp dword [0x140299c20], 0xffffffff
jne 0x14003bd50
mov qword [0x140299c18], 0
lea rcx, [0x140299c10]
mov qword [0x140299c10], 0xffffffffffffffff
xor edx, edx
call fcn.140002400
lea rcx, [0x140299c20]
call fcn.140172aa8
jmp 0x14003bd50
lea rcx, [0x1402a19b8]
call fcn.140172b08
cmp dword [0x1402a19b8], 0xffffffff
jne 0x14003bdbb
mov qword [0x1402a19b0], 0
lea rcx, [0x1402a19a8]
mov qword [0x1402a19a8], 0xffffffffffffffff
xor edx, edx
call fcn.140002400
lea rcx, [0x1402a19b8]
call fcn.140172aa8
jmp 0x14003bdbb
int3
xor eax, eax
jmp 0x14003bd85

Function at 0x14003bee0
Capabilities:
Check if file exists

Disassembly:
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rsi, rcx
mov byte [rcx + 8], 0
xorps xmm0, xmm0
movups xmmword [rcx + 0x10], xmm0
lea rax, [0x14025f128]
mov qword [rcx], rax
mov rcx, 0xffffffffffffffff
xor edx, edx
xor r8d, r8d
mov r9d, 1
call qword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
cmp qword [rsi + 0x18], rax
je 0x14003bf50
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rax, qword [rsi + 0x18]
inc rax
cmp rax, 2
jae 0x14003bf5b
lea rax, [rdi + 1]
cmp rax, 2
jb 0x14003bf48
mov qword [rsi + 0x18], rdi
call fcn.1400f24d0
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rax, rsi
add rsp, 0x20
pop rbx
pop rdi
pop rsi
ret
call fcn.1400f24d0
mov rcx, qword [rsi + 0x18]
call fcn.1401571e0
mov qword [rsi + 0x18], 0
jmp 0x14003bf35
Function at 0x14003c060
Capabilities:
Get thread local storage value

Disassembly:
push rsi
sub rsp, 0x20
mov rsi, rcx
mov eax, dword [0x1402a39c8]
mov ecx, dword [0x140296f94]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x14003c0c5
mov ecx, dword [0x140288f70]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14003c10f
mov rcx, qword [0x1402a39b8]
shl rcx, 4
mov qword [rax + rcx], rsi
mov ecx, dword [0x1402a39c0]
mov rdx, qword [0x1402a39b8]
shl rdx, 4
mov dword [rax + rdx + 8], ecx
add rsp, 0x20
pop rsi
ret
lea rcx, [0x1402a39c8]
call fcn.140172b08
cmp dword [0x1402a39c8], 0xffffffff
jne 0x14003c089
mov qword [0x1402a39c0], 0
lea rcx, [0x1402a39b8]
mov qword [0x1402a39b8], 0xffffffffffffffff
xor edx, edx
call fcn.140002400
lea rcx, [0x1402a39c8]
call fcn.140172aa8
jmp 0x14003c089
test rsi, rsi
je 0x14003c0bf
call fcn.14003bc30
jmp 0x14003c09b
Function at 0x140041c50
Capabilities:
Generate random numbers via rtlgenrandom

Disassembly:
push rsi
sub rsp, 0x30
mov rax, qword [0x140287028]
xor rax, rsp
mov qword [rsp + 0x28], rax
lea rcx, [0x1402a3a80]
call qword [sym.imp.KERNEL32.dll_TryAcquireSRWLockExclusive]
test al, al
je 0x140041d40
cmp byte [0x1402a3a88], 0
je 0x140041ce5
mov rax, qword [0x1402a3a98]
lea rcx, [0x1402a3a80]
mov rdx, qword [0x1402a3a90]
mov qword [0x1402a3a90], rax
mov rsi, rdx
shl rsi, 0x17
xor rsi, rdx
mov rdx, rax
shr rdx, 0x1a
xor rdx, rax
xor rdx, rsi
shr rsi, 0x11
xor rsi, rdx
mov qword [0x1402a3a98], rsi
add rsi, rax
shr rsi, 0x20
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rcx, qword [rsp + 0x28]
xor rcx, rsp
call fcn.1401756e0
mov eax, esi
add rsp, 0x30
pop rsi
ret
movabs rsi, 0xaaaaaaaaaaaaaaaa
xorps xmm0, xmm0
movups xmmword [0x1402a3a90], xmm0
lea rcx, [rsp + 0x20]
mov qword [rcx], rsi
mov edx, 8
call sub.ADVAPI32.dll_SystemFunction036
test al, al
je 0x140041d51
lea rcx, [rsp + 0x20]
mov rax, qword [rcx]
mov qword [0x1402a3a90], rax
mov qword [rcx], rsi
mov edx, 8
call sub.ADVAPI32.dll_SystemFunction036
test al, al
je 0x140041d54
mov rax, qword [rsp + 0x20]
mov byte [0x1402a3a88], 1
jmp 0x140041c89
lea rcx, [0x1402a3a80]
call fcn.1400ff150
jmp 0x140041c79
int3
int3
Function at 0x140044280
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x50
mov rax, qword [0x140287028]
xor rax, rsp
mov qword [rsp + 0x48], rax
test rcx, rcx
je 0x14004435d
mov rsi, rdx
mov rdi, rcx
lea rbx, [rsp + 0x40]
mov qword [rbx], 0
mov r15, qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
call r15
mov r14, rax
call r15
xor ecx, ecx
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x30], 2
mov rcx, rax
mov rdx, rdi
mov r8, r14
mov r9, rbx
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
mov edi, eax
test eax, eax
je 0x140044361
mov r14, qword [rsp + 0x40]
cmp qword [rsi], r14
je 0x140044327
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rax, qword [rsi]
inc rax
cmp rax, 2
jae 0x140044347
lea rax, [r14 + 1]
cmp rax, 2
jb 0x14004431f
mov qword [rsi], r14
call fcn.1400f24d0
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
test edi, edi
setne bl
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1401756e0
mov eax, ebx
add rsp, 0x50
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
call fcn.1400f24d0
mov rcx, qword [rsi]
call fcn.1401571e0
mov qword [rsi], 0
jmp 0x14004430d
mov bl, 1
jmp 0x14004432c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
jmp 0x14004431f
Function at 0x1400468e0
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x20
mov rdi, rdx
mov rsi, rcx
cmp dword [rcx + 0x10], 0
jne 0x140046a96
cmp qword [rsi], 0
jne 0x140046a96
cmp dword [rsi + 0x14], 0
jne 0x140046a96
cmp qword [rsi + 8], 0
jne 0x140046a96
xor eax, eax
mov r15, qword [rdi]
cmp rax, r15
je 0x140046952
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rax, qword [rsi]
inc rax
cmp rax, 2
jae 0x1400469a4
lea rax, [r15 + 1]
cmp rax, 2
jb 0x14004694a
mov qword [rsi], r15
call fcn.1400f24d0
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r15, qword [rdi + 8]
cmp qword [rsi + 8], r15
je 0x14004698c
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
mov rax, qword [rsi + 8]
inc rax
cmp rax, 2
jae 0x1400469d8
lea rax, [r15 + 1]
cmp rax, 2
jb 0x140046984
mov qword [rsi + 8], r15
call fcn.1400f24d0
mov ecx, ebx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov eax, dword [rdi + 0x10]
mov dword [rsi + 0x10], eax
mov eax, dword [rdi + 0x14]
mov dword [rsi + 0x14], eax
add rsp, 0x20
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
call fcn.1400f24d0
mov r14, qword [rsi]
cmp qword [0x1402a1a18], 0
je 0x140046a0e
mov rcx, qword [0x1402a1a18]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r14
call qword [case.0x1401d7990.0]
mov qword [rsi], 0
jmp 0x140046938
call fcn.1400f24d0
mov r14, qword [rsi + 8]
cmp qword [0x1402a1a18], 0
je 0x140046a4c
mov rcx, qword [0x1402a1a18]
mov rax, qword [rcx]
mov rax, qword [rax]
mov rdx, r14
call qword [case.0x1401d7990.0]
mov qword [rsi + 8], 0
jmp 0x140046971
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x14026b3c1]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140046aa6
lea rcx, [sym.chrome.exe_GetHandleVerifier]
cmp rax, rcx
je 0x140046a8a
call qword [case.0x1401d7990.0]
mov rcx, rax
xor edx, edx
call fcn.14003cbf0
jmp 0x1400469b6
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
lea rdx, [0x14026b3c1]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140046aaa
lea rcx, [sym.chrome.exe_GetHandleVerifier]
cmp rax, rcx
je 0x140046a90
call qword [case.0x1401d7990.0]
mov rcx, rax
xor edx, edx
call fcn.14003cbf0
jmp 0x1400469eb
xor ecx, ecx
mov dl, 1
jmp 0x140046a42
xor ecx, ecx
mov dl, 1
jmp 0x140046a80
mov rcx, rsi
call fcn.140207ea0
mov rax, qword [rsi]
jmp 0x14004691c
xor ecx, ecx
jmp 0x140046a40
xor ecx, ecx
jmp 0x140046a7e
Function at 0x140046f60
Capabilities:
Get thread local storage value

Disassembly:
push rsi
push rdi
sub rsp, 0x28
mov rsi, rcx
mov eax, dword [0x1402a1940]
mov ecx, dword [0x140296f94]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140046fe3
mov ecx, dword [0x140288f70]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14004702d
mov rcx, qword [0x1402a1930]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [0x1402a1938]
jne 0x14004702d
mov rdi, qword [rax + rcx]
mov rax, qword [0x14028a5a0]
and rax, rdi
cmp rax, qword [0x14028a588]
jne 0x140046fd6
mov rcx, rdi
call fcn.1400eaf60
mov qword [rsi], rdi
mov rax, rsi
add rsp, 0x28
pop rdi
pop rsi
ret
lea rcx, [0x1402a1940]
call fcn.140172b08
cmp dword [0x1402a1940], 0xffffffff
jne 0x140046f8a
mov qword [0x1402a1938], 0
lea rcx, [0x1402a1930]
mov qword [0x1402a1930], 0xffffffffffffffff
xor edx, edx
call fcn.140002400
lea rcx, [0x1402a1940]
call fcn.140172aa8
jmp 0x140046f8a
xor edi, edi
jmp 0x140046fbb

Function at 0x140047040
Capabilities:
Write file on windows

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x58
mov rdi, rdx
mov rsi, rcx
mov rax, qword [0x140287028]
xor rax, rsp
mov qword [rsp + 0x50], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
lea r14, [rsp + 0x30]
mov qword [r14 + 0x10], rax
movaps xmm0, xmmword [0x140261350]
movaps xmmword [r14], xmm0
mov rax, qword [rdx]
mov rax, qword [rax + 0x38]
mov rcx, rdx
mov rdx, r14
call qword [case.0x1401d7990.0]
mov rbx, qword [r14]
mov r14, qword [r14 + 8]
cmp rbx, r14
jne 0x14004710d
lea r14, [rsi + 0xe0]
mov ebx, dword [rdi + 8]
mov rax, qword [rdi]
mov rax, qword [rax + 0x10]
mov rcx, rdi
call qword [case.0x1401d7990.0]
mov rcx, qword [rsi + 0x78]
mov qword [rsp + 0x20], r14
mov rdx, rax
mov r8d, ebx
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x1400470fe
mov byte [rsi + 0x12a], 1
lock inc dword [rsi + 8]
mov rdi, qword [rsp + 0x30]
test rdi, rdi
jne 0x14004711e
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.1401756e0
nop
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r14
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x3e5
je 0x1400470d1
jmp 0x1400470dc
mov rcx, rbx
call fcn.140007770
add rbx, 0x28
jmp 0x140047096
mov rsi, qword [rsp + 0x38]
mov rcx, rdi
cmp rsi, rdi
je 0x140047141
add rsi, 0xffffffffffffffd8
mov rcx, rsi
call fcn.14011bf80
cmp rsi, rdi
jne 0x14004712b
mov rcx, qword [rsp + 0x30]
mov qword [rsp + 0x38], rdi
call fcn.140172a44
jmp 0x1400470e6