joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14000bae0
Capabilities:
Get geographical location

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x2f0
mov rax, qword [0x140068cf8]
xor rax, rsp
mov qword [rsp + 0x2e0], rax
mov eax, r8d
mov rsi, rdx
mov rbx, rcx
cmp r8d, 0x800
jne 0x14000bb52
lea r8, [0x14004f758]
lea rcx, [rsp + 0xa0]
mov edx, 4
call fcn.140033988
test eax, eax
je 0x14000bb74
cmp eax, 0xc
je 0x14000bb4c
cmp eax, 0x16
je 0x14000bb46
cmp eax, 0x22
je 0x14000bb46
cmp eax, 0x50
je 0x14000bb74
call fcn.140009e44
int3
call fcn.140009e44
int3
call fcn.140009dfc
int3
mov r9d, 4
lea r8, [rsp + 0xa0]
mov ecx, eax
lea edx, [r9 - 1]
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x14000bc97
call fcn.140033b30
mov edi, dword [rax]
call fcn.140033b30
lea rcx, [rsp + 0xb0]
and dword [rax], 0
lea rax, [rsp + 0xa0]
mov r9, rbx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
mov esi, 0x112
lea r8d, [rsi - 1]
mov rdx, rsi
call fcn.140033ac4
mov ebx, eax
call fcn.140033b30
cmp dword [rax], 0
je 0x14000bbfc
call fcn.140033b30
cmp dword [rax], 0
je 0x14000bc03
cmp dword [rax], 0xc
je 0x14000bbf1
cmp dword [rax], 0x16
je 0x14000bbe6
cmp dword [rax], 0x22
je 0x14000bbe6
cmp dword [rax], 0x50
je 0x14000bc03
mov ecx, 0x80004005
call fcn.140002160
int3
mov ecx, 0x80070057
call fcn.140002160
int3
mov ecx, 0x8007000e
call fcn.140002160
int3
call fcn.140033b30
mov dword [rax], edi
cmp ebx, 0xffffffff
je 0x14000bc97
cmp ebx, esi
jae 0x14000bc97
lea rcx, [rsp + 0xb0]
call qword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
xor edx, edx
lea rcx, [rsp + 0x34]
lea r8d, [rdx + 0x6c]
mov rbx, rax
mov dword [rsp + 0x30], 0x70
call fcn.1400342c0
lea rcx, str.KERNEL32
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x14000bc82
lea rdx, str.FindActCtxSectionStringW
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x14000bc82
lea rcx, [rsp + 0x30]
xor edx, edx
mov r9, rbx
mov qword [rsp + 0x20], rcx
lea r8d, [rdx + 2]
xor ecx, ecx
call rax
mov rcx, rbx
test eax, eax
jne 0x14000bc8a
lea rcx, [rsp + 0xb0]
xor r8d, r8d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_LoadLibraryExW]
jmp 0x14000bc99
xor eax, eax
mov rcx, qword [rsp + 0x2e0]
xor rcx, rsp
call fcn.1400315a0
add rsp, 0x2f0
pop rdi
pop rsi
pop rbx
ret
Function at 0x14000d39c
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
push r13
push r14
sub rsp, 0x20
xor esi, esi
xor ebx, ebx
mov r12, r9
mov rdi, r8
mov rbp, rdx
mov r14, rcx
test r8, r8
je 0x14000d40e
call fcn.14000b1b4
mov r8d, 0xf0
mov rdx, rdi
mov r13, qword [rax + 0x18]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FindResourceW]
test rax, rax
je 0x14000d40e
mov rdx, rax
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rbx, rax
test rax, rax
je 0x14000d45b
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rsi, rax
mov edi, 1
test rsi, rsi
je 0x14000d43b
mov r10, qword [r14]
mov r9, r12
mov r8, rsi
mov rdx, rbp
mov rcx, r14
call qword [r10 + 0x40]
mov edi, eax
test rbx, rbx
je 0x14000d43b
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeResource]
cmp qword [rbp + 0x98], 0
je 0x14000d459
mov rcx, qword [rbp + 0x98]
mov rdx, r12
mov r8, qword [rcx]
call qword [r8 + 0x140]
mov eax, edi
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x20
pop r14
pop r13
pop r12
ret

Function at 0x140016638
Capabilities:
Get graphical window text

Disassembly:
push rdi
sub rsp, 0x30
mov qword [rsp + 0x20], 0xfffffffffffffffe
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x50], rsi
movsxd rsi, r8d
mov rdi, rdx
mov rbx, rcx
cmp qword [rcx + 0xa0], 0
jne 0x140016676
mov r8d, esi
mov rcx, qword [rcx + 0x40]
call qword [sym.imp.USER32.dll_GetWindowTextW]
jmp 0x14001672a
call fcn.140009770
mov r11, rax
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
jne 0x140016695
mov ecx, 0x80004005
call fcn.140002160
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
mov rcx, qword [rbx + 0xa0]
mov rax, qword [rcx]
lea rdx, [rsp + 0x40]
call qword [rax + 0x118]
mov rdx, rsi
or rsi, 0xffffffffffffffff
mov r9, rsi
mov r8, qword [rsp + 0x40]
mov rcx, rdi
call fcn.140032674
test eax, eax
je 0x1400166fd
cmp eax, 0xc
je 0x1400166f7
cmp eax, 0x16
je 0x1400166f1
cmp eax, 0x22
je 0x1400166f1
cmp eax, 0x50
je 0x1400166fd
call fcn.140009e44
int3
call fcn.140009e44
int3
call fcn.140009dfc
int3
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov ebx, eax
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov ecx, esi
lock xadd dword [rdx + 0x10], ecx
add ecx, esi
test ecx, ecx
jg 0x140016728
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
mov eax, ebx
mov rbx, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret
Function at 0x140023898
Capabilities:
Get graphical window text

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rbp, rcx
mov rcx, qword [rcx + 0x40]
mov rbx, r8
call fcn.14001598c
mov rsi, rax
test rax, rax
je 0x140023914
mov rcx, rax
call qword [sym.imp.USER32.dll_GetDlgCtrlID]
mov edi, eax
test rbx, rbx
je 0x14002390f
cmp dword [rbx], 0x40
jb 0x14002390f
mov rcx, qword [rbp + 0x40]
or dword [rbx + 4], 1
or qword [rbx + 0x30], 0xffffffffffffffff
mov qword [rbx + 8], rcx
xor r9d, r9d
xor r8d, r8d
mov edx, 0x87
mov rcx, rsi
mov qword [rbx + 0x10], rsi
call qword [sym.imp.USER32.dll_SendMessageW]
bt rax, 0xd
jb 0x14002390f
or dword [rbx + 4], 0x80000002
mov rax, rdi
jmp 0x140023918
or rax, 0xffffffffffffffff
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret

Function at 0x140029f00
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push r12
sub rsp, 0x20
xor edi, edi
xor ebx, ebx
mov rsi, rdx
mov rbp, rcx
test rdx, rdx
je 0x140029f68
call fcn.14000b1b4
mov r8d, 0xf0
mov rdx, rsi
mov r12, qword [rax + 0x18]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FindResourceW]
test rax, rax
je 0x140029f68
mov rdx, rax
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov rbx, rax
test rax, rax
je 0x140029f8a
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rdi, rax
mov rdx, rdi
mov rcx, rbp
call fcn.140029910
mov esi, eax
test rdi, rdi
je 0x140029f88
test rbx, rbx
je 0x140029f88
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FreeResource]
mov eax, esi
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r12
ret

Function at 0x14003015c
Capabilities:
Extract resource via kernel32 functions

Disassembly:
movzx edx, dx
jmp method.CDialog.virtual_640
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rbp, r8
mov rdi, rdx
mov rsi, rcx
mov qword [rcx + 0xb0], rdx
test rdx, 0xffffffffffff0000
jne 0x14003019b
cmp dword [rcx + 0xa8], 0
jne 0x14003019b
movzx eax, dx
mov dword [rcx + 0xa8], eax
call fcn.14000b1b4
mov r8d, 5
mov rdx, rdi
mov rbx, qword [rax + 0x18]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rcx, rbx
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_LoadResource]
mov r9, rbx
mov r8, rbp
mov rdx, rax
mov rcx, rsi
mov rdi, rax
call fcn.140030100
mov rcx, rdi
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_FreeResource]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov eax, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
ret
Function at 0x1400313a8
Capabilities:
Parse pe header

Disassembly:
mov qword [rsp + 0x10], rbx
push rdi
sub rsp, 0xa0
lea rcx, [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_GetStartupInfoW]
nop
mov eax, 0x5a4d
cmp word [0x140000000], ax
jne 0x140031431
movsxd rax, dword [0x14000003c]
lea rdi, [0x140000000]
add rax, rdi
cmp dword [rax], 0x4550
je 0x1400313f3
xor ebx, ebx
mov dword [rsp + 0xb0], ebx
jmp 0x140031441
mov ecx, 0x20b
cmp word [rax + 0x18], cx
je 0x140031409
xor ebx, ebx
mov dword [rsp + 0xb0], ebx
jmp 0x140031441
cmp dword [rax + 0x84], 0xe
ja 0x14003141d
xor ebx, ebx
mov dword [rsp + 0xb0], ebx
jmp 0x140031441
xor ebx, ebx
cmp dword [rax + 0xf8], ebx
setne bl
mov dword [rsp + 0xb0], ebx
jmp 0x140031441
xor ebx, ebx
mov dword [rsp + 0xb0], ebx
lea rdi, [0x140000000]
mov ecx, 1
call fcn.1401ba000
test eax, eax
jne 0x140031471
cmp dword [0x14006e1e0], 1
jne 0x14003145d
call fcn.140035574
mov ecx, 0x1c
call fcn.14003534c
mov ecx, 0xff
call fcn.140033f30
call fcn.140036270
test eax, eax
jne 0x14003149c
cmp dword [0x14006e1e0], 1
jne 0x140031488
call fcn.140035574
mov ecx, reloc.OLEAUT32.dll_SafeArrayGetDim
call fcn.14003534c
mov ecx, 0xff
call fcn.140033f30
call fcn.140035f28
nop
call fcn.140035c38
test eax, eax
jns 0x1400314b5
mov ecx, 0x1b
call fcn.140033ec4
call sub.KERNEL32.dll_GetCommandLineW
mov qword [0x1400705e8], rax
call fcn.140035ba4
mov qword [0x14006e1d8], rax
call fcn.140035ab4
test eax, eax
jns 0x1400314e0
mov ecx, 8
call fcn.140033ec4
call fcn.1400357e4
test eax, eax
jns 0x1400314f3
mov ecx, 9
call fcn.140033ec4
mov ecx, 1
call fcn.140033fd0
test eax, eax
je 0x140031508
mov ecx, eax
call fcn.140033ec4
call fcn.140035788
test byte [rsp + 0x6c], 1
movzx edx, word [rsp + 0x70]
mov r9d, 0xa
cmovne r9d, edx
mov r8, rax
xor edx, edx
mov rcx, rdi
call fcn.140049500
mov edi, eax
mov dword [rsp + 0x20], eax
test ebx, ebx
jne 0x14003153f
mov ecx, eax
call fcn.14003420c
call fcn.140034224
jmp 0x140031560
mov eax, edi
jmp 0x140031569
mov rbx, qword [rsp + 0xb8]
add rsp, 0xa0
pop rdi
ret
sub rsp, 0x28
call fcn.140036340
add rsp, 0x28
jmp 0x1400313a8

Function at 0x140034218
Capabilities:
Terminate process

Disassembly:
xor r8d, r8d
lea edx, [r8 + 1]
jmp 0x140034080
Function at 0x14003649b
Capabilities:
Terminate process

Disassembly:
cmp rcx, qword [0x140068cf8]
jne 0x1400315ba
rol rcx, 0x10
test cx, 0xffff
jne 0x1400315b6
repz ret
ror rcx, 0x10
jmp 0x1400363f4
mov qword [rsp + 8], rcx
sub rsp, 0x88
lea rcx, [0x14006e820]
call qword [sym.imp.KERNEL32.dll_RtlCaptureContext]
mov r11, qword [0x14006e918]
mov qword [rsp + 0x58], r11
xor r8d, r8d
lea rdx, [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
call sub.KERNEL32.dll_RtlLookupFunctionEntry
mov qword [rsp + 0x50], rax
cmp qword [rsp + 0x50], 0
je 0x140036479
mov qword [rsp + 0x38], 0
lea rax, [rsp + 0x48]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x28], rax
lea rax, [0x14006e820]
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x50]
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
xor ecx, ecx
call sub.KERNEL32.dll_RtlVirtualUnwind
jmp 0x14003649b
mov rax, qword [rsp + 0x88]
mov qword [0x14006e918], rax
lea rax, [rsp + 0x88]
add rax, 8
mov qword [0x14006e8b8], rax
mov rax, qword [0x14006e918]
mov qword [0x14006e790], rax
mov rax, qword [rsp + 0x90]
mov qword [0x14006e8a0], rax
mov dword [0x14006e780], 0xc0000409
mov dword [0x14006e784], 1
mov rax, qword [0x140068cf8]
mov qword [rsp + 0x68], rax
mov rax, qword [0x140068d00]
mov qword [rsp + 0x70], rax
call qword [sym.imp.KERNEL32.dll_IsDebuggerPresent]
mov dword [0x14006e818], eax
mov ecx, 1
call fcn.140040c18
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
lea rcx, [0x140056110]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
cmp dword [0x14006e818], 0
jne 0x140036522
mov ecx, 1
call fcn.140040c18
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
add rsp, 0x88
ret
Function at 0x1400407ac
Capabilities:
Link many functions at runtime

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
push rsi
push rdi
push r12
push r13
push r14
sub rsp, 0x40
mov ebp, r8d
mov r13, rdx
mov r14, rcx
call fcn.140035fa0
xor ebx, ebx
mov rdi, rax
cmp qword [0x14006f0c8], rbx
jne 0x1400408b2
lea rcx, str.USER32.DLL
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rsi, rax
test rax, rax
je 0x140040987
lea rdx, str.MessageBoxA
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
test rax, rax
je 0x140040987
mov rcx, rax
call sub.KERNEL32.dll_EncodePointer
lea rdx, [0x140056420]
mov rcx, rsi
mov qword [0x14006f0c8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call sub.KERNEL32.dll_EncodePointer
lea rdx, [0x140056408]
mov rcx, rsi
mov qword [0x14006f0d0], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call sub.KERNEL32.dll_EncodePointer
lea rdx, str.GetUserObjectInformationA
mov rcx, rsi
mov qword [0x14006f0d8], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call sub.KERNEL32.dll_EncodePointer
mov r11, rax
mov qword [0x14006f0e8], rax
test rax, rax
je 0x1400408a9
lea rdx, str.GetProcessWindowStation
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, rax
call sub.KERNEL32.dll_EncodePointer
mov qword [0x14006f0e0], rax
jmp 0x1400408b9
mov rax, qword [0x14006f0e0]
jmp 0x1400408c0
mov rax, qword [0x14006f0e0]
mov r11, qword [0x14006f0e8]
cmp rax, rdi
je 0x140040928
cmp r11, rdi
je 0x140040928
mov rcx, rax
call sub.KERNEL32.dll_DecodePointer
mov rcx, qword [0x14006f0e8]
mov rsi, rax
call sub.KERNEL32.dll_DecodePointer
mov r12, rax
test rsi, rsi
je 0x140040928
test rax, rax
je 0x140040928
call rsi
test rax, rax
je 0x140040922
lea rcx, [rsp + 0x88]
mov r9d, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
lea r8, [rsp + 0x30]
mov qword [rsp + 0x20], rcx
lea edx, [r9 - 0xb]
mov rcx, rax
call r12
test eax, eax
je 0x140040922
test byte [rsp + 0x38], 1
jne 0x140040928
bts ebp, 0x15
jmp 0x140040966
mov rcx, qword [0x14006f0d0]
cmp rcx, rdi
je 0x140040966
call sub.KERNEL32.dll_DecodePointer
test rax, rax
je 0x140040966
call rax
mov rbx, rax
test rax, rax
je 0x140040966
mov rcx, qword [0x14006f0d8]
cmp rcx, rdi
je 0x140040966
call sub.KERNEL32.dll_DecodePointer
test rax, rax
je 0x140040966
mov rcx, rbx
call rax
mov rbx, rax
mov rcx, qword [0x14006f0c8]
call sub.KERNEL32.dll_DecodePointer
test rax, rax
je 0x140040987
mov r9d, ebp
mov r8, r13
mov rdx, r14
mov rcx, rbx
call rax
jmp 0x140040989
xor eax, eax
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
add rsp, 0x40
pop r14
pop r13
pop r12
pop rdi
pop rsi
ret
Function at 0x180002d60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
sub rsp, 0x68
mov eax, dword [rsp + 0x90]
add eax, 0x725
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x80]
add eax, 0x463
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x80]
xor eax, 0xf02
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x98]
sub eax, 0xfd8
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x98]
sub eax, 0xe67
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x70]
xor eax, 0x3ec4
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x90]
add eax, 0x1265
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x88]
add eax, 0x2ba
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x88]
xor eax, 0x7c6
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x80]
add eax, 0x27b
mov dword [rsp + 0x54], eax
mov eax, dword [rsp + 0x2c]
xor eax, 0xc2f
cmp dword [rsp + 0x28], eax
je 0x180002e59
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x9c]
sub eax, 0x962ff
mov rcx, qword [rsp + 0x78]
mov ecx, dword [rcx + 0x28]
sub ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x78]
mov dword [rcx + 0x28], eax
mov eax, dword [rsp + 0x24]
add eax, 0x637
mov dword [rsp + 0x24], eax
jmp 0x180002ef8
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x90]
mov dword [rsp + 0x20], eax
jmp 0x180002e75
mov eax, dword [rsp + 0x20]
add eax, 4
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x34]
sub ecx, eax
mov eax, ecx
cmp dword [rsp + 0x20], eax
jge 0x180002ef8
mov eax, dword [rsp + 0x38]
sub eax, 0x1f55
sub eax, dword [rsp + 0x28]
mov dword [rsp + 0x44], eax
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x78]
mov eax, dword [rdx + rax + 0x3c]
mov ecx, dword [rcx + 0x38]
sub ecx, eax
mov eax, ecx
mov ecx, 4
imul rcx, rcx, 3
mov rdx, qword [rsp + 0x78]
and eax, dword [rdx + rcx + 0xa4]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x48]
sub eax, 0x229b
mov dword [rsp + 0x3c], eax
mov r8d, dword [rsp + 0x3c]
mov edx, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x44]
call qword [sym.imp.KERNEL32.dll_OpenThread]
jmp 0x180002e6a
mov eax, dword [rsp + 0x2c]
sub eax, 0x83
add rsp, 0x68
ret
Function at 0x180004680
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
sub rsp, 0x68
mov eax, dword [rsp + 0x98]
sub eax, 0x3f3
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0xa0]
sub eax, 0x1b16
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x70]
sub eax, 0x13df
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x70]
sub eax, 0xe67
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x80]
xor eax, 0x3dd3
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0xa0]
xor eax, 0x3dc5
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x98]
add eax, 0xf2d
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x88]
sub eax, 0x28d2
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x98]
xor eax, 0x347e
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x24]
add eax, 0x26d3
cmp dword [rsp + 0x2c], eax
jle 0x180004817
mov eax, dword [rsp + 0x24]
add eax, 0x2ddb
cmp dword [rsp + 0x2c], eax
jge 0x180004765
mov rax, qword [rsp + 0x78]
lea rcx, [0x1800af110]
mov qword [rax + 0x70], rcx
mov eax, dword [rsp + 0x20]
add eax, 0x1320
mov dword [rsp + 0x20], eax
jmp 0x180004817
mov eax, dword [rsp + 0x30]
or eax, 0x1b76
mov rcx, qword [rsp + 0x78]
sub eax, dword [rcx + 0x2c]
cmp dword [rsp + 0x20], eax
jb 0x180004817
mov eax, dword [rsp + 0x20]
mov dword [rsp + 0x28], eax
jmp 0x180004795
mov eax, dword [rsp + 0x28]
add eax, 4
mov dword [rsp + 0x28], eax
mov eax, 4
imul rax, rax, 2
mov rcx, qword [rsp + 0x78]
mov eax, dword [rcx + rax + 0xa4]
add eax, dword [rsp + 0x34]
and eax, dword [rsp + 0x24]
cmp dword [rsp + 0x28], eax
jbe 0x180004817
mov eax, 4
imul rax, rax, 3
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x78]
mov eax, dword [rdx + rax + 0xa4]
mov ecx, dword [rcx + 0x98]
xor ecx, eax
mov eax, ecx
mov eax, eax
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x78]
mov eax, dword [rax + 0x98]
mov ecx, dword [rsp + 0x38]
or ecx, eax
mov eax, ecx
sub eax, 0x28d2
mov eax, eax
mov qword [rsp + 0x48], rax
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_FindNextFileA]
jmp 0x18000478a
mov eax, dword [rsp + 0x3c]
add eax, 0x19b1
add rsp, 0x68
ret
Function at 0x180008240
Capabilities:
Get file attributes
Resolve function by parsing pe exports

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov dword [rsp + 8], ecx
sub rsp, 0x58
mov eax, dword [rsp + 0x68]
sub eax, 0x2540
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x78]
xor eax, 0x19a5
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x80]
sub eax, 0x2ba
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x88]
sub eax, 0x6e2
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x68]
sub eax, 0xfa2
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x68]
sub eax, 0x2540
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x78]
sub eax, 0x407
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x68]
sub eax, 0xe8d
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x2c]
xor eax, 0x19a5
cmp dword [rsp + 0x20], eax
jg 0x1800082e2
mov eax, dword [rsp + 0x20]
xor eax, 0x21d2
mov dword [rsp + 0x20], eax
jmp 0x180008335
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x24], eax
jmp 0x1800082f7
mov eax, dword [rsp + 0x24]
add eax, 4
mov dword [rsp + 0x24], eax
mov eax, dword [rsp + 0x34]
and eax, 0x2540
mov rcx, qword [rsp + 0x70]
or eax, dword [rcx + 0x90]
cmp dword [rsp + 0x24], eax
jb 0x180008335
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + 0x2c]
mov ecx, dword [rsp + 0x28]
sub ecx, eax
mov eax, ecx
mov eax, eax
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
jmp 0x1800082ec
mov eax, dword [rsp + 0x28]
sub eax, 0x101
add rsp, 0x58
ret
Function at 0x1800215b0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], r9
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
mov dword [rsp + 8], ecx
sub rsp, 0x68
mov eax, dword [rsp + 0xa8]
sub eax, 0x6f7
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0xb0]
xor eax, 0x3246
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0xa8]
xor eax, 0xc3d
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x90]
add eax, 0xe8d
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x98]
add eax, 0x710
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x98]
sub eax, 0x1b76
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x80]
xor eax, 0x1f55
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x90]
add eax, 0x27b
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x34]
xor eax, 0x229b
cmp dword [rsp + 0x2c], eax
jle 0x180021801
mov eax, dword [rsp + 0x20]
xor eax, 0x2ddb
cmp dword [rsp + 0x34], eax
jg 0x1800216d1
mov eax, 4
imul rax, rax, 1
mov rcx, qword [rsp + 0x88]
mov eax, dword [rcx + rax + 0x88]
xor eax, 0x1663b7
mov rcx, qword [rsp + 0x88]
mov ecx, dword [rcx + 0xa0]
imul ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x88]
mov dword [rcx + 0xa0], eax
mov eax, dword [rsp + 0x20]
add eax, 0x2d13
mov dword [rsp + 0x20], eax
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x88]
mov ecx, dword [rcx + 0xa0]
mov dword [rax + 0x64], ecx
jmp 0x180021801
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x88]
mov eax, dword [rax + 0x44]
imul eax, dword [rcx + 0x48]
add eax, dword [rsp + 0x20]
cmp dword [rsp + 0x30], eax
jb 0x180021801
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x24], eax
jmp 0x18002170a
mov eax, dword [rsp + 0x24]
inc eax
mov dword [rsp + 0x24], eax
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0x2c]
add eax, 0x3d86
cmp dword [rsp + 0x24], eax
jae 0x180021801
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x88]
mov eax, dword [rcx + rax + 0xb8]
mov dword [rsp + 0x28], eax
jmp 0x18002174d
mov eax, dword [rsp + 0x28]
add eax, 2
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 0x90]
sub eax, 0x19a5
cmp dword [rsp + 0x28], eax
jae 0x1800217fc
mov eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x2c]
or ecx, eax
mov eax, ecx
cdqe
mov qword [rsp + 0x50], rax
mov eax, 4
imul rax, rax, 0
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x88]
mov edx, dword [rdx + 0x18]
mov eax, dword [rcx + rax + 0xb8]
xor eax, edx
mov eax, eax
mov qword [rsp + 0x48], rax
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
mov eax, dword [rsp + 0x2c]
xor eax, 0x229b
mov ecx, 4
imul rcx, rcx, 3
mov rdx, qword [rsp + 0x88]
add eax, dword [rdx + rcx + 8]
mov rcx, qword [rsp + 0x88]
mov ecx, dword [rcx + 0xb4]
xor ecx, eax
mov eax, ecx
mov rcx, qword [rsp + 0x88]
mov dword [rcx + 0xb4], eax
jmp 0x180021742
jmp 0x180021700
mov eax, dword [rsp + 0x30]
add eax, 0x44d
add rsp, 0x68
ret
Function at 0x14002b3e0
Capabilities:
Query environment variable

Disassembly:
push rsi
mov eax, 0x10078
push rbx
call fcn.140031f40
sub rsp, rax
xor eax, eax
xor edx, edx
lea rbx, [rsp + 0x20]
lea rsi, [rsp + 0x70]
mov word [rsp + 0x70], ax
mov rcx, rbx
mov word [rsp + 0x20], dx
call fcn.14002b320
mov rdx, rsi
mov r8d, 0x10000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea edx, [rax - 1]
xor eax, eax
cmp edx, 0xffff
ja 0x14002b436
mov rcx, rsi
call sub.msvcrt.dll__wcsdup
add rsp, 0x10078
pop rbx
pop rsi
ret