joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14003c8e0
Capabilities:
Read file via mapping

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x28
mov rsi, r9
mov rdi, r8
mov ebx, edx
mov r14, rcx
call fcn.14003cba0
test rdi, rdi
je 0x14003c944
test al, al
je 0x14003c944
movsxd rax, ebx
mov rdx, rax
sar rdx, 0x3f
add rax, rdi
adc rdx, 0
mov ecx, edx
and ecx, 1
neg rcx
xor rdx, rcx
jne 0x14003c944
test rcx, rcx
js 0x14003c944
cmp qword [r14 + 0x10], rax
jb 0x14003c944
mov rcx, r14
mov edx, ebx
mov r8, rdi
mov r9, rsi
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
jmp fcn.14003cbb0
xor eax, eax
add rsp, 0x28
pop rbx
pop rdi
pop rsi
pop r14
ret

Function at 0x14003cbb0
Capabilities:
Read file via mapping

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x60
mov rsi, r9
mov rbx, r8
mov edi, edx
mov r14, rcx
mov rax, qword [0x140064030]
xor rax, rsp
mov qword [rsp + 0x58], rax
xor eax, eax
cmp dword [rcx + 8], 0
setne al
mov ebp, edx
sar ebp, 0x1f
lea r12d, [rax + rax]
add r12d, 4
mov rcx, qword [rcx]
mov qword [rsp + 0x20], r8
mov edx, r12d
mov r8d, ebp
mov r9d, edi
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov r15, rax
mov qword [rsi], rax
test rax, rax
je 0x14003cc65
mov rdi, qword [rsp + 0xc0]
lea rsi, [rsp + 0x28]
mov r8d, 0x30
mov rcx, r15
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
mov rcx, qword [rsi + 0x18]
sub rcx, r15
add rcx, qword [rsi + 8]
test rax, rax
cmove rcx, rax
mov qword [rdi], rcx
mov sil, 1
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140030090
mov eax, esi
add rsp, 0x60
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov rcx, qword [r14]
mov qword [rsp + 0x20], rbx
mov edx, r12d
mov r8d, ebp
mov r9d, edi
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov r15, rax
mov qword [rsi], rax
test rax, rax
jne 0x14003cc10
xor esi, esi
jmp 0x14003cc47

Function at 0x14003eeb0
Capabilities:
Get thread local storage value

Disassembly:
push rsi
sub rsp, 0x20
mov rsi, rcx
mov ecx, dword [0x140064088]
call qword [sym.imp.KERNEL32.dll_TlsGetValue]
and rax, 0xfffffffffffffffc
je 0x14003eee0
movsxd rcx, dword [rsi]
shl rcx, 4
mov edx, dword [rax + rcx + 8]
cmp edx, dword [rsi + 4]
jne 0x14003eee0
mov rax, qword [rax + rcx]
jmp 0x14003eee2
xor eax, eax
add rsp, 0x20
pop rsi
ret
Function at 0x140046dc0
Capabilities:
Create pipe

Disassembly:
push r15
push r14
push rsi
push rdi
push rbx
sub rsp, 0x50
mov r14, qword [rsp + 0xc8]
mov rax, qword [0x140064030]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov qword [r14], 0xffffffffffffffff
mov esi, 5
cmp ecx, 3
jne 0x140046ea4
mov edi, dword [rsp + 0xc0]
mov r11d, dword [rsp + 0xb8]
mov ecx, dword [rsp + 0xb0]
mov eax, dword [rsp + 0xa8]
mov r10d, dword [rsp + 0xa0]
cmp qword [r8 + 0x18], 8
jb 0x140046e26
mov r8, qword [r8]
mov rsi, qword [rdx]
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], r11d
mov dword [rsp + 0x20], ecx
mov qword [rsp + 0x38], 0
mov rcx, r8
mov edx, r9d
mov r8d, r10d
mov r9d, eax
call qword [sym.imp.KERNEL32.dll_CreateNamedPipeW]
cmp rax, 0xffffffffffffffff
je 0x140046ebf
mov rdi, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
xor r15d, r15d
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r15d
mov dword [rsp + 0x30], 3
lea rbx, [rsp + 0x40]
mov rcx, rax
mov rdx, rdi
mov r8, rsi
mov r9, rbx
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
cmp eax, 1
sbb r15, r15
or r15, qword [rbx]
mov qword [r14], r15
xor eax, eax
cmp r15, 0xffffffffffffffff
sete al
lea esi, [rax + rax*4]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.140030090
mov eax, esi
add rsp, 0x50
pop rbx
pop rdi
pop rsi
pop r14
pop r15
ret
mov r15, 0xffffffffffffffff
jmp 0x140046e95

Function at 0x140049260
Capabilities:
Read file via mapping

Disassembly:
push rsi
push rdi
sub rsp, 0x38
mov edi, edx
mov rsi, rcx
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
mov dword [rsp + 0x20], edx
mov qword [rsp + 0x28], 0
mov rcx, 0xffffffffffffffff
xor edx, edx
mov r8d, 0x8000004
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov rcx, rsi
mov rdx, rax
call fcn.14000d350
mov rcx, qword [rsi]
lea rax, [rcx + 1]
cmp rax, 2
jb 0x1400492ca
mov eax, edi
mov qword [rsp + 0x20], rax
mov edx, 6
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [rsi + 8], rax
mov rax, rsi
add rsp, 0x38
pop rdi
pop rsi
ret
Function at 0x14004be60
Capabilities:
Create process on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xc8
mov edi, ecx
mov rax, qword [0x140064030]
xor rax, rsp
mov qword [rsp + 0xc0], rax
lea eax, [rdi - 7]
mov ebp, 5
cmp eax, 0xfffffffe
jae 0x14004beba
mov rcx, qword [rsp + 0xc0]
xor rcx, rsp
call fcn.140030090
mov eax, ebp
add rsp, 0xc8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov r14, r8
mov r15, rdx
mov r12, qword [rsp + 0x130]
xorps xmm0, xmm0
movaps xmmword [rsp + 0x50], xmm0
movaps xmmword [rsp + 0xa0], xmm0
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0x80], xmm0
movaps xmmword [rsp + 0x70], xmm0
movaps xmmword [rsp + 0x60], xmm0
xor r13d, r13d
mov qword [rsp + 0xb0], r13
mov dword [rsp + 0x50], 0x68
cmp qword [r9 + 0x18], 8
jb 0x14004bf0f
mov r9, qword [r9]
mov rcx, r9
call qword [sym.imp.mozglue.dll__wcsdup]
mov rsi, rax
mov rax, qword [r12 + 0x10]
cmp qword [r12 + 0x18], 8
jb 0x14004bf2c
mov r12, qword [r12]
mov rbx, qword [rsp + 0x138]
test rax, rax
cmove r12, rax
cmp qword [r14 + 0x18], 8
jb 0x14004bf45
mov r14, qword [r14]
mov r15, qword [r15]
mov qword [rsp + 0x48], rbx
lea rax, [rsp + 0x50]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
mov rcx, r14
mov rdx, rsi
xor r8d, r8d
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateProcessW]
mov ebp, 5
test eax, eax
je 0x14004c01b
cmp edi, 6
mov r12d, 0x1fffff
mov r13d, 0x101c01
cmove r13d, r12d
mov r14, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [rsp + 0x20], r13d
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], 0
mov rcx, rax
mov rdx, r14
mov r8, r15
mov r9, rbx
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
test eax, eax
je 0x14004c032
cmp edi, 6
mov ebp, 0x100c43
cmove ebp, r12d
mov rdi, qword [rbx + 8]
add rbx, 8
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [rsp + 0x20], ebp
mov dword [rsp + 0x30], 1
mov dword [rsp + 0x28], 0
mov rcx, rax
mov rdx, rdi
mov r8, r15
mov r9, rbx
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
xor ecx, ecx
test eax, eax
sete cl
lea ebp, [rcx + rcx*4]
test rsi, rsi
je 0x14004be94
mov rcx, rsi
call qword [sym.imp.mozglue.dll_free]
jmp 0x14004be94
mov rcx, qword [rbx + 8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14004c01b
Function at 0x14004c040
Capabilities:
Create thread

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x38
mov rax, r8
mov r8, rdx
mov rdi, rcx
mov rsi, qword [rsp + 0x90]
mov edx, dword [rsp + 0x80]
mov r10, qword [rsp + 0x88]
mov qword [rsi], 0
mov rcx, qword [rcx]
mov qword [rsp + 0x30], r10
mov dword [rsp + 0x28], edx
mov qword [rsp + 0x20], r9
xor r14d, r14d
xor edx, edx
mov r9, rax
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
test rax, rax
je 0x14004c0d8
mov rbx, rax
mov rdi, qword [rdi]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], r14d
mov dword [rsp + 0x30], 3
mov rcx, rax
mov rdx, rbx
mov r8, rdi
mov r9, rsi
call qword [sym.imp.KERNEL32.dll_DuplicateHandle]
xor ecx, ecx
test eax, eax
sete cl
lea eax, [rcx + rcx*4]
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop r14
ret
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop r14
jmp qword [sym.imp.KERNEL32.dll_GetLastError]

Function at 0x1400524a0
Capabilities:
Terminate process

Disassembly:
push rsi
sub rsp, 0x20
mov rsi, rcx
call fcn.14000cf60
test al, al
je 0x1400524c2
mov rcx, qword [rsi]
xor edx, edx
add rsp, 0x20
pop rsi
jmp qword [sym.imp.KERNEL32.dll_TerminateProcess]
nop
add rsp, 0x20
pop rsi
ret

Function at 0x140053e00
Capabilities:
Get system information on windows

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x58
mov rsi, rcx
mov rax, qword [0x140064030]
xor rax, rsp
mov qword [rsp + 0x50], rax
mov eax, dword [0x140064d74]
mov ecx, dword [0x1400644c0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x140053ea3
mov r14, qword [rsi + 0x10]
test r14, r14
je 0x140053e7f
mov r15, qword [rsi + 8]
shl r14, 4
add r14, r15
mov edi, dword [0x140064d70]
lea rbx, [rsp + 0x20]
mov r12, qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r8d, dword [r15]
mov rcx, qword [r15 + 8]
mov rdx, rdi
mov r9, rbx
call r12
add r15, 0x10
cmp r15, r14
jne 0x140053e66
mov qword [rsi + 0x10], 0
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.140030090
nop
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea rcx, [0x140064d74]
call fcn.14002ef24
cmp dword [0x140064d74], 0xffffffff
jne 0x140053e40
lea rdi, [rsp + 0x20]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [rdi + 4]
mov dword [0x140064d70], eax
lea rcx, [0x140064d74]
call fcn.14002eec4
jmp 0x140053e40
Function at 0x1400078c0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
push rbx
sub rsp, 0x410
mov rax, qword [0x1402ad7a8]
xor rax, rsp
mov qword [rsp + 0x400], rax
mov r10, rcx
mov rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x1400078e5
xor r9d, r9d
lea rbx, [rsp]
mov r11d, r9d
nop dword [rax + rax]
mov ecx, r11d
lea rbx, [rbx + 4]
mov edx, r11d
shr edx, 1
mov r8d, edx
xor r8d, 0xedb88320
and cl, 1
cmove r8d, edx
mov ecx, r8d
shr ecx, 1
mov edx, ecx
xor edx, 0xedb88320
and r8b, 1
cmove edx, ecx
mov ecx, edx
shr ecx, 1
mov r8d, ecx
xor r8d, 0xedb88320
and dl, 1
cmove r8d, ecx
mov ecx, r8d
shr ecx, 1
mov edx, ecx
xor edx, 0xedb88320
and r8b, 1
cmove edx, ecx
mov ecx, edx
shr ecx, 1
mov r8d, ecx
xor r8d, 0xedb88320
and dl, 1
cmove r8d, ecx
mov ecx, r8d
shr ecx, 1
mov edx, ecx
xor edx, 0xedb88320
and r8b, 1
cmove edx, ecx
mov ecx, edx
shr ecx, 1
mov r8d, ecx
xor r8d, 0xedb88320
and dl, 1
cmove r8d, ecx
mov edx, r8d
shr edx, 1
mov ecx, edx
xor ecx, 0xedb88320
and r8b, 1
cmove ecx, edx
inc r11d
mov dword [rbx - 4], ecx
cmp r11d, 0xff
jle 0x140007900
test ax, ax
je 0x1400079f4
mov r8d, 0xffff
nop word [rax + rax]
movzx ecx, byte [r10]
lea r10, [r10 + 1]
xor ecx, r9d
movzx ecx, cx
movzx edx, cl
mov ecx, r9d
shr ecx, 8
mov r9d, dword [rsp + rdx*4]
xor r9d, ecx
add ax, r8w
jne 0x1400079d0
not r9d
cmp r9d, 0x7fffffff
lea ecx, [r9 - 0x7fffffff]
cmovbe ecx, r9d
cmp ecx, 0x7fffffff
lea eax, [rcx - 0x7fffffff]
cmovbe eax, ecx
mov rcx, qword [rsp + 0x400]
xor rcx, rsp
call fcn.1401b7280
add rsp, 0x410
pop rbx
ret

Function at 0x140008710
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov edi, r8d
mov rsi, rdx
mov rbp, rcx
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x140008785
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rbx, rax
test rax, rax
je 0x140008785
mov rdx, rsi
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov ecx, eax
add rcx, rbx
and edi, 0xf
jbe 0x140008775
nop
cmp rbx, rcx
jae 0x140008785
movzx eax, word [rbx]
lea rbx, [rbx + rax*2]
add rbx, 2
add edi, 0xffffffff
jne 0x140008760
cmp rbx, rcx
jae 0x140008785
cmp word [rbx], 0
je 0x140008785
mov rax, rbx
jmp 0x140008787
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret
Function at 0x1400087a0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov eax, r8d
mov rsi, rdx
shr eax, 4
mov edi, r8d
inc ax
mov r14, rcx
movzx edx, ax
mov r8d, 6
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rbp, rax
test rax, rax
je 0x1400088c0
mov rdx, rax
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x1400088c0
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rbx, rax
test rax, rax
je 0x1400088c0
mov rdx, rbp
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov ecx, eax
add rcx, rbx
and edi, 0xf
jbe 0x140008849
nop word [rax + rax]
cmp rbx, rcx
jae 0x1400088c0
movzx eax, word [rbx]
lea rbx, [rbx + rax*2]
add rbx, 2
add edi, 0xffffffff
jne 0x140008830
cmp rbx, rcx
jae 0x1400088c0
movzx edi, word [rbx]
test di, di
je 0x1400088c0
mov r10, qword [r14]
mov ecx, 1
movzx esi, di
movzx edx, di
mov eax, dword [r10 - 0xc]
sub ecx, dword [r10 - 8]
sub eax, esi
or ecx, eax
jge 0x140008882
mov edx, esi
mov rcx, r14
call fcn.140008c00
mov r10, qword [r14]
movzx edx, word [rbx]
lea r8, [rbx + 2]
movzx r9d, dx
movzx ebx, di
mov rcx, r10
mov edx, ebx
call fcn.1401c7cd4
xor edx, edx
test eax, eax
je 0x1400088a7
cmp eax, 0xc
je 0x1400088e3
cmp eax, 0x50
jne 0x1400088dd
mov rcx, qword [r14]
cmp esi, dword [rcx - 0xc]
jg 0x1400088e9
mov dword [rcx - 0x10], esi
mov eax, 1
mov rcx, qword [r14]
mov word [rcx + rbx*2], dx
jmp 0x1400088c2
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
call fcn.1400364c8
int3
call fcn.1400364ec
int3
mov ecx, 0x80070057
call fcn.140008d10
int3
Function at 0x140008900
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push r14
sub rsp, 0x20
mov r14, rcx
mov edi, edx
mov ecx, edx
call fcn.14003680c
mov rsi, rax
test rax, rax
jne 0x140008935
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
mov eax, edi
mov qword [rsp + 0x30], rbx
shr eax, 4
mov r8d, 6
inc ax
mov qword [rsp + 0x38], rbp
movzx edx, ax
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_FindResourceW]
mov rbp, rax
test rax, rax
je 0x140008a32
mov rdx, rax
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LoadResource]
test rax, rax
je 0x140008a32
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_LockResource]
mov rbx, rax
test rax, rax
je 0x140008a32
mov rdx, rbp
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_SizeofResource]
mov ecx, eax
add rcx, rbx
and edi, 0xf
jbe 0x1400089be
cmp rbx, rcx
jae 0x140008a32
movzx eax, word [rbx]
lea rbx, [rbx + rax*2]
add rbx, 2
add edi, 0xffffffff
jne 0x1400089a5
cmp rbx, rcx
jae 0x140008a32
movzx edi, word [rbx]
test di, di
je 0x140008a32
mov r10, qword [r14]
mov ebp, 1
movzx esi, di
mov ecx, ebp
movzx edx, di
mov eax, dword [r10 - 0xc]
sub ecx, dword [r10 - 8]
sub eax, esi
or ecx, eax
jge 0x1400089f9
mov edx, esi
mov rcx, r14
call fcn.140008c00
mov r10, qword [r14]
movzx edx, word [rbx]
lea r8, [rbx + 2]
movzx r9d, dx
movzx ebx, di
mov rcx, r10
mov edx, ebx
call fcn.1401c7cd4
xor ecx, ecx
test eax, eax
je 0x140008a1e
cmp eax, 0xc
je 0x140008a59
cmp eax, 0x50
jne 0x140008a53
mov rax, qword [r14]
cmp esi, dword [rax - 0xc]
jg 0x140008a5f
mov dword [rax - 0x10], esi
mov rax, qword [r14]
mov word [rax + rbx*2], cx
jmp 0x140008a36
xor ecx, ecx
mov ebp, ecx
mov rbx, qword [rsp + 0x30]
mov eax, ebp
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
add rsp, 0x20
pop r14
ret
call fcn.1400364c8
int3
call fcn.1400364ec
int3
mov ecx, 0x80070057
call fcn.140008d10
int3
Function at 0x14000a2c0
Capabilities:
Get file version info

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rsi
push rdi
push r14
sub rsp, 0x60
mov qword [rax - 0x28], 0xfffffffffffffffe
mov qword [rax + 0x18], rbx
mov r14, r8
mov rsi, rdx
call fcn.140036e14
mov rcx, rax
test rax, rax
je 0x14000a450
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 0
lea rdx, [rsp + 0x80]
mov rcx, r14
call qword [sym.imp.VERSION.dll_GetFileVersionInfoSizeW]
mov edi, eax
test eax, eax
je 0x14000a45b
mov rcx, rdi
call fcn.14003592c
mov rbx, rax
test rax, rax
je 0x14000a474
mov r9, rbx
mov r8d, edi
xor edx, edx
mov rcx, r14
call qword [sym.imp.VERSION.dll_GetFileVersionInfoW]
test eax, eax
je 0x14000a48d
lea r9, [rsp + 0x98]
lea r8, [rsp + 0x48]
lea rdx, [0x140265fa4]
mov rcx, rbx
call qword [sym.imp.VERSION.dll_VerQueryValueW]
test eax, eax
je 0x14000a4a6
mov rax, qword [rsp + 0x48]
mov ecx, dword [rax + 8]
mov edx, dword [rax + 0xc]
mov r8d, ecx
shr r8d, 0x10
movzx r9d, cx
mov eax, edx
shr eax, 0x10
movzx ecx, dx
test eax, eax
jne 0x14000a3be
test ecx, ecx
jne 0x14000a3be
test r8d, r8d
jne 0x14000a3ab
test r9d, r9d
je 0x14000a3d7
lea rdx, str._d._d
lea rcx, [rsp + 0x40]
call fcn.14000cb40
jmp 0x14000a3d7
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x20], eax
lea rdx, str._d._d._d._d
lea rcx, [rsp + 0x40]
call fcn.14000cb40
mov rcx, rbx
call fcn.140035924
mov rbx, qword [rsp + 0x40]
lea rcx, [rbx - 0x18]
call fcn.14000cd80
add rax, 0x18
mov qword [rsi], rax
mov eax, 0xffffffff
lock xadd dword [rbx - 8], eax
sub eax, 1
jg 0x14000a411
mov rcx, qword [rbx - 0x18]
mov rax, qword [rcx]
lea rdx, [rbx - 0x18]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, rsi
jmp 0x14000a43f
mov rbx, qword [rsp + 0x90]
add rsp, 0x60
pop r14
pop rdi
pop rsi
ret
mov ecx, 0x80004005
call fcn.140008d10
nop
mov dword [rsp + 0x30], 1
lea rdx, [0x1402a70d8]
lea rcx, [rsp + 0x30]
call fcn.1401bd3d0
mov dword [rsp + 0x34], 1
lea rdx, [0x1402a70d8]
lea rcx, [rsp + 0x34]
call fcn.1401bd3d0
mov dword [rsp + 0x38], 1
lea rdx, [0x1402a70d8]
lea rcx, [rsp + 0x38]
call fcn.1401bd3d0
mov dword [rsp + 0x3c], 1
lea rdx, [0x1402a70d8]
lea rcx, [rsp + 0x3c]
call fcn.1401bd3d0
int3
Function at 0x14000c250
Capabilities:
Check internet connectivity via wininet
Read data from internet
Receive data

Disassembly:
push rdi
mov eax, 0x18700
call fcn.1401b7d00
sub rsp, rax
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rsp + 0x18710], rbx
mov qword [rsp + 0x18718], rbp
mov qword [rsp + 0x18728], rsi
mov rax, qword [0x1402ad7a8]
xor rax, rsp
mov qword [rsp + 0x186f0], rax
mov rbx, r8
cmp qword [0x1403a8fb8], 0
je 0x14000c3e5
xor edx, edx
lea rcx, [rsp + 0x38]
call qword [sym.imp.WININET.dll_InternetGetConnectedState]
test eax, eax
je 0x14000c3e5
call fcn.140036e14
mov rcx, rax
test rax, rax
je 0x14000c413
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x28], rax
mov rdi, 0xffffffffffffffff
xor esi, esi
test rbx, rbx
je 0x14000c30c
cmp rbx, 0x10000
jae 0x14000c2fe
movzx edx, bx
lea rcx, [rsp + 0x28]
call fcn.140008900
jmp 0x14000c31f
mov rax, rdi
inc rax
cmp word [rbx + rax*2], si
jne 0x14000c301
jmp 0x14000c30e
mov eax, esi
mov r8d, eax
mov rdx, rbx
lea rcx, [rsp + 0x28]
call fcn.140008d30
nop
lea r8, [rsp + 0x28]
lea rdx, [0x1403b5e00]
lea rcx, [rsp + 0x30]
call fcn.14000c420
nop
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14000c354
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rdx, [rsp + 0x30]
lea rcx, vtable.CAutoUpdater.0
call fcn.14000a1b0
mov rbp, rax
test rax, rax
jne 0x14000c372
lea esi, [rax + 2]
jmp 0x14000c3c4
xor edx, edx
mov r8d, 0x186a0
lea rcx, [rsp + 0x50]
call fcn.1401bd240
mov dword [rsp + 0x20], esi
lea r9, [rsp + 0x20]
mov r8d, 0x186a0
lea rdx, [rsp + 0x50]
mov rcx, rbp
call qword [sym.imp.WININET.dll_InternetReadFile]
test eax, eax
je 0x14000c3b0
cmp dword [rsp + 0x20], 0
jbe 0x14000c3b0
mov bl, 1
jmp 0x14000c3b2
xor bl, bl
mov rcx, rbp
call qword [sym.imp.WININET.dll_InternetCloseHandle]
test bl, bl
jne 0x14000c3c4
mov esi, 3
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
sub edi, 1
jg 0x14000c3e1
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
mov eax, esi
jmp 0x14000c3ea
mov eax, 1
mov rcx, qword [rsp + 0x186f0]
xor rcx, rsp
call fcn.1401b7280
lea r11, [rsp + 0x18700]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret
mov ecx, 0x80004005
call fcn.140008d10
int3
Function at 0x1400150d0
Capabilities:
Enumerate process modules

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
lea rbp, [rsp - 0x9280]
mov eax, 0x9380
call fcn.1401b7d00
sub rsp, rax
mov rax, qword [0x1402ad7a8]
xor rax, rsp
mov qword [rbp + 0x9270], rax
mov rdi, rcx
xor edx, edx
lea rcx, [rsp + 0x50]
mov r8d, 0x8000
call fcn.1401bd240
xor esi, esi
mov eax, esi
mov dword [rsp + 0x40], eax
lea ebx, [rsi + 0x14]
test rdi, rdi
je 0x14001534b
nop
test ebx, ebx
jle 0x14001516c
lea r9, [rsp + 0x40]
mov dword [rsp + 0x20], 3
mov r8d, 0x8000
lea rdx, [rsp + 0x50]
mov rcx, rdi
call qword [sym.imp.PSAPI.DLL_EnumProcessModulesEx]
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [rsp + 0x40]
dec ebx
test eax, eax
je 0x140015130
jmp 0x14001518d
test eax, eax
jne 0x14001518d
lea r9, [rsp + 0x40]
mov r8d, 0x8000
lea rdx, [rsp + 0x50]
mov rcx, rdi
call qword [sym.imp.PSAPI.DLL_EnumProcessModules]
mov eax, dword [rsp + 0x40]
mov ebx, esi
test eax, 0xfffffff8
jbe 0x14001534b
nop word [rax + rax]
mov edx, ebx
lea r8, [rbp + 0x8060]
mov r9d, 0x104
mov rcx, rdi
mov rdx, qword [rsp + rdx*8 + 0x50]
call qword [sym.imp.PSAPI.DLL_GetModuleFileNameExW]
test eax, eax
je 0x14001533a
lea rcx, [rbp + 0x8060]
mov rax, 0xffffffffffffffff
inc rax
cmp word [rcx + rax*2], si
jne 0x1400151d3
test rax, rax
je 0x14001533a
lea rdx, [0x140267ca8]
lea rcx, [rbp + 0x8060]
call fcn.1401bc750
test rax, rax
jne 0x140015219
lea rdx, [0x140267cb0]
lea rcx, [rbp + 0x8060]
call fcn.1401bc750
test rax, rax
je 0x14001533a
xor edx, edx
lea rcx, [rbp + 0x8670]
mov r8d, 0x400
call fcn.1401bd240
xor edx, edx
lea rcx, [rbp + 0x8a70]
mov r8d, 0x800
call fcn.1401bd240
xor edx, edx
lea rcx, [rbp + 0x7f50]
mov r8d, 0x104
call fcn.1401bd240
xor edx, edx
lea rcx, [rbp + 0x8270]
mov r8d, 0x400
call fcn.1401bd240
mov qword [rsp + 0x38], rsi
lea rax, [rbp + 0x7f50]
mov qword [rsp + 0x30], rsi
lea r8, [rbp + 0x8060]
mov dword [rsp + 0x28], 0x104
mov r9d, 0xffffffff
xor edx, edx
mov qword [rsp + 0x20], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea rdx, [0x140267cb8]
lea rcx, [rbp + 0x7f50]
call fcn.1401bc4c4
test rax, rax
jne 0x14001533a
lea rdx, [rbp + 0x8670]
lea rcx, [rbp + 0x7f50]
call fcn.140021ea0
lea r9, [rbp + 0x7f50]
lea r8, [rbp + 0x8670]
lea rdx, str.in_GAME_SHAS2:__s_process:__s_r_n
lea rcx, [rbp + 0x8270]
call fcn.140014f10
lea rax, [rbp + 0x8270]
mov r9, 0xffffffffffffffff
nop dword [rax]
inc r9
cmp byte [rax + r9], sil
jne 0x140015300
lea rax, [rbp + 0x8a70]
mov dword [rsp + 0x28], 0x400
lea r8, [rbp + 0x8270]
mov qword [rsp + 0x20], rax
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea rcx, [rbp + 0x8a70]
call fcn.140024bd0
mov eax, dword [rsp + 0x40]
inc ebx
shr eax, 3
cmp ebx, eax
jb 0x1400151a0
mov eax, 1
mov rcx, qword [rbp + 0x9270]
xor rcx, rsp
call fcn.1401b7280
lea r11, [rsp + 0x9380]
mov rbx, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret