joyce8/EMBER2024-capa huggingface dataset:
Function at 0x140132b22
Capabilities:
Write file on windows

Disassembly:
jmp 0x140208d90
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x128
lea rbp, [rsp + 0x20]
lea rcx, [0x1405f5017]
call fcn.140139936
nop
mov rax, qword [rbp + 0x120]
cmp qword [rax + 0x68], 0
je 0x140208de8
mov r8, qword [rbp + 0x130]
mov rdx, qword [rbp + 0x128]
mov rcx, qword [rbp + 0x120]
call qword [sym.imp.MSVCP140D.dll_protected_virtual:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::xsputn_char_const____ptr64__long_long___int64_____ptr64]
jmp 0x140208efa
mov rax, qword [rbp + 0x130]
mov qword [rbp + 8], rax
mov rcx, qword [rbp + 0x120]
call qword [sym.imp.MSVCP140D.dll_protected:_long_long___int64____cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::_Pnavail_void_const___ptr64]
mov qword [rbp + 0x28], rax
cmp qword [rbp + 0x130], 0
jle 0x140208e93
cmp qword [rbp + 0x28], 0
jle 0x140208e93
mov rax, qword [rbp + 0x28]
cmp qword [rbp + 0x130], rax
jge 0x140208e31
mov rax, qword [rbp + 0x130]
mov qword [rbp + 0x28], rax
mov rcx, qword [rbp + 0x120]
call qword [sym.imp.MSVCP140D.dll_protected:_char____ptr64___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pptr_void_const___ptr64]
mov r8, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x128]
mov rcx, rax
call fcn.140139134
nop
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x128]
add rcx, rax
mov rax, rcx
mov qword [rbp + 0x128], rax
mov rax, qword [rbp + 0x28]
mov rcx, qword [rbp + 0x130]
sub rcx, rax
mov rax, rcx
mov qword [rbp + 0x130], rax
mov edx, dword [rbp + 0x28]
mov rcx, qword [rbp + 0x120]
call qword [sym.imp.MSVCP140D.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::pbump_int____ptr64]
nop
cmp qword [rbp + 0x130], 0
jle 0x140208ee9
mov rax, qword [rbp + 0x120]
cmp qword [rax + 0x80], 0
je 0x140208ee9
mov rax, qword [rbp + 0x120]
mov r9, qword [rax + 0x80]
mov r8, qword [rbp + 0x130]
mov edx, 1
mov rcx, qword [rbp + 0x128]
call qword [sym.imp.ucrtbased.dll_fwrite]
mov rcx, qword [rbp + 0x130]
sub rcx, rax
mov rax, rcx
mov qword [rbp + 0x130], rax
mov rax, qword [rbp + 0x130]
mov rcx, qword [rbp + 8]
sub rcx, rax
mov rax, rcx
lea rsp, [rbp + 0x108]
pop rdi
pop rbp
ret
Function at 0x140132d52
Capabilities:
Create process on windows
Get common file path

Disassembly:
jmp 0x1401624f0
push rbp
push rdi
sub rsp, 0x308
lea rbp, [rsp + 0x50]
lea rdi, [rsp + 0x50]
mov ecx, 0x7e
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x1405c6ac0]
xor rax, rbp
mov qword [rbp + 0x2a8], rax
lea rcx, [0x1405f4173]
call fcn.140139936
nop
lea rax, [rbp + 0x10]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x1c
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHGetFolderPathA]
test eax, eax
jne 0x140162612
lea rdx, str.Medal_app_4.2567.0Medal.exe
lea rcx, [rbp + 0x10]
call fcn.140138b1c
nop
mov dword [rbp + 0x140], 0x68
lea rax, [rbp + 0x148]
mov rdi, rax
xor eax, eax
mov ecx, 0x60
rep stosb byte [rdi], al
mov dword [rbp + 0x17c], 1
xor eax, eax
mov word [rbp + 0x180], ax
lea rax, [rbp + 0x1c8]
mov qword [rsp + 0x48], rax
lea rax, [rbp + 0x140]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp + 0x10]
call qword [sym.imp.KERNEL32.dll_CreateProcessA]
test eax, eax
je 0x140162612
mov edx, 0xffffffff
mov rcx, qword [rbp + 0x1c8]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
nop
mov rcx, qword [rbp + 0x1c8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rcx, qword [rbp + 0x1d0]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
lea rcx, [rbp - 0x50]
lea rdx, [0x1403b46a0]
call fcn.1401383d8
mov rcx, qword [rbp + 0x2a8]
xor rcx, rbp
call fcn.1401359d0
lea rsp, [rbp + 0x2b8]
pop rdi
pop rbp
ret

Function at 0x1401334a0
Capabilities:
Hash data using fnv

Disassembly:
jmp 0x1401c9710
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x108
lea rbp, [rsp + 0x20]
lea rcx, [0x1405f441e]
call fcn.140139936
nop
mov qword [rbp + 8], 0
jmp 0x1401c974f
mov rax, qword [rbp + 8]
inc rax
mov qword [rbp + 8], rax
mov rax, qword [rbp + 0x110]
cmp qword [rbp + 8], rax
jae 0x1401c97a5
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x108]
add rcx, rax
mov rax, rcx
movzx eax, byte [rax]
mov rcx, qword [rbp + 0x100]
xor rcx, rax
mov rax, rcx
mov qword [rbp + 0x100], rax
movabs rax, 0x100000001b3
mov rcx, qword [rbp + 0x100]
imul rcx, rax
mov rax, rcx
mov qword [rbp + 0x100], rax
jmp 0x1401c9744
mov rax, qword [rbp + 0x100]
lea rsp, [rbp + 0xe8]
pop rdi
pop rbp
ret

Function at 0x140135093
Capabilities:
Hash data using fnv

Disassembly:
jmp 0x14018d850
mov byte [rsp + 0x10], dl
mov dword [rsp + 8], ecx
push rbp
push rdi
sub rsp, 0xf8
lea rbp, [rsp + 0x20]
lea rcx, [0x1405f42cd]
call fcn.140139936
nop
xor eax, eax
test eax, eax
je 0x14018d88b
movsx eax, byte [rbp + 0xf8]
or eax, 0x20
mov dword [rbp + 0xc0], eax
jmp 0x14018d898
movsx eax, byte [rbp + 0xf8]
mov dword [rbp + 0xc0], eax
mov eax, dword [rbp + 0xc0]
mov ecx, dword [rbp + 0xf0]
xor ecx, eax
mov eax, ecx
imul eax, eax, 0x1000193
lea rsp, [rbp + 0xd8]
pop rdi
pop rbp
ret
Function at 0x1401362ea
Capabilities:
Terminate process

Disassembly:
jmp 0x140397840
mov qword [rsp + 8], rcx
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
mov rcx, qword [rsp + 0x30]
call qword [sym.imp.KERNEL32.dll_UnhandledExceptionFilter]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, 0xc0000409
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
nop
add rsp, 0x28
ret

Function at 0x140136c59
Capabilities:
Log keystrokes via polling

Disassembly:
jmp 0x1401cc260
push rbp
push rsi
push rdi
sub rsp, 0x560
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0xec
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rax, qword [0x1405c6ac0]
xor rax, rbp
mov qword [rbp + 0x520], rax
lea rcx, [0x1405f4653]
call fcn.140139936
nop
xor eax, eax
cmp eax, 1
je 0x1401cc47f
movzx eax, byte [0x1405c80dc]
test eax, eax
jne 0x1401cc2b7
jmp 0x1401cc29f
lea rcx, [rbp + 0x10]
call fcn.1401392d8
nop
cvtsi2ss xmm0, dword [0x1405c80c8]
lea rax, [rbp + 0x10]
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], 1
movzx r9d, byte [0x1405c80d0]
mov r8d, dword [0x1405c80d4]
movaps xmm1, xmm0
lea rcx, [0x1405c7c50]
call fcn.140134cc9
movzx eax, al
test eax, eax
jne 0x1401cc308
lea rcx, [rbp + 0x10]
call fcn.140139d96
nop
jmp 0x1401cc29f
lea rax, [rbp + 0x3a8]
mov qword [rbp + 0x478], rax
lea rdx, [rbp + 0x10]
mov rcx, qword [rbp + 0x478]
call fcn.140133fd6
mov qword [rbp + 0x518], rax
mov r9d, 0x796e
mov r8, qword [rbp + 0x518]
lea rdx, [rbp + 0xe8]
lea rcx, [0x1405c7c50]
call fcn.140134116
nop
lea rdx, [rbp + 0x498]
lea rcx, [0x1405c7c50]
call fcn.140132898
mov rcx, qword [rax]
call fcn.1401387bb
mov qword [rbp + 0x118], rax
mov rax, qword [rbp + 0x118]
add rax, 0x78
mov rcx, rax
call fcn.140132bea
mov qword [rbp + 0x138], rax
mov rax, qword [rbp + 0x138]
add rax, 0x320
mov rcx, rax
call fcn.140132bea
mov qword [rbp + 0x158], rax
mov ecx, dword [0x1405c80cc]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
test eax, eax
je 0x1401cc470
mov rax, qword [rbp + 0x10]
add rax, 0x70
mov rdx, rax
lea rcx, [rbp + 0x178]
call fcn.140134981
nop
movss xmm0, dword [0x1403c5e84]
movss dword [rbp + 0x1a4], xmm0
movss xmm3, dword [rbp + 0x1a4]
xorps xmm2, xmm2
xorps xmm1, xmm1
lea rcx, [rbp + 0x1c8]
call fcn.140139422
nop
lea r8, [rbp + 0x178]
lea rdx, [rbp + 0x4d4]
lea rcx, [rbp + 0xe8]
call fcn.140133f8b
mov qword [rbp + 0x518], rax
lea r8, [rbp + 0x1c8]
lea rdx, [rbp + 0x1f8]
mov rcx, qword [rbp + 0x518]
call fcn.140133f8b
nop
lea rax, [rbp + 0x500]
lea rcx, [rbp + 0x1f8]
mov rdi, rax
mov rsi, rcx
mov ecx, 0xc
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rbp + 0x158]
add rax, 0x20
lea rdx, [rbp + 0x500]
mov rcx, rax
call fcn.140135c78
nop
lea rcx, [rbp + 0x10]
call fcn.140139d96
nop
jmp 0x1401cc29f
lea rcx, [rbp - 0x30]
lea rdx, [0x1403c5d20]
call fcn.1401383d8
mov rcx, qword [rbp + 0x520]
xor rcx, rbp
call fcn.1401359d0
lea rsp, [rbp + 0x530]
pop rdi
pop rsi
pop rbp
ret
Function at 0x140136c81
Capabilities:
Write file on windows

Disassembly:
jmp 0x140239af0
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0xe8
lea rbp, [rsp + 0x20]
lea rcx, [0x1405f52e2]
call fcn.140139936
nop
mov r9, qword [rbp + 0xf8]
mov r8, qword [rbp + 0xf0]
mov rdx, qword [rbp + 0xe8]
mov rcx, qword [rbp + 0xe0]
call qword [sym.imp.ucrtbased.dll_fwrite]
lea rsp, [rbp + 0xc8]
pop rdi
pop rbp
ret

Function at 0x140136d12
Capabilities:
Get geographical location

Disassembly:
jmp 0x140392cd0
mov qword [rsp + 0x10], rdx
mov dword [rsp + 8], ecx
sub rsp, 0x58
mov r9d, 2
lea r8, [rsp + 0x40]
mov edx, 0x20000001
lea rcx, str._x_sys_default_locale
call qword [sym.imp.KERNEL32.dll_GetLocaleInfoEx]
mov dword [rsp + 0x44], eax
cmp dword [rsp + 0x44], 0
jne 0x140392d0d
mov dword [rsp + 0x40], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x40]
mov r8d, dword [rsp + 0x60]
xor edx, edx
mov ecx, 0x1300
call qword [sym.imp.KERNEL32.dll_FormatMessageA]
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x48]
mov edx, eax
mov rax, qword [rsp + 0x68]
mov rcx, qword [rax]
call fcn.1401398e6
add rsp, 0x58
ret
Function at 0x14013704b
Capabilities:
Read file on windows

Disassembly:
jmp 0x140239a70
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0xe8
lea rbp, [rsp + 0x20]
lea rcx, [0x1405f52e2]
call fcn.140139936
nop
mov r9, qword [rbp + 0xf8]
mov r8, qword [rbp + 0xf0]
mov rdx, qword [rbp + 0xe8]
mov rcx, qword [rbp + 0xe0]
call qword [sym.imp.ucrtbased.dll_fread]
lea rsp, [rbp + 0xc8]
pop rdi
pop rbp
ret

Function at 0x14013707d
Capabilities:
Hash data with crc32

Disassembly:
jmp 0x14023b9d0
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x198
lea rbp, [rsp + 0x20]
lea rcx, [0x1405f52e2]
call fcn.140139936
nop
mov eax, dword [rbp + 0x1a0]
not eax
mov dword [rbp + 0x1a0], eax
mov eax, dword [rbp + 0x1a0]
mov dword [rbp + 4], eax
mov rax, qword [rbp + 0x190]
mov qword [rbp + 0x28], rax
lea rax, [0x1403ce720]
mov qword [rbp + 0x48], rax
cmp qword [rbp + 0x198], 0
je 0x14023bb16
mov rax, qword [rbp + 0x198]
mov qword [rbp + 0x158], rax
mov rax, qword [rbp + 0x198]
dec rax
mov qword [rbp + 0x198], rax
cmp qword [rbp + 0x158], 0
je 0x14023ba6a
mov dword [rbp + 0x160], 1
jmp 0x14023ba74
mov dword [rbp + 0x160], 0
cmp dword [rbp + 0x160], 0
je 0x14023bb11
mov rax, qword [rbp + 0x28]
movzx eax, byte [rax]
mov byte [rbp + 0x154], al
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
movzx eax, byte [rbp + 0x154]
mov byte [rbp + 0x64], al
movzx eax, byte [rbp + 0x64]
cmp eax, 0x23
jne 0x14023baeb
cmp qword [rbp + 0x198], 2
jb 0x14023baeb
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movzx eax, byte [rcx + rax]
cmp eax, 0x23
jne 0x14023baeb
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rbp + 0x28]
movzx eax, byte [rcx + rax]
cmp eax, 0x23
jne 0x14023baeb
mov eax, dword [rbp + 0x1a0]
mov dword [rbp + 4], eax
mov eax, dword [rbp + 4]
shr eax, 8
mov ecx, dword [rbp + 4]
and ecx, 0xff
movzx edx, byte [rbp + 0x64]
xor ecx, edx
mov ecx, ecx
mov rdx, qword [rbp + 0x48]
xor eax, dword [rdx + rcx*4]
mov dword [rbp + 4], eax
jmp 0x14023ba35
jmp 0x14023bbb0
mov rax, qword [rbp + 0x28]
movzx eax, byte [rax]
mov byte [rbp + 0x154], al
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
movzx eax, byte [rbp + 0x154]
mov byte [rbp + 0x84], al
movzx eax, byte [rbp + 0x84]
test eax, eax
je 0x14023bbb0
movzx eax, byte [rbp + 0x84]
cmp eax, 0x23
jne 0x14023bb87
mov eax, 1
imul rax, rax, 0
mov rcx, qword [rbp + 0x28]
movzx eax, byte [rcx + rax]
cmp eax, 0x23
jne 0x14023bb87
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rbp + 0x28]
movzx eax, byte [rcx + rax]
cmp eax, 0x23
jne 0x14023bb87
mov eax, dword [rbp + 0x1a0]
mov dword [rbp + 4], eax
mov eax, dword [rbp + 4]
shr eax, 8
mov ecx, dword [rbp + 4]
and ecx, 0xff
movzx edx, byte [rbp + 0x84]
xor ecx, edx
mov ecx, ecx
mov rdx, qword [rbp + 0x48]
xor eax, dword [rdx + rcx*4]
mov dword [rbp + 4], eax
jmp 0x14023bb16
mov eax, dword [rbp + 4]
not eax
lea rsp, [rbp + 0x178]
pop rdi
pop rbp
ret
Function at 0x14013730c
Capabilities:
Parse pe header

Disassembly:
jmp 0x1403993e0
sub rsp, 0x38
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x140399400
xor al, al
jmp 0x140399481
mov rax, qword [rsp + 0x20]
movzx eax, word [rax]
cmp eax, 0x5a4d
je 0x140399413
xor al, al
jmp 0x140399481
mov rax, qword [rsp + 0x20]
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [rsp + 0x20]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
cmp dword [rax], 0x4550
je 0x14039943d
xor al, al
jmp 0x140399481
mov rax, qword [rsp + 0x28]
movzx eax, word [rax + 0x18]
cmp eax, 0x20b
je 0x140399451
xor al, al
jmp 0x140399481
mov rax, qword [rsp + 0x28]
cmp dword [rax + 0x84], 0xe
ja 0x140399463
xor al, al
jmp 0x140399481
mov eax, 8
imul rax, rax, 0xe
mov rcx, qword [rsp + 0x28]
cmp dword [rcx + rax + 0x88], 0
jne 0x14039947f
xor al, al
jmp 0x140399481
mov al, 1
add rsp, 0x38
ret
Function at 0x1401380ef
Capabilities:
Log keystrokes via polling

Disassembly:
jmp 0x140371830
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x148
lea rbp, [rsp + 0x20]
lea rcx, [0x1405f5a4b]
call fcn.140139936
nop
mov ecx, dword [0x1405c81d8]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cwde
and eax, 0x8000
test eax, eax
je 0x140371901
movzx eax, byte [0x1405cf5c6]
test eax, eax
jne 0x1403718ff
mov byte [0x1405cf5c6], 1
mov rax, qword [rbp + 0x140]
movzx eax, byte [rax + 0x18]
test eax, eax
jne 0x14037189b
mov dword [rbp + 0x114], 1
jmp 0x1403718a5
mov dword [rbp + 0x114], 0
mov rax, qword [rbp + 0x140]
movzx ecx, byte [rbp + 0x114]
mov byte [rax + 0x18], cl
mov rax, qword [rbp + 0x140]
movzx eax, byte [rax + 0x18]
test eax, eax
je 0x1403718e3
mov r8d, 0x80000a8
mov edx, 0xffffffec
mov rax, qword [rbp + 0x140]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
nop
jmp 0x1403718ff
mov r8d, 0x80800a8
mov edx, 0xffffffec
mov rax, qword [rbp + 0x140]
mov rcx, qword [rax]
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
nop
jmp 0x140371908
mov byte [0x1405cf5c6], 0
movzx eax, byte [0x1405cf5c7]
movzx ecx, byte [0x1405c81dc]
cmp eax, ecx
je 0x14037197b
movzx eax, byte [0x1405c81dc]
test eax, eax
je 0x140371931
mov dword [rbp + 0x114], 0x11
jmp 0x14037193b
mov dword [rbp + 0x114], 0
mov eax, dword [rbp + 0x114]
mov dword [rbp + 0xe4], eax
call fcn.1401366f0
mov qword [rbp + 0x108], rax
lea r8, [rbp + 0xe4]
lea rdx, [rbp + 0x108]
lea rcx, [rbp + 0xc4]
call fcn.140136f15
nop
movzx eax, byte [0x1405c81dc]
mov byte [0x1405cf5c7], al
lea rsp, [rbp + 0x128]
pop rdi
pop rbp
ret
Function at 0x140138fe0
Capabilities:
Hash data with crc32

Disassembly:
jmp 0x14023b8b0
mov dword [rsp + 0x18], r8d
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x158
lea rbp, [rsp + 0x20]
lea rcx, [0x1405f52e2]
call fcn.140139936
nop
mov eax, dword [rbp + 0x160]
not eax
mov dword [rbp + 4], eax
mov rax, qword [rbp + 0x150]
mov qword [rbp + 0x28], rax
lea rax, [0x1403ce720]
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x158]
mov qword [rbp + 0x118], rax
mov rax, qword [rbp + 0x158]
dec rax
mov qword [rbp + 0x158], rax
cmp qword [rbp + 0x118], 0
je 0x14023b930
mov dword [rbp + 0x120], 1
jmp 0x14023b93a
mov dword [rbp + 0x120], 0
cmp dword [rbp + 0x120], 0
je 0x14023b983
mov eax, dword [rbp + 4]
shr eax, 8
mov ecx, dword [rbp + 4]
and ecx, 0xff
mov rdx, qword [rbp + 0x28]
movzx edx, byte [rdx]
xor ecx, edx
mov ecx, ecx
mov rdx, qword [rbp + 0x48]
xor eax, dword [rdx + rcx*4]
mov dword [rbp + 0x114], eax
mov rax, qword [rbp + 0x28]
inc rax
mov qword [rbp + 0x28], rax
mov eax, dword [rbp + 0x114]
mov dword [rbp + 4], eax
jmp 0x14023b8fb
mov eax, dword [rbp + 4]
not eax
lea rsp, [rbp + 0x138]
pop rdi
pop rbp
ret
Function at 0x140139797
Capabilities:
Write file on windows

Disassembly:
jmp 0x1401fd030
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x1b8
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x32
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x1d8]
mov rax, qword [0x1405c6ac0]
xor rax, rbp
mov qword [rbp + 0x170], rax
lea rcx, [0x1405f5017]
call fcn.140139936
nop
mov rax, qword [rbp + 0x1a0]
cmp qword [rax + 0x68], 0
je 0x1401fd097
mov rax, qword [rbp + 0x1a0]
movzx eax, byte [rax + 0x71]
test eax, eax
jne 0x1401fd09e
mov al, 1
jmp 0x1401fd20e
mov rax, qword [rbp + 0x1a0]
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
mov qword [rbp + 0x158], rax
call fcn.140134058
mov dword [rbp + 0x160], eax
mov edx, dword [rbp + 0x160]
mov rcx, qword [rbp + 0x1a0]
call qword [rbp + 0x158]
mov dword [rbp + 0x164], eax
call fcn.140134058
mov dword [rbp + 0x168], eax
mov edx, dword [rbp + 0x164]
mov ecx, dword [rbp + 0x168]
call fcn.140137edd
movzx eax, al
test eax, eax
je 0x1401fd101
xor al, al
jmp 0x1401fd20e
mov qword [rbp + 8], 0x20
mov rax, qword [rbp + 0x1a0]
mov rax, qword [rax + 0x68]
mov qword [rbp + 0x158], rax
lea rax, [rbp + 0x48]
mov rcx, qword [rbp + 0x1a0]
add rcx, 0x74
lea rdx, [rbp + 0x68]
mov qword [rsp + 0x20], rdx
mov r9, rax
lea r8, [rbp + 0x28]
mov rdx, rcx
mov rcx, qword [rbp + 0x158]
call qword [sym.imp.MSVCP140D.dll_public:_int___cdecl_std::codecvt_char__char__struct__Mbstatet_::unshift_struct__Mbstatet____ptr64__char____ptr64__char____ptr64__char____ptr64____ptr64_const___ptr64]
mov dword [rbp + 0x160], eax
cmp dword [rbp + 0x160], 0
je 0x1401fd174
cmp dword [rbp + 0x160], 1
je 0x1401fd17f
cmp dword [rbp + 0x160], 3
je 0x1401fd1fd
jmp 0x1401fd20c
mov rax, qword [rbp + 0x1a0]
mov byte [rax + 0x71], 0
lea rax, [rbp + 0x28]
mov rcx, qword [rbp + 0x68]
sub rcx, rax
mov rax, rcx
mov qword [rbp + 0x88], rax
cmp qword [rbp + 0x88], 0
jbe 0x1401fd1cf
mov rax, qword [rbp + 0x1a0]
mov r9, qword [rax + 0x80]
mov r8, qword [rbp + 0x88]
mov edx, 1
lea rcx, [rbp + 0x28]
call qword [sym.imp.ucrtbased.dll_fwrite]
cmp qword [rbp + 0x88], rax
je 0x1401fd1cf
xor al, al
jmp 0x1401fd20e
mov rax, qword [rbp + 0x1a0]
movzx eax, byte [rax + 0x71]
test eax, eax
jne 0x1401fd1ea
mov dword [rbp + 0x154], 1
jmp 0x1401fd1f4
mov dword [rbp + 0x154], 0
movzx eax, byte [rbp + 0x154]
jmp 0x1401fd20e
mov rax, qword [rbp + 0x1a0]
mov byte [rax + 0x71], 0
mov al, 1
jmp 0x1401fd20e
xor al, al
mov rdi, rax
lea rcx, [rbp - 0x30]
lea rdx, [0x1403cc090]
call fcn.1401383d8
mov rax, rdi
mov rcx, qword [rbp + 0x170]
xor rcx, rbp
call fcn.1401359d0
lea rsp, [rbp + 0x188]
pop rdi
pop rbp
ret
Function at 0x140155570
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x148
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x16
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x168]
mov rax, qword [0x1405c6ac0]
xor rax, rbp
mov qword [rbp + 0x100], rax
lea rcx, [0x1405f4156]
call fcn.140139936
nop
mov edx, 8
lea rcx, [rbp + 8]
call fcn.140166750
mov rdx, qword [rbp + 0x138]
lea rcx, [rbp + 8]
call fcn.1401592f0
nop
lea rax, [0x140154110]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x130]
add rax, 8
mov qword [rbp + 0xf8], rax
lea rcx, [rbp + 8]
call fcn.1401693a0
mov rcx, qword [rbp + 0xf8]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0
mov r9, rax
mov r8, qword [rbp + 0x28]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ucrtbased.dll__beginthreadex]
mov rcx, qword [rbp + 0x130]
mov qword [rcx], rax
mov rax, qword [rbp + 0x130]
cmp qword [rax], 0
je 0x14015564c
lea rcx, [rbp + 8]
call fcn.14016a1f0
nop
jmp 0x140155665
mov rax, qword [rbp + 0x130]
mov dword [rax + 8], 0
mov ecx, 6
call fcn.140133a72
nop
lea rcx, [rbp + 8]
call fcn.14015f2c0
nop
lea rcx, [rbp - 0x30]
lea rdx, [0x1403b5470]
call fcn.1401383d8
mov rcx, qword [rbp + 0x100]
xor rcx, rbp
call fcn.1401359d0
lea rsp, [rbp + 0x118]
pop rdi
pop rbp
ret

Function at 0x1401556f0
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x148
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x16
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x168]
mov rax, qword [0x1405c6ac0]
xor rax, rbp
mov qword [rbp + 0x100], rax
lea rcx, [0x1405f4156]
call fcn.140139936
nop
mov edx, 8
lea rcx, [rbp + 8]
call fcn.140166790
mov rdx, qword [rbp + 0x138]
lea rcx, [rbp + 8]
call fcn.1401593c0
nop
lea rax, [0x140154220]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x130]
add rax, 8
mov qword [rbp + 0xf8], rax
lea rcx, [rbp + 8]
call fcn.1401693f0
mov rcx, qword [rbp + 0xf8]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0
mov r9, rax
mov r8, qword [rbp + 0x28]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ucrtbased.dll__beginthreadex]
mov rcx, qword [rbp + 0x130]
mov qword [rcx], rax
mov rax, qword [rbp + 0x130]
cmp qword [rax], 0
je 0x1401557cc
lea rcx, [rbp + 8]
call fcn.14016a250
nop
jmp 0x1401557e5
mov rax, qword [rbp + 0x130]
mov dword [rax + 8], 0
mov ecx, 6
call fcn.140133a72
nop
lea rcx, [rbp + 8]
call fcn.14015f350
nop
lea rcx, [rbp - 0x30]
lea rdx, [0x1403b54f0]
call fcn.1401383d8
mov rcx, qword [rbp + 0x100]
xor rcx, rbp
call fcn.1401359d0
lea rsp, [rbp + 0x118]
pop rdi
pop rbp
ret
Function at 0x140155870
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x148
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x16
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x168]
mov rax, qword [0x1405c6ac0]
xor rax, rbp
mov qword [rbp + 0x100], rax
lea rcx, [0x1405f4156]
call fcn.140139936
nop
mov edx, 8
lea rcx, [rbp + 8]
call fcn.1401667d0
mov rdx, qword [rbp + 0x138]
lea rcx, [rbp + 8]
call fcn.140159490
nop
lea rax, [0x140154330]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x130]
add rax, 8
mov qword [rbp + 0xf8], rax
lea rcx, [rbp + 8]
call fcn.140169440
mov rcx, qword [rbp + 0xf8]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0
mov r9, rax
mov r8, qword [rbp + 0x28]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ucrtbased.dll__beginthreadex]
mov rcx, qword [rbp + 0x130]
mov qword [rcx], rax
mov rax, qword [rbp + 0x130]
cmp qword [rax], 0
je 0x14015594c
lea rcx, [rbp + 8]
call fcn.14016a2b0
nop
jmp 0x140155965
mov rax, qword [rbp + 0x130]
mov dword [rax + 8], 0
mov ecx, 6
call fcn.140133a72
nop
lea rcx, [rbp + 8]
call fcn.14015f3e0
nop
lea rcx, [rbp - 0x30]
lea rdx, [0x1403b5570]
call fcn.1401383d8
mov rcx, qword [rbp + 0x100]
xor rcx, rbp
call fcn.1401359d0
lea rsp, [rbp + 0x118]
pop rdi
pop rbp
ret

Function at 0x1401559f0
Capabilities:
Create thread

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rdi
sub rsp, 0x148
lea rbp, [rsp + 0x30]
lea rdi, [rsp + 0x30]
mov ecx, 0x16
mov eax, 0xcccccccc
rep stosd dword [rdi], eax
mov rcx, qword [rsp + 0x168]
mov rax, qword [0x1405c6ac0]
xor rax, rbp
mov qword [rbp + 0x100], rax
lea rcx, [0x1405f4156]
call fcn.140139936
nop
mov edx, 8
lea rcx, [rbp + 8]
call fcn.140166810
mov rdx, qword [rbp + 0x138]
lea rcx, [rbp + 8]
call fcn.140159560
nop
lea rax, [0x140154440]
mov qword [rbp + 0x28], rax
mov rax, qword [rbp + 0x130]
add rax, 8
mov qword [rbp + 0xf8], rax
lea rcx, [rbp + 8]
call fcn.140169490
mov rcx, qword [rbp + 0xf8]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0
mov r9, rax
mov r8, qword [rbp + 0x28]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.ucrtbased.dll__beginthreadex]
mov rcx, qword [rbp + 0x130]
mov qword [rcx], rax
mov rax, qword [rbp + 0x130]
cmp qword [rax], 0
je 0x140155acc
lea rcx, [rbp + 8]
call fcn.14016a310
nop
jmp 0x140155ae5
mov rax, qword [rbp + 0x130]
mov dword [rax + 8], 0
mov ecx, 6
call fcn.140133a72
nop
lea rcx, [rbp + 8]
call fcn.14015f470
nop
lea rcx, [rbp - 0x30]
lea rdx, [0x1403b55f0]
call fcn.1401383d8
mov rcx, qword [rbp + 0x100]
xor rcx, rbp
call fcn.1401359d0
lea rsp, [rbp + 0x118]
pop rdi
pop rbp
ret