joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140051ea0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
sub rsp, 0x428
mov rax, qword [0x14027aef8]
xor rax, rsp
mov qword [rsp + 0x410], rax
xor edx, edx
lea rcx, [rsp + 0x30]
mov r8d, 0x104
call fcn.140102230
call fcn.140035f70
mov qword [0x14027d4d0], rax
test rax, rax
jne 0x140051ef9
mov eax, 0x708
mov rcx, qword [rsp + 0x410]
xor rcx, rsp
call fcn.140100920
add rsp, 0x428
ret
xor r9d, r9d
mov qword [rsp + 0x420], rdi
mov edx, 0x80
mov qword [rsp + 0x20], 0
lea rcx, [rsp + 0x390]
lea r8d, [r9 + 7]
call fcn.140047820
lea r8, [rsp + 0x30]
lea rdx, str.upe_.dll
lea rcx, [rsp + 0x390]
call fcn.140053be0
mov rdi, rax
test rax, rax
je 0x140052118
mov qword [rsp + 0x430], rbx
mov qword [rsp + 0x438], rsi
lea rsi, [0x14017d5dc]
nop
mov ecx, 0x30
call fcn.140110008
mov rbx, rax
test rax, rax
je 0x1400520ea
xorps xmm0, xmm0
lea rcx, [rsp + 0x30]
movups xmmword [rax], xmm0
mov edx, 0x2e
movups xmmword [rax + 0x10], xmm0
movups xmmword [rax + 0x20], xmm0
call fcn.1401023d0
test rax, rax
je 0x140051fba
lea rcx, [rsp + 0x30]
mov byte [rax], 0
call fcn.14012dca8
mov qword [rbx + 0x18], rax
mov rdx, rbx
mov rcx, qword [0x14027d4d0]
call fcn.140035dc0
jmp 0x140051fc2
mov rcx, rbx
call fcn.14010fff4
xor edx, edx
lea rcx, [rsp + 0x140]
mov r8d, 0x140
call fcn.140102230
xor edx, edx
lea rcx, [rsp + 0x280]
mov r8d, 0x104
call fcn.140102230
nop dword [rax]
mov rcx, qword [rdi]
lea rdx, [rsp + 0x140]
call qword [sym.imp.KERNEL32.DLL_FindNextFileA]
cmp eax, 1
jne 0x1400520c3
lea rax, [rsp + 0x16c]
mov ecx, 0x104
mov qword [rsp + 0x28], rax
lea r9, [rdi + 8]
lea r8, [0x14017d5e0]
mov qword [rsp + 0x20], rsi
lea rdx, [rsp + 0x280]
call fcn.140054020
lea rcx, [rsp + 0x280]
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400520b3
bt eax, 0xa
jae 0x1400520b3
lea rcx, [rsp + 0x280]
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x14005209e
bt eax, 0xa
jae 0x14005209e
lea rcx, [rsp + 0x280]
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x140052091
test al, 0x10
je 0x140052091
lea rcx, [rsp + 0x280]
call fcn.14012db94
jmp 0x14005209e
lea rcx, [rsp + 0x280]
call fcn.14011295c
xor edx, edx
lea rcx, [rsp + 0x140]
mov r8d, 0x140
call fcn.140102230
cmp byte [rsp + 0x16c], 0
je 0x140051ff0
jmp 0x1400520c7
test eax, eax
je 0x1400520ea
mov r9, 0xffffffffffffffff
lea r8, [rsp + 0x16c]
mov edx, 0x104
lea rcx, [rsp + 0x30]
call fcn.1401100d8
jmp 0x140051f60
mov rcx, qword [rdi]
mov rsi, qword [rsp + 0x438]
mov rbx, qword [rsp + 0x430]
cmp rcx, 0xffffffffffffffff
je 0x140052110
call qword [sym.imp.KERNEL32.DLL_FindClose]
mov qword [rdi], 0xffffffffffffffff
mov rcx, rdi
call fcn.14010fff4
mov rdi, qword [rsp + 0x420]
xor eax, eax
mov rcx, qword [rsp + 0x410]
xor rcx, rsp
call fcn.140100920
add rsp, 0x428
ret
Function at 0x140053be0
Capabilities:
Check if file exists
Enumerate files on windows
Get file attributes

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
sub rsp, 0x290
mov rax, qword [0x14027aef8]
xor rax, rsp
mov qword [rsp + 0x280], rax
mov rsi, r8
mov rbx, rdx
mov rdi, rcx
xor edx, edx
mov r8d, 0x140
lea rcx, [rsp + 0x30]
call fcn.140102230
lea rbp, [0x14017d5dc]
mov qword [rsp + 0x28], rbx
mov r9, rdi
mov qword [rsp + 0x20], rbp
lea r8, [0x14017d5e0]
mov ecx, 0x104
lea rdx, [rsp + 0x170]
call fcn.140054020
mov ecx, 0x110
call fcn.140110008
mov rbx, rax
test rax, rax
je 0x140053c6b
xor edx, edx
mov r8d, 0x110
mov rcx, rax
call fcn.140102230
test rbx, rbx
je 0x140053dc0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.DLL_FindFirstFileA]
mov qword [rbx], rax
cmp rax, 0xffffffffffffffff
je 0x140053d97
nop dword [rax]
nop dword [rax + rax]
lea rax, [rsp + 0x5c]
mov r9, rdi
mov qword [rsp + 0x28], rax
lea r8, [0x14017d5e0]
lea rdx, [rsp + 0x170]
mov qword [rsp + 0x20], rbp
mov ecx, 0x104
call fcn.140054020
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x140053d42
bt eax, 0xa
jae 0x140053d42
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x140053d30
bt eax, 0xa
jae 0x140053d30
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x140053d23
test al, 0x10
je 0x140053d23
lea rcx, [rsp + 0x170]
call fcn.14012db94
jmp 0x140053d30
lea rcx, [rsp + 0x170]
call fcn.14011295c
xor edx, edx
lea rcx, [rsp + 0x30]
mov r8d, 0x140
call fcn.140102230
cmp byte [rsp + 0x5c], 0
jne 0x140053d66
mov rcx, qword [rbx]
lea rdx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.DLL_FindNextFileA]
test eax, eax
je 0x140053ca0
cmp byte [rsp + 0x5c], 0
je 0x140053d9e
lea rcx, [rbx + 8]
mov r9, 0xffffffffffffffff
mov r8, rdi
mov edx, 0x104
call fcn.1401100d8
mov r9, 0xffffffffffffffff
lea r8, [rsp + 0x5c]
mov edx, 0x104
mov rcx, rsi
call fcn.1401100d8
cmp byte [rsp + 0x5c], 0
jne 0x140053dc0
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x140053db4
call qword [sym.imp.KERNEL32.DLL_FindClose]
mov qword [rbx], 0xffffffffffffffff
mov rcx, rbx
call fcn.14010fff4
xor eax, eax
jmp 0x140053dc3
mov rax, rbx
mov rcx, qword [rsp + 0x280]
xor rcx, rsp
call fcn.140100920
mov rbx, qword [rsp + 0x2c8]
add rsp, 0x290
pop rdi
pop rsi
pop rbp
ret
Function at 0x14006c930
Capabilities:
Check if file exists
Enumerate files on windows
Get file attributes

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
sub rsp, 0x290
mov rax, qword [0x14027aef8]
xor rax, rsp
mov qword [rsp + 0x280], rax
mov rsi, r8
mov rbx, rdx
mov rdi, rcx
xor edx, edx
mov r8d, 0x140
lea rcx, [rsp + 0x30]
call fcn.140102230
lea rbp, [0x14017d5dc]
mov qword [rsp + 0x28], rbx
mov r9, rdi
mov qword [rsp + 0x20], rbp
lea r8, [0x14017d5e0]
mov ecx, 0x104
lea rdx, [rsp + 0x170]
call fcn.14006cb80
mov ecx, 0x110
call fcn.140110008
mov rbx, rax
test rax, rax
je 0x14006c9bb
xor edx, edx
mov r8d, 0x110
mov rcx, rax
call fcn.140102230
test rbx, rbx
je 0x14006cb10
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.DLL_FindFirstFileA]
mov qword [rbx], rax
cmp rax, 0xffffffffffffffff
je 0x14006cae7
nop dword [rax]
nop dword [rax + rax]
lea rax, [rsp + 0x5c]
mov r9, rdi
mov qword [rsp + 0x28], rax
lea r8, [0x14017d5e0]
lea rdx, [rsp + 0x170]
mov qword [rsp + 0x20], rbp
mov ecx, 0x104
call fcn.14006cb80
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x14006ca92
bt eax, 0xa
jae 0x14006ca92
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x14006ca80
bt eax, 0xa
jae 0x14006ca80
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x14006ca73
test al, 0x10
je 0x14006ca73
lea rcx, [rsp + 0x170]
call fcn.14012db94
jmp 0x14006ca80
lea rcx, [rsp + 0x170]
call fcn.14011295c
xor edx, edx
lea rcx, [rsp + 0x30]
mov r8d, 0x140
call fcn.140102230
cmp byte [rsp + 0x5c], 0
jne 0x14006cab6
mov rcx, qword [rbx]
lea rdx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.DLL_FindNextFileA]
test eax, eax
je 0x14006c9f0
cmp byte [rsp + 0x5c], 0
je 0x14006caee
lea rcx, [rbx + 8]
mov r9, 0xffffffffffffffff
mov r8, rdi
mov edx, 0x104
call fcn.1401100d8
mov r9, 0xffffffffffffffff
lea r8, [rsp + 0x5c]
mov edx, 0x104
mov rcx, rsi
call fcn.1401100d8
cmp byte [rsp + 0x5c], 0
jne 0x14006cb10
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x14006cb04
call qword [sym.imp.KERNEL32.DLL_FindClose]
mov qword [rbx], 0xffffffffffffffff
mov rcx, rbx
call fcn.14010fff4
xor eax, eax
jmp 0x14006cb13
mov rax, rbx
mov rcx, qword [rsp + 0x280]
xor rcx, rsp
call fcn.140100920
mov rbx, qword [rsp + 0x2c8]
add rsp, 0x290
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400779c0
Capabilities:
Print debug messages

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
push rbx
push rdi
sub rsp, 0x68
mov rax, qword [0x14027aef8]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov r8, rdx
mov rbx, rcx
test rdx, rdx
jne 0x140077a6c
cmp dword [0x140274810], 1
jl 0x140077a09
test dword [0x140274844], 0x200000
je 0x140077a09
lea edi, [rdx + 1]
jmp 0x140077a0b
xor edi, edi
mov edx, 1
mov ecx, 0x200000
call fcn.1400e1c40
test edi, edi
jne 0x140077a26
test eax, eax
je 0x140077bf3
lea rcx, str.logstring_is_NULL
mov r9d, 1
mov qword [rsp + 0x38], rcx
mov r8d, 0x200000
lea rcx, str.C:jenkinsworkspacedptfSrcESIFProductsESIF_UFSourcesesif_uf_loggingmgr.c
mov dword [rsp + 0x30], 0xbb5
mov qword [rsp + 0x28], rcx
mov edx, eax
lea rcx, str.EsifLogMgr_DataLogWrite
mov qword [rsp + 0x20], rcx
mov ecx, edi
call fcn.1400ba210
jmp 0x140077bf3
mov eax, dword [rcx + 0x17c]
test eax, eax
je 0x140077bf3
xor edi, edi
test al, 8
jbe 0x140077aad
cmp byte [rcx + 0x70], dil
je 0x140077a8f
test byte [rcx + 0x180], 8
jne 0x140077aad
lea rdx, [rsp + 0x90]
mov rcx, r8
call fcn.140046f30
mov eax, dword [rbx + 0x17c]
mov r8, qword [rsp + 0x88]
test al, 4
jbe 0x140077ae7
cmp byte [rbx + 0x70], dil
je 0x140077ac0
test byte [rbx + 0x180], 4
jne 0x140077ae7
lea r9, [rsp + 0x90]
mov ecx, 5
lea rdx, [0x1401866f8]
call fcn.140047520
mov eax, dword [rbx + 0x17c]
mov r8, qword [rsp + 0x88]
mov qword [rsp + 0x58], rsi
test al, 2
jbe 0x140077b6e
cmp byte [rbx + 0x70], dil
je 0x140077aff
test byte [rbx + 0x180], 2
jne 0x140077b6e
lea rdx, [rsp + 0x90]
mov qword [rsp + 0x60], rbp
mov rcx, r8
call fcn.14007e4c0
inc eax
movsxd rbp, eax
mov rcx, rbp
call fcn.14007e510
mov rsi, rax
test rax, rax
je 0x140077b61
mov r9, qword [rsp + 0x88]
lea rax, [rsp + 0x90]
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x20], rax
mov rdx, rbp
mov rcx, rsi
call fcn.140049d80
mov rcx, rsi
call qword [sym.imp.KERNEL32.DLL_OutputDebugStringA]
mov rcx, rsi
call fcn.14010fff4
mov r8, qword [rsp + 0x88]
mov rbp, qword [rsp + 0x60]
test byte [rbx + 0x17c], 1
jbe 0x140077bee
cmp byte [rbx + 0x70], dil
je 0x140077b86
test byte [rbx + 0x180], 1
jne 0x140077bee
lea rdx, [rsp + 0x90]
mov rcx, r8
call fcn.14007e4c0
inc eax
movsxd rsi, eax
mov rcx, rsi
call fcn.14007e510
mov rbx, rax
test rax, rax
je 0x140077bee
mov r9, qword [rsp + 0x88]
lea rax, [rsp + 0x90]
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x20], rax
mov rdx, rsi
mov rcx, rbx
call fcn.140049d80
mov r8, rbx
lea rdx, [0x14018422c]
mov ecx, 3
call fcn.1400d8f30
mov rcx, rbx
call fcn.14010fff4
mov rsi, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.140100920
add rsp, 0x68
pop rdi
pop rbx
ret
Function at 0x14007bbf0
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x40
mov rsi, rcx
xor ebp, ebp
add rcx, 0x10
call qword [sym.imp.KERNEL32.DLL_AcquireSRWLockExclusive]
mov rcx, qword [rsi + 8]
call fcn.140036210
test eax, eax
lea rcx, [rsi + 0x10]
setne bl
call qword [sym.imp.KERNEL32.DLL_ReleaseSRWLockExclusive]
test bl, bl
je 0x14007bd48
cmp byte [rsi + 0x71], bpl
jne 0x14007bcd0
mov word [rsi + 0x71], 1
cmp byte [rsi + 0x73], bpl
jne 0x14007bc53
mov dword [rsi + 0x180], ebp
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.140110008
mov rbx, rax
test rax, rax
je 0x14007bcd0
lea rax, [0x14007ad90]
mov qword [rsp + 0x28], rbp
mov r9, rbx
mov qword [rbx], rax
lea r8, [0x14007f240]
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 0x14007bcd0
mov rcx, rbx
call fcn.14010fff4
cmp dword [0x140274810], 3
jl 0x14007bcea
test dword [0x140274874], 0x200000
mov ebx, 1
jne 0x14007bcec
mov ebx, ebp
mov edx, 3
mov ecx, 0x200000
call fcn.1400e1c40
test ebx, ebx
jne 0x14007bd03
test eax, eax
je 0x14007bd44
lea rcx, str.Participant_logging_started
mov r9d, 3
mov qword [rsp + 0x38], rcx
mov r8d, 0x200000
lea rcx, str.C:jenkinsworkspacedptfSrcESIFProductsESIF_UFSourcesesif_uf_loggingmgr.c
mov dword [rsp + 0x30], 0x48a
mov qword [rsp + 0x28], rcx
mov edx, eax
lea rcx, str.EsifLogMgr_StartLoggingIfRequired
mov qword [rsp + 0x20], rcx
mov ecx, ebx
call fcn.1400ba210
mov eax, ebp
jmp 0x14007bdba
mov ebx, 1
cmp dword [0x140274810], ebx
jl 0x14007bd63
test dword [0x140274844], 0x200000
je 0x14007bd63
mov ebp, ebx
mov edx, ebx
mov ecx, 0x200000
call fcn.1400e1c40
test ebp, ebp
jne 0x14007bd77
test eax, eax
je 0x14007bdb5
lea rcx, str.Error_:_No_Data_to_Log
mov r9d, ebx
mov qword [rsp + 0x38], rcx
mov r8d, 0x200000
lea rcx, str.C:jenkinsworkspacedptfSrcESIFProductsESIF_UFSourcesesif_uf_loggingmgr.c
mov dword [rsp + 0x30], 0x485
mov qword [rsp + 0x28], rcx
mov edx, eax
lea rcx, str.EsifLogMgr_StartLoggingIfRequired
mov qword [rsp + 0x20], rcx
mov ecx, ebp
call fcn.1400ba210
mov eax, 0x3ea
mov rbx, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
add rsp, 0x40
pop rdi
ret
Function at 0x14007f270
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x30
mov eax, dword [0x14026b108]
xor edi, edi
cmp ecx, 0x1f4
cmovge eax, ecx
xor bl, bl
mov dword [0x14026b108], eax
nop dword [rax + rax]
lea rcx, [0x14027ec58]
call fcn.140082a30
movzx ecx, bl
call fcn.1400808e0
mov rsi, rax
nop word [rax + rax]
mov eax, 1
xchg qword [0x14027ec60], rax
cmp rax, 1
je 0x14007f2c0
add dword [0x14027ec68], 0xffffffff
mov rax, rdi
xchg qword [0x14027ec60], rax
jne 0x14007f2f2
lea rcx, [0x14027ec58]
call qword [sym.imp.KERNEL32.DLL_ReleaseSRWLockShared]
test rsi, rsi
je 0x14007f307
mov rcx, rsi
call fcn.1400b6410
mov rcx, rsi
call fcn.1400b6160
inc bl
cmp bl, 0x20
jb 0x14007f2a0
mov rax, rdi
lock xadd qword [0x14026b100], rax
test al, al
je 0x14007f38b
mov ecx, 0x10
call fcn.140110008
mov rbx, rax
test rax, rax
jne 0x14007f347
mov edi, 0x708
mov eax, edi
mov rbx, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
lea rax, [0x14007f4c0]
mov qword [rsp + 0x28], rdi
mov r9, rbx
mov qword [rbx], rax
lea r8, [0x140083560]
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 [0x14027ec70], rax
test rax, rax
jne 0x14007f38b
mov rcx, rbx
call fcn.14010fff4
mov edi, 0x3eb
mov rbx, qword [rsp + 0x40]
mov eax, edi
mov rsi, qword [rsp + 0x48]
add rsp, 0x30
pop rdi
ret
Function at 0x1400a74f0
Capabilities:
Check if file exists
Enumerate files on windows
Get file attributes

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
sub rsp, 0x290
mov rax, qword [0x14027aef8]
xor rax, rsp
mov qword [rsp + 0x280], rax
mov rsi, r8
mov rbx, rdx
mov rdi, rcx
xor edx, edx
mov r8d, 0x140
lea rcx, [rsp + 0x30]
call fcn.140102230
lea rbp, [0x14017d5dc]
mov qword [rsp + 0x28], rbx
mov r9, rdi
mov qword [rsp + 0x20], rbp
lea r8, [0x14017d5e0]
mov ecx, 0x104
lea rdx, [rsp + 0x170]
call fcn.1400a7c20
mov ecx, 0x110
call fcn.140110008
mov rbx, rax
test rax, rax
je 0x1400a757b
xor edx, edx
mov r8d, 0x110
mov rcx, rax
call fcn.140102230
test rbx, rbx
je 0x1400a76d0
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.DLL_FindFirstFileA]
mov qword [rbx], rax
cmp rax, 0xffffffffffffffff
je 0x1400a76a7
nop dword [rax]
nop dword [rax + rax]
lea rax, [rsp + 0x5c]
mov r9, rdi
mov qword [rsp + 0x28], rax
lea r8, [0x14017d5e0]
lea rdx, [rsp + 0x170]
mov qword [rsp + 0x20], rbp
mov ecx, 0x104
call fcn.1400a7c20
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400a7652
bt eax, 0xa
jae 0x1400a7652
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400a7640
bt eax, 0xa
jae 0x1400a7640
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400a7633
test al, 0x10
je 0x1400a7633
lea rcx, [rsp + 0x170]
call fcn.14012db94
jmp 0x1400a7640
lea rcx, [rsp + 0x170]
call fcn.14011295c
xor edx, edx
lea rcx, [rsp + 0x30]
mov r8d, 0x140
call fcn.140102230
cmp byte [rsp + 0x5c], 0
jne 0x1400a7676
mov rcx, qword [rbx]
lea rdx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.DLL_FindNextFileA]
test eax, eax
je 0x1400a75b0
cmp byte [rsp + 0x5c], 0
je 0x1400a76ae
lea rcx, [rbx + 8]
mov r9, 0xffffffffffffffff
mov r8, rdi
mov edx, 0x104
call fcn.1401100d8
mov r9, 0xffffffffffffffff
lea r8, [rsp + 0x5c]
mov edx, 0x104
mov rcx, rsi
call fcn.1401100d8
cmp byte [rsp + 0x5c], 0
jne 0x1400a76d0
mov rcx, qword [rbx]
cmp rcx, 0xffffffffffffffff
je 0x1400a76c4
call qword [sym.imp.KERNEL32.DLL_FindClose]
mov qword [rbx], 0xffffffffffffffff
mov rcx, rbx
call fcn.14010fff4
xor eax, eax
jmp 0x1400a76d3
mov rax, rbx
mov rcx, qword [rsp + 0x280]
xor rcx, rsp
call fcn.140100920
mov rbx, qword [rsp + 0x2c8]
add rsp, 0x290
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400a7700
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x290
mov rax, qword [0x14027aef8]
xor rax, rsp
mov qword [rsp + 0x280], rax
mov rdi, r8
mov rbx, rcx
mov r8d, 0x140
lea rcx, [rsp + 0x30]
xor edx, edx
call fcn.140102230
test rbx, rbx
je 0x1400a783f
xor edx, edx
lea rcx, [rsp + 0x170]
mov r8d, 0x104
call fcn.140102230
lea rsi, [0x14017d5dc]
mov rcx, qword [rbx]
lea rdx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.DLL_FindNextFileA]
cmp eax, 1
jne 0x1400a7867
lea rax, [rsp + 0x5c]
mov ecx, 0x104
mov qword [rsp + 0x28], rax
lea r9, [rbx + 8]
lea r8, [0x14017d5e0]
mov qword [rsp + 0x20], rsi
lea rdx, [rsp + 0x170]
call fcn.1400a7c20
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400a781b
bt eax, 0xa
jae 0x1400a781b
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400a7809
bt eax, 0xa
jae 0x1400a7809
lea rcx, [rsp + 0x170]
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400a77fc
test al, 0x10
je 0x1400a77fc
lea rcx, [rsp + 0x170]
call fcn.14012db94
jmp 0x1400a7809
lea rcx, [rsp + 0x170]
call fcn.14011295c
xor edx, edx
lea rcx, [rsp + 0x30]
mov r8d, 0x140
call fcn.140102230
cmp byte [rsp + 0x5c], 0
je 0x1400a7761
mov r9, 0xffffffffffffffff
lea r8, [rsp + 0x5c]
mov edx, 0x104
mov rcx, rdi
call fcn.1401100d8
mov rax, rdi
mov rcx, qword [rsp + 0x280]
xor rcx, rsp
call fcn.140100920
lea r11, [rsp + 0x290]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
test eax, eax
jne 0x1400a7826
xor eax, eax
jmp 0x1400a7842

Function at 0x1400a7870
Capabilities:
Check if file exists
Get file attributes

Disassembly:
push rbx
sub rsp, 0x60
mov rax, qword [0x14027aef8]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov rbx, rcx
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400a78c8
bt eax, 0xa
jae 0x1400a78c8
mov rcx, rbx
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400a78b5
test al, 0x10
je 0x1400a78b5
mov rcx, rbx
call fcn.14012db94
jmp 0x1400a78bd
mov rcx, rbx
call fcn.14011295c
test eax, eax
je 0x1400a78c8
mov ecx, 0x1f
jmp 0x1400a78d7
lea rdx, [rsp + 0x20]
mov rcx, rbx
call fcn.14012d64c
mov ecx, eax
xor eax, eax
test ecx, ecx
sete al
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.140100920
add rsp, 0x60
pop rbx
ret
Function at 0x1400a7900
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
sub rsp, 0x50
mov rax, qword [0x14027aef8]
xor rax, rsp
mov qword [rsp + 0x48], rax
xor ebp, ebp
mov rbx, r8
mov qword [rsp + 0x20], rbp
mov rsi, rdx
mov rdi, rcx
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400a7976
bt eax, 0xa
jae 0x1400a7976
mov rcx, rdi
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400a7958
test al, 0x10
je 0x1400a7958
mov rcx, rdi
call fcn.14012db94
jmp 0x1400a7960
mov rcx, rdi
call fcn.14011295c
test eax, eax
je 0x1400a7976
test rbx, rbx
je 0x1400a796f
mov dword [rbx], 0x1f
xor eax, eax
jmp 0x1400a7a1e
xorps xmm0, xmm0
lea rcx, [rsp + 0x28]
mov r9, 0xffffffffffffffff
mov r8, rsi
movups xmmword [rsp + 0x28], xmm0
movups xmmword [rsp + 0x38], xmm0
lea edx, [r9 + 0x21]
call fcn.1401100d8
lea rdx, [0x14017de48]
mov rcx, rsi
call fcn.14012ef40
test rax, rax
je 0x1400a79f7
mov edx, 0x63
mov rcx, rsi
call fcn.1401023d0
test rax, rax
jne 0x1400a79f7
lea edx, [rax + 0x20]
lea rcx, [rsp + 0x28]
call fcn.14012a5d8
cmp rax, 0x20
jne 0x1400a79db
mov byte [rsp + 0x47], bpl
jmp 0x1400a79f7
mov r9, 0xffffffffffffffff
lea r8, [0x14017de4c]
lea rcx, [rsp + 0x28]
lea edx, [r9 + 0x21]
call fcn.140141164
lea r8, [rsp + 0x28]
mov rdx, rdi
lea rcx, [rsp + 0x20]
call fcn.140141534
mov rcx, qword [rsp + 0x20]
test rbx, rbx
je 0x1400a7a1b
test rcx, rcx
cmovne eax, ebp
mov dword [rbx], eax
mov rax, rcx
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.140100920
mov rbx, qword [rsp + 0x88]
add rsp, 0x50
pop rdi
pop rsi
pop rbp
ret
Function at 0x1400adc00
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x1c0
mov rax, qword [0x14027aef8]
xor rax, rsp
mov qword [rsp + 0x1b0], rax
mov rbp, rcx
xor edx, edx
lea rcx, [rsp + 0xa0]
mov r8d, 0x104
call fcn.140102230
lea rax, [0x14017d760]
mov edx, 0x104
lea rdi, [0x14017f61c]
mov qword [rsp + 0x20], rax
lea r9, str.override
mov r8d, 2
lea rcx, [rsp + 0xa0]
mov rsi, rdi
call fcn.140047820
lea rcx, str.gddv
call fcn.140037c70
mov rbx, rax
test rax, rax
je 0x1400adccf
mov rcx, rax
call fcn.1400a7b00
cmp byte [rbx + 0x49], 0
lea rcx, [rbx + 0x49]
cmovne rsi, rcx
nop
mov eax, 1
xchg qword [rbx + 8], rax
cmp rax, 1
je 0x1400adca0
add dword [rbx + 0x10], 0xffffffff
mov eax, 0
xchg qword [rbx + 8], rax
jne 0x1400adcc7
mov rcx, rbx
call qword [sym.imp.KERNEL32.DLL_ReleaseSRWLockShared]
mov rcx, rbx
call fcn.14003c8b0
lea rax, [rsp + 0x50]
mov dword [rsp + 0x50], 8
mov qword [rsp + 0x28], rax
lea r8, [0x14017f97c]
mov r9b, 0xff
mov qword [rsp + 0x20], 0
mov edx, 0x221
mov qword [rsp + 0x54], 0
mov ecx, 1
mov dword [rsp + 0x5c], 0xffffffff
mov dword [rsp + 0x60], 0
call fcn.140083590
mov ebx, eax
test eax, eax
jne 0x1400add34
mov rax, qword [rsp + 0x54]
test rax, rax
je 0x1400add34
cmp dword [rsp + 0x60], ebx
cmovne rdi, rax
lea rcx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400add8b
bt eax, 0xa
jae 0x1400add8b
lea rcx, [rsp + 0xa0]
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400add73
test al, 0x10
je 0x1400add73
lea rcx, [rsp + 0xa0]
call fcn.14012db94
jmp 0x1400add80
lea rcx, [rsp + 0xa0]
call fcn.14011295c
test eax, eax
je 0x1400add8b
mov eax, 0x1f
jmp 0x1400add9d
lea rdx, [rsp + 0x68]
lea rcx, [rsp + 0xa0]
call fcn.14012d64c
test eax, eax
mov qword [rsp + 0x40], rsi
mov rax, qword [0x14026cf88]
lea r8, str.false
mov qword [rsp + 0x38], rdi
lea rdx, str.true
cmovne rdx, r8
lea r9, [0x14026cf90]
mov qword [rsp + 0x30], rdx
lea r8, [0x140184208]
mov qword [rsp + 0x28], rax
lea rdx, str._about__n___ufVersion__s__ufVersion__n___lfVersion__s__lfVersion__n___osType__s__osType__n___shellVersion__s__shellVersion__n___overrideDvExistsOnDisk__s__overrideDvExistsOnDisk__n___currentGddvDescription__s__currentGddvDescription__n___currentCacheDescription__s__currentCacheDescription__n__about__n_n
lea rax, [0x14028cc00]
mov rcx, rbp
mov qword [rsp + 0x20], rax
call fcn.1400accb0
test eax, eax
mov ecx, 0xbba
cmovle ebx, ecx
mov rcx, qword [rsp + 0x54]
test rcx, rcx
je 0x1400ade0e
call fcn.14010fff4
mov eax, ebx
mov rcx, qword [rsp + 0x1b0]
xor rcx, rsp
call fcn.140100920
lea r11, [rsp + 0x1c0]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret