joyce8/EMBER2024-capa huggingface dataset:
Function at 0x180007840
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
sub rsp, 0x470
mov rax, qword [0x180032010]
xor rax, rsp
mov qword [rsp + 0x460], rax
xor esi, esi
mov rbx, rcx
mov ebp, 0x103
test rcx, rcx
jne 0x180007878
mov r8d, esi
jmp 0x180007883
mov rdx, rbp
call fcn.1800117c8
mov r8, rax
inc r8w
cmp r8w, bp
jae 0x18000796f
cmp si, r8w
jae 0x1800078f3
mov rcx, rbx
movzx r9d, r8w
lea rdx, [rsp + 0x40]
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [rcx]
lea rcx, [rcx + 1]
mov word [rdx], ax
lea rdx, [rdx + 2]
sub r9, 1
jne 0x1800078b0
cmp r8w, 5
jbe 0x1800078f3
movzx eax, r8w
cmp word [rsp + rax*2 + 0x36], 0x2e
je 0x1800078f3
mov r9d, 5
lea r8, str..dll
mov edx, 0x104
lea rcx, [rsp + 0x40]
call fcn.180011b90
lea rax, [rsp + 0x40]
mov r10, 0xffffffffffffffff
nop
inc r10
cmp word [rax + r10*2], si
jne 0x180007900
dec r10
cmp r10, 0xffffffffffffffff
jne 0x18000791a
mov eax, 0xffffffff
jmp 0x18000795d
lea rcx, [r10 - 1]
lea rdx, [rsp + 0x40]
call fcn.1800038d0
movzx edx, word [rsp + r10*2 + 0x40]
mov r9d, 0x20
mov r8, rsi
lea ecx, [rdx - 0x41]
cmp cx, 0x19
lea rcx, [0x18002b6a0]
cmovbe r8, r9
or r8, rdx
movzx edx, al
movzx r9d, r8b
xor r9, rdx
shr eax, 8
xor eax, dword [rcx + r9*4]
not eax
mov ecx, eax
call fcn.180007a90
test rax, rax
jne 0x180007a5f
mov qword [rsp + 0x488], rdi
test rbx, rbx
jne 0x180007981
mov rdi, rsi
jmp 0x18000798f
mov rdx, rbp
mov rcx, rbx
call fcn.1800117c8
mov rdi, rax
inc di
cmp di, bp
jae 0x180007a54
cmp si, di
jae 0x1800079f5
lea rcx, [rsp + 0x250]
movzx r10d, di
nop dword [rax]
movsx eax, byte [rbx]
lea rbx, [rbx + 1]
mov word [rcx], ax
lea rcx, [rcx + 2]
sub r10, 1
jne 0x1800079b0
cmp di, 5
jbe 0x1800079f5
movzx eax, di
cmp word [rsp + rax*2 + 0x246], 0x2e
je 0x1800079f5
lea r9d, [r10 + 5]
mov edx, 0x104
lea r8, str..dll
lea rcx, [rsp + 0x250]
call fcn.180011b90
add di, di
lea rax, [rsp + 0x250]
mov word [rsp + 0x2a], di
sub di, 2
mov qword [rsp + 0x30], rax
mov rax, qword [0x18006f1b8]
mov word [rsp + 0x28], di
test rax, rax
jne 0x180007a3a
mov edx, 0xa09b055e
mov ecx, 0x84c05e40
call fcn.180008030
mov qword [0x18006f1b8], rax
test rax, rax
je 0x180007a54
lea r9, [rsp + 0x20]
mov qword [rsp + 0x20], rsi
lea r8, [rsp + 0x28]
xor edx, edx
xor ecx, ecx
call rax
mov rsi, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x488]
mov rax, rsi
mov rcx, qword [rsp + 0x460]
xor rcx, rsp
call fcn.180008f00
lea r11, [rsp + 0x470]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsp, r11
pop rsi
ret
Function at 0x180008030
Capabilities:
Hash data with crc32
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push rbx
sub rsp, 0x20
mov ebx, edx
call fcn.180007a90
mov edx, ebx
mov rcx, rax
add rsp, 0x20
pop rbx
jmp fcn.180007c70
Function at 0x180008c20
Capabilities:
Check os version
Execute syscall

Disassembly:
xor al, 0x5a
mov r10, qword gs:[0x60]
cmp word [r10 + 0x118], 0xa
je 0x180008c70
cmp word [r10 + 0x118], 6
jne 0x180008c97
cmp word [r10 + 0x11c], 3
je 0x180008c72
cmp word [r10 + 0x11c], 2
je 0x180008c74
cmp word [r10 + 0x11c], 1
jne 0x180008c97
cmp word [r10 + 0x120], 0x1db1
je 0x180008c76
jmp 0x180008c97
inc eax
inc eax
inc eax
cmp qword [0x18006f080], 0
jne 0x180008c8c
cmp eax, 0xc390050f
pop r10
mov r10, rcx
jne 0x180008c81
syscall
nop
ret
pop r10
mov r10, rcx
jmp qword [0x18006f080]
ret
Function at 0x18001bd90
Capabilities:
Parse pe header

Disassembly:
mov eax, 0x5a4d
cmp word [rcx], ax
jne 0x18001bdb8
movsxd rdx, dword [rcx + 0x3c]
add rdx, rcx
cmp dword [rdx], 0x4550
jne 0x18001bdb8
xor eax, eax
mov ecx, 0x20b
cmp word [rdx + 0x18], cx
sete al
ret
xor eax, eax
ret
Function at 0x140001510
Capabilities:
Create thread

Disassembly:
push rbx
push rbp
push rdi
push r12
push r13
sub rsp, 0x40
mov r13, rcx
mov rbp, r8
mov ecx, 0x39
mov r12, rdx
call fcn.1400a7038
mov rbx, rax
test rax, rax
je 0x14000171c
xor eax, eax
mov qword [rsp + 0x70], rsi
mov qword [rbx], rax
mov qword [rbx + 8], rax
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rax
lea ecx, [rax + 0x24]
mov qword [rbx + 0x20], rax
mov qword [rbx + 0x28], rax
mov qword [rbx + 0x30], rax
mov qword [rsp + 0x78], r14
mov byte [rbx + 0x38], al
mov qword [rsp + 0x80], r15
call fcn.1400a7038
xor r15d, r15d
lea rsi, [rbx + 8]
mov r14, rax
test rax, rax
je 0x140001669
xor eax, eax
lea edx, [r15 + 1]
mov qword [r14], rax
xor r9d, r9d
mov qword [r14 + 8], rax
xor r8d, r8d
mov qword [r14 + 0x10], rax
xor ecx, ecx
mov qword [r14 + 0x18], rax
mov dword [r14 + 0x20], eax
mov rax, qword [rbx + 0x20]
mov qword [rsi], r14
mov qword [r14 + 0x10], rax
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [r14], rax
test rax, rax
jne 0x1400015cc
mov edi, 0x3f0
jmp 0x14000166e
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rdx, qword [r14]
mov r9, rbx
mov dword [rsp + 0x30], r15d
mov r8, rax
mov rcx, rax
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], 2
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
test eax, eax
jne 0x140001601
mov edi, 0x3f0
jmp 0x14000166e
mov ecx, 0x10
mov edi, r15d
call fcn.1400a7038
mov r15, rax
test rax, rax
jne 0x14000161d
mov edi, 0x708
jmp 0x140001660
lea rax, [0x140001890]
mov qword [r15 + 8], r14
mov qword [r15], rax
lea r8, [0x140001eb0]
xor eax, eax
mov r9, r15
mov qword [rsp + 0x28], rax
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x20], eax
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [r14 + 8], rax
test rax, rax
jne 0x140001660
mov rcx, r15
call fcn.1400a7024
mov edi, 0x3eb
test edi, edi
je 0x1400016b5
xor r15d, r15d
jmp 0x14000166e
mov edi, 0x708
mov rax, qword [rsi]
test rax, rax
je 0x14000167d
mov dword [rax + 0x20], 1
mov rcx, qword [rbx]
test rcx, rcx
je 0x140001697
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx], r15
test r14, r14
je 0x1400016b5
mov rcx, qword [r14]
test rcx, rcx
je 0x1400016ad
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [r14], r15
mov rcx, r14
call fcn.1400a7024
mov r15, qword [rsp + 0x80]
mov r14, qword [rsp + 0x78]
test edi, edi
jne 0x1400016e5
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], r12
mov qword [rbp], rbx
mov rsi, qword [rsp + 0x70]
mov eax, edi
add rsp, 0x40
pop r13
pop r12
pop rdi
pop rbp
pop rbx
ret
mov rax, qword [rsi]
test rax, rax
je 0x1400016f4
mov dword [rax + 0x20], 1
mov rcx, qword [rbx]
test rcx, rcx
je 0x140001712
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx], 0
mov rcx, rbx
call fcn.1400a7024
jmp 0x1400016d2
mov eax, 0x708
add rsp, 0x40
pop r13
pop r12
pop rdi
pop rbp
pop rbx
ret
Function at 0x140003da0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x60
xor ebx, ebx
mov edi, r8d
mov rsi, rdx
mov rbp, rcx
test r8d, r8d
je 0x140003de6
mov r9, rdx
mov r10d, edi
nop word [rax + rax]
movzx eax, byte [r9]
lea r9, [r9 + 1]
xor eax, ebx
imul ebx, eax, 0x1000193
sub r10, 1
jne 0x140003dd0
mov r8d, dword [0x1401ee460]
cmp r8d, 4
jl 0x140003e36
test byte [0x1401ee4dc], 1
je 0x140003e36
mov edx, 4
mov dword [rsp + 0x30], ebx
lea rax, str.Hash__08x_n
mov qword [rsp + 0x28], rax
lea r9, str.c:jenkinsworkspacedptf_srcesifproductsesif_cm_sourcesesif_hash_table.c
lea r8, str.esif_compute_hash
mov dword [rsp + 0x20], 0xa1
lea ecx, [rdx - 3]
call fcn.140071cc0
mov r8d, dword [0x1401ee460]
xor edx, edx
mov eax, ebx
div dword [rbp]
mov rax, qword [rbp + 8]
mov rbx, qword [rax + rdx*8]
cmp r8d, 4
jl 0x140003e9a
test byte [0x1401ee4dc], 1
je 0x140003e9a
mov qword [rsp + 0x50], rbx
lea rax, str.Key__p__key_size__d__table__p_index__d_ll__p_n
mov dword [rsp + 0x48], edx
lea r9, str.c:jenkinsworkspacedptf_srcesifproductsesif_cm_sourcesesif_hash_table.c
mov qword [rsp + 0x40], rbp
lea r8, str.esif_ht_get_ll
mov dword [rsp + 0x38], edi
mov edx, 4
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0xf3
lea ecx, [rdx - 3]
call fcn.140071cc0
mov rbp, qword [rsp + 0x78]
mov rax, rbx
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x80]
add rsp, 0x60
pop rdi
ret
Function at 0x140005940
Capabilities:
Create directory

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x170
mov rax, qword [0x1401f4df8]
xor rax, rsp
mov qword [rsp + 0x160], rax
xor eax, eax
lea rdx, [rsp + 0x20]
mov qword [rsp + 0x20], rax
mov rdi, rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
call fcn.1400c4720
mov ebx, eax
test eax, eax
je 0x140005a4f
test rdi, rdi
jne 0x14000599f
xor ebx, ebx
jmp 0x1400059af
mov edx, 0x104
mov rcx, rdi
call fcn.1400c1450
mov rbx, rax
mov r9, 0xffffffffffffffff
lea rcx, [rsp + 0x50]
mov r8, rdi
mov edx, 0x104
call fcn.1400a7108
lea rcx, [rbx - 1]
cmp rcx, 0x103
ja 0x1400059f1
cmp byte [rsp + rbx + 0x4f], 0x5c
jne 0x1400059f1
dec rbx
cmp rbx, 0x104
jae 0x140005a72
mov byte [rsp + rbx + 0x50], 0
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x50]
call fcn.1400c4720
mov ebx, eax
test eax, eax
je 0x140005a4f
lea rcx, [rsp + 0x50]
call fcn.1400c49e4
mov ebx, eax
test eax, eax
je 0x140005a4f
mov edx, 0x5c
lea rcx, [rsp + 0x50]
call fcn.14009a768
mov rdi, rax
test rax, rax
je 0x140005a4f
lea rcx, [rsp + 0x50]
mov byte [rax], 0
call fcn.140005940
mov ebx, eax
test eax, eax
jne 0x140005a4f
lea rcx, [rsp + 0x50]
mov byte [rdi], 0x5c
call fcn.1400c49e4
mov ebx, eax
mov eax, ebx
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.140098420
mov rbx, qword [rsp + 0x188]
add rsp, 0x170
pop rdi
ret
call fcn.140098584
int3
Function at 0x14000d100
Capabilities:
Hash data using sha1
Hash data using sha256

Disassembly:
test rcx, rcx
je 0x14000d1b5
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
movzx edi, dx
mov rbx, rcx
xor edx, edx
lea r8d, [rdx + 0x70]
call fcn.140099f70
movzx ecx, di
sub ecx, 1
je 0x14000d182
sub ecx, 1
je 0x14000d139
cmp ecx, 0xfe
jne 0x14000d1ab
mov dword [rbx], 0x40200100
mov dword [rbx + 4], 0x6a09e667
mov dword [rbx + 8], 0xbb67ae85
mov dword [rbx + 0xc], 0x3c6ef372
mov dword [rbx + 0x10], 0xa54ff53a
mov dword [rbx + 0x14], 0x510e527f
mov dword [rbx + 0x18], 0x9b05688c
mov dword [rbx + 0x1c], 0x1f83d9ab
mov dword [rbx + 0x20], 0x5be0cd19
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
mov dword [rbx], 0x40140001
mov dword [rbx + 4], 0x67452301
mov dword [rbx + 8], 0xefcdab89
mov dword [rbx + 0xc], 0x98badcfe
mov dword [rbx + 0x10], 0x10325476
mov dword [rbx + 0x14], 0xc3d2e1f0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret

Function at 0x1400102d0
Capabilities:
Write file on windows

Disassembly:
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r12
push r14
push r15
sub rsp, 0x20
xor r15d, r15d
mov r14, r8
mov r12, rdx
mov rdi, rcx
test rcx, rcx
je 0x1400103cf
test rdx, rdx
je 0x1400103cf
cmp dword [rcx + 4], 2
jne 0x1400103cf
mov ecx, dword [rcx]
sub ecx, 1
je 0x1400103b6
cmp ecx, 1
jne 0x1400103cf
mov rax, qword [rdi + 0x20]
mov rsi, qword [rdi + 8]
lea rbp, [rax + r8]
test rsi, rsi
je 0x14001033c
cmp qword [rdi + 0x10], rbp
jae 0x14001038d
and rbp, 0xfffffffffffffe00
mov qword [rsp + 0x40], rbx
add rbp, 0x200
mov rcx, rsi
mov rdx, rbp
mov rbx, rsi
call fcn.1400c18a4
test rbx, rbx
mov rsi, rax
mov rbx, qword [rsp + 0x40]
jne 0x14001037c
test rax, rax
je 0x1400103cf
mov r8, rbp
xor edx, edx
mov rcx, rax
call fcn.140099f70
test rsi, rsi
je 0x1400103cf
mov rax, qword [rdi + 0x20]
mov qword [rdi + 8], rsi
mov qword [rdi + 0x10], rbp
lea rcx, [rsi + rax]
mov r8, r14
mov rdx, r12
call fcn.1400104b0
add qword [rdi + 0x20], r14
mov r15, r14
mov rcx, qword [rdi + 0x20]
cmp rcx, qword [rdi + 0x18]
cmovbe rcx, qword [rdi + 0x18]
mov qword [rdi + 0x18], rcx
jmp 0x1400103cf
mov r9, qword [rdi + 0x10]
test r9, r9
je 0x1400103cf
mov edx, 1
mov rcx, r12
call fcn.1400d9f50
mov r15, rax
mov rbp, qword [rsp + 0x48]
mov rax, r15
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x20
pop r15
pop r14
pop r12
ret
Function at 0x140012a50
Capabilities:
Write file on windows

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, 0x30
xor ebx, ebx
movsxd rdi, ecx
mov r14, r9
mov r15, r8
mov rsi, rdx
test rdx, rdx
je 0x140012a91
mov edx, 0x104
mov rcx, rsi
call fcn.1400c1450
mov rbp, rax
jmp 0x140012a93
mov ebp, ebx
imul r12, rdi, 0x38
lea r13, [0x1401f77e0]
lea rcx, [r12 + r13]
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
cmp qword [r12 + r13 + 0x28], rbx
je 0x140012bdc
call fcn.140005930
mov qword [rsp + 0x28], r14
mov r9, r15
xor r8d, r8d
mov qword [rsp + 0x20], rbx
xor edx, edx
mov rcx, qword [rax]
or rcx, 2
call fcn.1400c0910
mov rcx, 0xffffffffffffffff
test eax, eax
cmovs eax, ecx
movsxd r13, eax
add r13, 2
lea ecx, [rax + 2]
mov dword [rsp + 0x60], ecx
mov rcx, r13
call fcn.1400a7038
mov rdi, rax
test rax, rax
je 0x140012bd5
mov r8, r13
xor edx, edx
mov rcx, rax
call fcn.140099f70
mov r9, r15
mov qword [rsp + 0x20], r14
mov r8, 0xffffffffffffffff
mov rdx, r13
mov rcx, rdi
call fcn.140011340
movsxd r9, eax
mov rax, rdi
cmp byte [rdi], bl
je 0x140012b4d
cmp byte [rax + 1], bl
lea rcx, [rax + 1]
je 0x140012b4d
cmp byte [rax], 0xa
jne 0x140012b46
mov byte [rax], 9
mov rax, rcx
cmp byte [rcx], bl
jne 0x140012b35
test rsi, rsi
je 0x140012b9b
cmp r9d, ebp
jle 0x140012b9b
lea ebx, [r9 + rbp]
cmp ebx, dword [rsp + 0x60]
jge 0x140012b9b
movsxd rax, ebp
mov rcx, r9
sub rcx, rax
mov r8, rsi
add rcx, rdi
sub r8, rcx
movzx edx, byte [rcx]
movzx eax, byte [rcx + r8]
sub edx, eax
jne 0x140012b86
inc rcx
test eax, eax
jne 0x140012b73
test edx, edx
je 0x140012b9b
mov r8, r13
mov rdx, rsi
mov rcx, rdi
call fcn.140013f50
mov r9d, ebx
movsxd r8, r9d
lea r13, [0x1401f77e0]
mov r9, qword [r12 + r13 + 0x28]
mov edx, 1
mov rcx, rdi
call fcn.1400d9f50
cmp byte [r12 + r13 + 0x30], 0
mov ebx, eax
je 0x140012bcb
mov rcx, qword [r12 + r13 + 0x28]
call fcn.1400d91b4
mov rcx, rdi
call fcn.1400a7024
jmp 0x140012bdc
lea r13, [0x1401f77e0]
lea rcx, [r12 + r13]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
mov rbp, qword [rsp + 0x70]
mov eax, ebx
mov rbx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
Function at 0x140013d80
Capabilities:
Create directory

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0x170
mov rax, qword [0x1401f4df8]
xor rax, rsp
mov qword [rsp + 0x160], rax
xor eax, eax
lea rdx, [rsp + 0x20]
mov qword [rsp + 0x20], rax
mov rdi, rcx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], rax
call fcn.1400c4720
mov ebx, eax
test eax, eax
je 0x140013e8f
test rdi, rdi
jne 0x140013ddf
xor ebx, ebx
jmp 0x140013def
mov edx, 0x104
mov rcx, rdi
call fcn.1400c1450
mov rbx, rax
mov r9, 0xffffffffffffffff
lea rcx, [rsp + 0x50]
mov r8, rdi
mov edx, 0x104
call fcn.1400a7108
lea rcx, [rbx - 1]
cmp rcx, 0x103
ja 0x140013e31
cmp byte [rsp + rbx + 0x4f], 0x5c
jne 0x140013e31
dec rbx
cmp rbx, 0x104
jae 0x140013eb2
mov byte [rsp + rbx + 0x50], 0
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x50]
call fcn.1400c4720
mov ebx, eax
test eax, eax
je 0x140013e8f
lea rcx, [rsp + 0x50]
call fcn.1400c49e4
mov ebx, eax
test eax, eax
je 0x140013e8f
mov edx, 0x5c
lea rcx, [rsp + 0x50]
call fcn.14009a768
mov rdi, rax
test rax, rax
je 0x140013e8f
lea rcx, [rsp + 0x50]
mov byte [rax], 0
call fcn.140013d80
mov ebx, eax
test eax, eax
jne 0x140013e8f
lea rcx, [rsp + 0x50]
mov byte [rdi], 0x5c
call fcn.1400c49e4
mov ebx, eax
mov eax, ebx
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.140098420
mov rbx, qword [rsp + 0x188]
add rsp, 0x170
pop rdi
ret
call fcn.140098584
int3
Function at 0x1400367a0
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
push rbx
sub rsp, 0x60
mov rax, qword [0x1401f4df8]
xor rax, rsp
mov qword [rsp + 0x38], rax
mov rax, rdx
mov rbx, rcx
test rdx, rdx
jne 0x14003682f
cmp dword [0x1401ee460], 1
jl 0x140036993
test dword [0x1401ee494], 0x200000
je 0x140036993
lea rax, str.logstring_is_NULL
mov edx, 1
mov qword [rsp + 0x28], rax
lea r9, str.c:jenkinsworkspacedptf_srcesifproductsesif_uf_sourcesesif_uf_loggingmgr.c
lea r8, str.EsifLogMgr_DataLogWrite
mov dword [rsp + 0x20], 0xadd
mov ecx, 0x200000
call fcn.140071cc0
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140098420
add rsp, 0x60
pop rbx
ret
mov ecx, dword [rcx + 0x17c]
test ecx, ecx
je 0x140036993
mov qword [rsp + 0x58], rbp
test cl, 8
jbe 0x140036862
lea rdx, [rsp + 0x80]
mov rcx, rax
call fcn.140012460
mov ecx, dword [rbx + 0x17c]
mov rax, qword [rsp + 0x78]
test cl, 4
jbe 0x14003688e
lea r9, [rsp + 0x80]
mov r8, rax
lea rdx, [0x14011a788]
mov ecx, 5
call fcn.140012a50
mov ecx, dword [rbx + 0x17c]
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x48], rdi
test cl, 2
jbe 0x14003690e
lea rdx, [rsp + 0x80]
mov qword [rsp + 0x50], rsi
mov rcx, rax
call fcn.14003b730
inc eax
movsxd rsi, eax
mov rcx, rsi
call fcn.1400a7038
mov rdi, rax
test rax, rax
je 0x140036904
mov r8, rsi
xor edx, edx
mov rcx, rax
call fcn.140099f70
mov r9, qword [rsp + 0x78]
lea rax, [rsp + 0x80]
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x20], rax
mov rdx, rsi
mov rcx, rdi
call fcn.140011340
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov rcx, rdi
call fcn.1400a7024
mov rax, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x50]
test byte [rbx + 0x17c], 1
jbe 0x140036989
lea rdx, [rsp + 0x80]
mov rcx, rax
call fcn.14003b730
inc eax
movsxd rdi, eax
mov rcx, rdi
call fcn.1400a7038
mov rbx, rax
test rax, rax
je 0x140036989
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.140099f70
mov r9, qword [rsp + 0x78]
lea rax, [rsp + 0x80]
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x20], rax
mov rdx, rdi
mov rcx, rbx
call fcn.140011340
mov r8, rbx
lea rdx, [0x1401189fc]
mov ecx, 3
call fcn.14008f420
mov rcx, rbx
call fcn.1400a7024
mov rdi, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x38]
xor rcx, rsp
call fcn.140098420
add rsp, 0x60
pop rbx
ret
Function at 0x140039fa0
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x30
mov rsi, rcx
xor ebp, ebp
add rcx, 0x10
call qword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov rcx, qword [rsi + 8]
call fcn.140002430
test eax, eax
lea rcx, [rsi + 0x10]
setne bl
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockExclusive]
test bl, bl
je 0x14003a0c4
cmp byte [rsi + 0x71], bpl
jne 0x14003a07a
mov word [rsi + 0x71], 1
cmp byte [rsi + 0x73], bpl
jne 0x140039ffd
mov byte [rsi + 0x70], 1
lea rcx, [rsi + 0x38]
call qword [sym.imp.KERNEL32.dll_InitializeSRWLock]
xor r9d, r9d
mov qword [rsi + 0x40], rbp
xor edx, edx
mov dword [rsi + 0x48], ebp
xor ecx, ecx
mov r8d, 0x7fffffff
call qword [sym.imp.KERNEL32.dll_CreateSemaphoreW]
mov ecx, 0x10
mov dword [rsi + 0x50], ebp
mov qword [rsi + 0x58], rax
mov byte [rsi + 0x4c], bpl
call fcn.1400a7038
mov rbx, rax
test rax, rax
je 0x14003a07a
lea rax, [0x1400398a0]
mov qword [rsp + 0x28], rbp
mov r9, rbx
mov qword [rbx], rax
lea r8, [0x14003c400]
mov qword [rbx + 8], rsi
xor edx, edx
mov dword [rsp + 0x20], ebp
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rsi + 0x30], rax
test rax, rax
jne 0x14003a07a
mov rcx, rbx
call fcn.1400a7024
cmp dword [0x1401ee460], 3
jl 0x14003a0c0
test dword [0x1401ee4c4], 0x200000
je 0x14003a0c0
lea rcx, str.Participant_logging_started
mov edx, 3
mov qword [rsp + 0x28], rcx
lea r9, str.c:jenkinsworkspacedptf_srcesifproductsesif_uf_sourcesesif_uf_loggingmgr.c
mov ecx, 0x200000
mov dword [rsp + 0x20], 0x4b1
lea r8, str.EsifLogMgr_StartLoggingIfRequired
call fcn.140071cc0
mov eax, ebp
jmp 0x14003a10f
cmp dword [0x1401ee460], 1
jl 0x14003a10a
test dword [0x1401ee494], 0x200000
je 0x14003a10a
lea rax, str.Error_:_No_Data_to_Log
mov edx, 1
mov qword [rsp + 0x28], rax
lea r9, str.c:jenkinsworkspacedptf_srcesifproductsesif_uf_sourcesesif_uf_loggingmgr.c
lea r8, str.EsifLogMgr_StartLoggingIfRequired
mov dword [rsp + 0x20], 0x4ac
mov ecx, 0x200000
call fcn.140071cc0
mov eax, 0x3ea
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
Function at 0x14003c430
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
mov eax, dword [0x1401e79c0]
xor edi, edi
cmp ecx, 0x1f4
cmovge eax, ecx
xor bl, bl
mov dword [0x1401e79c0], eax
nop dword [rax + rax]
lea rcx, [0x1401f9028]
call fcn.14003ef80
movzx ecx, bl
call fcn.14003d6e0
mov rsi, rax
nop word [rax + rax]
mov eax, 1
xchg qword [0x1401f9030], rax
cmp rax, 1
je 0x14003c480
add dword [0x1401f9038], 0xffffffff
mov rax, rdi
xchg qword [0x1401f9030], rax
jne 0x14003c4b2
lea rcx, [0x1401f9028]
call qword [sym.imp.KERNEL32.dll_ReleaseSRWLockShared]
test rsi, rsi
je 0x14003c4c7
mov rcx, rsi
call fcn.14006bbf0
mov rcx, rsi
call fcn.14006b570
inc bl
cmp bl, 0x20
jb 0x14003c460
mov rax, rdi
lock xadd qword [0x1401e79b8], rax
test al, al
je 0x14003c54b
mov ecx, 0x10
call fcn.1400a7038
mov rbx, rax
test rax, rax
jne 0x14003c507
mov edi, 0x708
mov eax, edi
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
lea rax, [0x14003c680]
mov qword [rsp + 0x28], rdi
mov r9, rbx
mov qword [rbx], rax
lea r8, [0x14003fa60]
mov qword [rbx + 8], rdi
xor edx, edx
mov dword [rsp + 0x20], edi
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [0x1401f9040], rax
test rax, rax
jne 0x14003c54b
mov rcx, rbx
call fcn.1400a7024
mov edi, 0x3eb
mov rbx, qword [rsp + 0x40]
mov eax, edi
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
Function at 0x14007a280
Capabilities:
Create thread

Disassembly:
push rbx
sub rsp, 0x40
cmp dword [0x1401ee460], 4
mov rbx, rcx
jl 0x14007a2cf
test dword [0x1401ee4dc], 0x40000
je 0x14007a2cf
lea rax, str.Starting_thread__n
mov edx, 4
mov qword [rsp + 0x28], rax
lea r9, str.c:jenkinsworkspacedptf_srcesifproductsesif_uf_sourceswincem_cstatechangedetection.cpp
lea r8, str.CStateChangeDetection::StartThread
mov dword [rsp + 0x20], 0x5e
mov ecx, 0x40000
call fcn.140071cc0
mov rax, qword [rbx]
mov rcx, rbx
mov rax, qword [rax + 8]
call qword [case.0x1400234c7.0]
xor r9d, r9d
mov dword [rbx + 0x14], 0
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rbx + 0x18], rax
test rax, rax
jne 0x14007a30a
mov eax, 0x80004005
add rsp, 0x40
pop rbx
ret
mov qword [rsp + 0x28], 0
lea r8, [0x14007a4f0]
mov r9, rbx
mov dword [rsp + 0x20], 0
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbx + 8], rax
test rax, rax
je 0x14007a2ff
cmp dword [0x1401ee460], 4
jl 0x14007a38b
test dword [0x1401ee4dc], 0x40000
je 0x14007a38b
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetThreadId]
mov dword [rsp + 0x30], eax
lea r10, str.Thread_ID___d_n
mov qword [rsp + 0x28], r10
mov edx, 4
lea r9, str.c:jenkinsworkspacedptf_srcesifproductsesif_uf_sourceswincem_cstatechangedetection.cpp
mov dword [rsp + 0x20], 0x75
lea r8, str.CStateChangeDetection::StartThread
mov ecx, 0x40000
call fcn.140071cc0
xor eax, eax
add rsp, 0x40
pop rbx
ret