joyce8/EMBER2024-capa huggingface dataset:
Function at 0x180008530
Capabilities:
Hook routines via microsoft detours

Disassembly:
mov qword [rsp + 8], rcx
sub rsp, 0x58
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x38]
mov rcx, qword [rsp + 0x60]
call fcn.180008ac0
mov qword [rsp + 0x28], 0
cmp qword [0x18004a2e8], 0
jne 0x180008578
cmp qword [0x18004a2e0], 0
je 0x180008578
mov rax, qword [0x18004a2e0]
mov qword [0x18004a2e8], rax
cmp qword [0x18004a2e8], 0
je 0x18000861e
mov rax, qword [0x18004a2e8]
cmp qword [rax + 0x10], 0
je 0x18000861e
mov rax, qword [0x18004a2e8]
mov rcx, qword [rsp + 0x38]
cmp qword [rax + 0x10], rcx
jb 0x18000861e
mov rax, qword [0x18004a2e8]
mov rcx, qword [rsp + 0x30]
cmp qword [rax + 0x10], rcx
ja 0x18000861e
mov rax, qword [0x18004a2e8]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x38]
cmp qword [rsp + 0x28], rax
jb 0x1800085e4
mov rax, qword [rsp + 0x30]
cmp qword [rsp + 0x28], rax
jbe 0x1800085eb
xor eax, eax
jmp 0x180008799
mov rax, qword [0x18004a2e8]
mov rcx, qword [rsp + 0x28]
mov rcx, qword [rcx + 0x48]
mov qword [rax + 0x10], rcx
mov r8d, 0x60
mov edx, 0xcc
mov rcx, qword [rsp + 0x28]
call fcn.180010af0
mov rax, qword [rsp + 0x28]
jmp 0x180008799
mov rax, qword [0x18004a2e0]
mov qword [0x18004a2e8], rax
jmp 0x180008640
mov rax, qword [0x18004a2e8]
mov rax, qword [rax + 8]
mov qword [0x18004a2e8], rax
cmp qword [0x18004a2e8], 0
je 0x18000868d
cmp qword [0x18004a2e8], 0
je 0x18000868b
mov rax, qword [0x18004a2e8]
cmp qword [rax + 0x10], 0
je 0x18000868b
mov rax, qword [0x18004a2e8]
mov rcx, qword [rsp + 0x38]
cmp qword [rax + 0x10], rcx
jb 0x18000868b
mov rax, qword [0x18004a2e8]
mov rcx, qword [rsp + 0x30]
cmp qword [rax + 0x10], rcx
ja 0x18000868b
jmp 0x1800085bc
jmp 0x18000862e
mov rcx, qword [rsp + 0x60]
call fcn.18000aa20
and eax, 0xffff
mov eax, eax
mov rcx, qword [rsp + 0x60]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov r8, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x60]
call fcn.1800087a0
mov qword [rsp + 0x48], rax
cmp qword [rsp + 0x48], 0
je 0x180008797
mov rax, qword [rsp + 0x48]
mov qword [0x18004a2e8], rax
mov rax, qword [0x18004a2e8]
mov dword [rax], 0x52727464
mov rax, qword [0x18004a2e8]
mov qword [rax + 0x10], 0
mov rax, qword [0x18004a2e8]
mov rcx, qword [0x18004a2e0]
mov qword [rax + 8], rcx
mov rax, qword [0x18004a2e8]
mov qword [0x18004a2e0], rax
mov qword [rsp + 0x40], 0
mov rax, qword [0x18004a2e8]
add rax, 0x60
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x2a8
jmp 0x180008748
mov eax, dword [rsp + 0x20]
dec eax
mov dword [rsp + 0x20], eax
cmp dword [rsp + 0x20], 1
jle 0x180008782
movsxd rax, dword [rsp + 0x20]
imul rax, rax, 0x60
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x40]
mov qword [rcx + rax + 0x48], rdx
movsxd rax, dword [rsp + 0x20]
imul rax, rax, 0x60
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x40], rax
jmp 0x18000873e
mov rax, qword [0x18004a2e8]
mov rcx, qword [rsp + 0x40]
mov qword [rax + 0x10], rcx
jmp 0x1800085bc
xor eax, eax
add rsp, 0x58
ret
Function at 0x1400111f4
Capabilities:
Terminate process

Disassembly:
jmp 0x1400151e0
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 0x140011276
Capabilities:
Parse pe header

Disassembly:
jmp 0x140012d10
sub rsp, 0x38
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov qword [rsp + 0x20], rax
cmp qword [rsp + 0x20], 0
jne 0x140012d30
xor al, al
jmp 0x140012db1
mov rax, qword [rsp + 0x20]
movzx eax, word [rax]
cmp eax, 0x5a4d
je 0x140012d43
xor al, al
jmp 0x140012db1
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 0x140012d6d
xor al, al
jmp 0x140012db1
mov rax, qword [rsp + 0x28]
movzx eax, word [rax + 0x18]
cmp eax, 0x20b
je 0x140012d81
xor al, al
jmp 0x140012db1
mov rax, qword [rsp + 0x28]
cmp dword [rax + 0x84], 0xe
ja 0x140012d93
xor al, al
jmp 0x140012db1
mov eax, 8
imul rax, rax, 0xe
mov rcx, qword [rsp + 0x28]
cmp dword [rcx + rax + 0x88], 0
jne 0x140012daf
xor al, al
jmp 0x140012db1
mov al, 1
add rsp, 0x38
ret

Function at 0x140011b10
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x68
mov ecx, 1
call fcn.140011393
movzx eax, al
test eax, eax
jne 0x140011b30
mov ecx, 7
call fcn.14001130c
nop
mov byte [rsp + 0x20], 0
call fcn.140011320
mov byte [rsp + 0x21], al
cmp dword [0x14001c220], 1
jne 0x140011b54
mov ecx, 7
call fcn.14001130c
nop
jmp 0x140011bac
cmp dword [0x14001c220], 0
jne 0x140011ba7
mov dword [0x14001c220], 1
lea rdx, [0x140019660]
lea rcx, [0x140019330]
call fcn.14001119a
test eax, eax
je 0x140011b88
mov eax, 0xff
jmp 0x140011cb1
lea rdx, [0x140019220]
lea rcx, [section..rdata]
call fcn.140011316
mov dword [0x14001c220], 2
jmp 0x140011bac
mov byte [rsp + 0x20], 1
movzx ecx, byte [rsp + 0x21]
call fcn.1400112fd
call fcn.140011299
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0x30]
cmp qword [rax], 0
je 0x140011c09
mov rcx, qword [rsp + 0x30]
call fcn.140011159
movzx eax, al
test eax, eax
je 0x140011c09
mov rax, qword [rsp + 0x30]
mov rax, qword [rax]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x50], rax
xor r8d, r8d
mov edx, 2
xor ecx, ecx
mov rax, qword [rsp + 0x50]
call qword [0x140023020]
nop
call fcn.1400112cb
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x38]
cmp qword [rax], 0
je 0x140011c3d
mov rcx, qword [rsp + 0x38]
call fcn.140011159
movzx eax, al
test eax, eax
je 0x140011c3d
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax]
call fcn.14001134d
nop
call fcn.140011d60
mov dword [rsp + 0x28], eax
call fcn.140011276
movzx eax, al
test eax, eax
jne 0x140011c5c
mov ecx, dword [rsp + 0x28]
call fcn.140011055
nop
movzx eax, byte [rsp + 0x20]
test eax, eax
jne 0x140011c6b
call fcn.140011357
nop
xor edx, edx
mov cl, 1
call fcn.14001114a
mov eax, dword [rsp + 0x28]
jmp 0x140011cb1
add rsp, 0x68
ret
Function at 0x1408a80b0
Capabilities:
Decompress data using aplib

Disassembly:
call 0x1408a8237
push r10
mov r10, rsp
push r10
mov rsi, qword [r10 + 0x10]
mov rdi, qword [r10 + 0x20]
cld
mov dl, 0x80
mov al, byte [rsi]
inc rsi
mov byte [rdi], al
inc rdi
mov ebx, 2
add dl, dl
jne 0x1408a80e1
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1408a80c7
add dl, dl
jne 0x1408a80ee
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1408a814e
xor eax, eax
add dl, dl
jne 0x1408a80fd
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1408a8205
add dl, dl
jne 0x1408a810e
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1408a811b
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1408a8128
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1408a8135
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
je 0x1408a8142
push rdi
mov eax, eax
sub rdi, rax
mov al, byte [rdi]
pop rdi
mov byte [rdi], al
inc rdi
mov ebx, 2
jmp 0x1408a80d6
mov eax, 1
add dl, dl
jne 0x1408a815e
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1408a816b
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1408a8153
sub eax, ebx
mov ebx, 1
jne 0x1408a81a4
mov ecx, 1
add dl, dl
jne 0x1408a8186
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x1408a8193
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1408a817b
push rsi
mov rsi, rdi
sub rsi, rbp
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x1408a80d6
dec eax
shl eax, 8
mov al, byte [rsi]
inc rsi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x1408a81c0
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x1408a81cd
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1408a81b5
cmp eax, 0x7d00
jae 0x1408a81f3
cmp eax, 0x500
jb 0x1408a81ee
inc ecx
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x1408a80d6
cmp eax, 0x7f
ja 0x1408a81f6
add ecx, 2
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x1408a80d6
mov al, byte [rsi]
inc rsi
xor ecx, ecx
shr al, 1
je 0x1408a822a
adc ecx, 2
mov ebp, eax
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
mov ebx, 1
jmp 0x1408a80d6
pop r10
sub rdi, qword [r10 + 0x20]
mov eax, edi
pop r10
ret 0x20
Function at 0x401010
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
mov rax, qword [0x00408430]
xor edx, edx
mov dword [rax], 1
mov rax, qword [0x00408440]
mov dword [rax], 1
mov rax, qword [0x00408450]
mov dword [rax], 1
mov rax, qword [0x00408420]
mov dword [rax], 1
mov rax, qword [0x004082e0]
cmp word [rax], 0x5a4d
je 0x4010d0
mov rax, qword [0x00408410]
mov dword [0x0040b008], edx
mov eax, dword [rax]
test eax, eax
je 0x4010c2
mov ecx, 2
call sym.__set_app_type
mov rcx, 0xffffffffffffffff
call dbg._encode_pointer
mov rdx, qword [0x00408370]
mov qword [rdx], rax
mov rdx, qword [0x00408360]
mov qword [rdx], rax
mov rax, qword [0x004083d0]
mov edx, dword [rax]
mov rax, qword [sym.imp.msvcrt.dll__fmode]
mov rax, qword [rax]
mov dword [rax], edx
call dbg._setargv
mov rax, qword [0x00408290]
cmp dword [rax], 1
je 0x401120
xor eax, eax
add rsp, 0x28
ret
mov ecx, 1
call sym.__set_app_type
jmp 0x401075
movsxd rcx, dword [rax + 0x3c]
add rax, rcx
cmp dword [rax], 0x4550
jne 0x401058
movzx ecx, word [rax + 0x18]
cmp cx, 0x10b
je 0x401133
cmp cx, 0x20b
jne 0x401058
cmp dword [rax + 0x84], 0xe
jbe 0x401058
mov ecx, dword [rax + 0xf8]
xor edx, edx
test ecx, ecx
setne dl
jmp 0x401058
lea rcx, [dbg._matherr]
call dbg.__mingw_setusermatherr
xor eax, eax
add rsp, 0x28
ret
cmp dword [rax + 0x74], 0xe
jbe 0x401058
mov r8d, dword [rax + 0xe8]
xor edx, edx
test r8d, r8d
setne dl
jmp 0x401058
Function at 0x401820
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
movsxd rbp, dword [0x0040b054]
mov rbx, rcx
mov rsi, rdx
mov rdi, r8
test ebp, ebp
jle 0x40193a
mov rax, qword [0x0040b058]
xor r9d, r9d
add rax, 8
mov r10, qword [rax]
cmp rbx, r10
jb 0x40186e
mov rdx, qword [rax + 8]
mov r11d, dword [rdx + 8]
add r10, r11
cmp rbx, r10
jb 0x401920
add r9d, 1
add rax, 0x18
cmp r9d, ebp
jne 0x401852
mov rcx, rbx
call dbg.__mingw_GetSectionForAddress
test rax, rax
mov r12, rax
je 0x401972
lea rbp, [rbp + rbp*2]
shl rbp, 3
mov r13, rbp
add r13, qword [0x0040b058]
mov qword [r13 + 0x10], rax
mov dword [r13], 0
call dbg._GetPEImageBase
mov edx, dword [r12 + 0xc]
mov r8d, 0x30
add rax, rdx
lea rdx, [rsp + 0x20]
mov qword [r13 + 8], rax
mov rax, qword [0x0040b058]
mov rcx, qword [rax + rbp + 8]
call qword [sym.imp.KERNEL32.dll_VirtualQuery]
test rax, rax
je 0x401955
mov eax, dword [rsp + 0x44]
lea edx, [rax - 4]
and edx, 0xfffffffb
je 0x401919
sub eax, 0x40
and eax, 0xffffffbf
je 0x401919
mov r9, rbp
add r9, qword [0x0040b058]
mov r8d, 0x40
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x401941
add dword [0x0040b054], 1
mov r8, rdi
mov rdx, rsi
mov rcx, rbx
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
jmp sym.memcpy
xor ebp, ebp
jmp 0x40187b
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.__VirtualProtect_failed_with_code_0x_x
mov edx, eax
call dbg.__report_error
mov rax, qword [0x0040b058]
mov edx, dword [r12 + 8]
lea rcx, str.__VirtualQuery_failed_for__d_bytes_at_address__p
mov r8, qword [rax + rbp + 8]
call dbg.__report_error
lea rcx, str.Address__p_has_no_image_section
mov rdx, rbx
call dbg.__report_error
nop
nop word cs:[rax + rax]

Function at 0x402550
Capabilities:
Parse pe header

Disassembly:
cmp word [rcx], 0x5a4d
je 0x402560
xor eax, eax
ret
jmp sym._ValidateImageBase.part.0

Function at 0x402570
Capabilities:
Enumerate pe sections

Disassembly:
movsxd rax, dword [rcx + 0x3c]
add rcx, rax
movzx eax, word [rcx + 0x14]
lea rax, [rcx + rax + 0x18]
movzx ecx, word [rcx + 6]
test ecx, ecx
je 0x4025b1
sub ecx, 1
lea rcx, [rcx + rcx*4]
lea r9, [rax + rcx*8 + 0x28]
mov r8d, dword [rax + 0xc]
cmp r8, rdx
mov rcx, r8
ja 0x4025a8
add ecx, dword [rax + 8]
cmp rdx, rcx
jb 0x4025b3
add rax, 0x28
cmp rax, r9
jne 0x402594
xor eax, eax
repz ret

Function at 0x402660
Capabilities:
Enumerate pe sections

Disassembly:
push rsi
push rbx
sub rsp, 0x28
mov rbx, qword [0x004082e0]
cmp word [rbx], 0x5a4d
je 0x402680
xor eax, eax
add rsp, 0x28
pop rbx
pop rsi
ret
mov rsi, rcx
mov rcx, rbx
call sym._ValidateImageBase.part.0
test eax, eax
je 0x402674
sub rsi, rbx
mov rcx, rbx
mov rdx, rsi
add rsp, 0x28
pop rbx
pop rsi
jmp dbg._FindPESection
Function at 0x4028d0
Capabilities:
Get thread local storage value

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
lea rcx, [0x0040b9c0]
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbx, qword [0x0040b9a0]
test rbx, rbx
je 0x402924
mov rbp, qword [sym.imp.KERNEL32.dll_TlsGetValue]
mov rdi, qword [sym.imp.KERNEL32.dll_GetLastError]
nop
mov ecx, dword [rbx]
call rbp
mov rsi, rax
call rdi
test eax, eax
jne 0x40291b
test rsi, rsi
je 0x40291b
mov rax, qword [rbx + 8]
mov rcx, rsi
call rax
mov rbx, qword [rbx + 0x10]
test rbx, rbx
jne 0x402900
mov rax, qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
lea rcx, [0x0040b9c0]
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
jmp rax
Function at 0x7ff62f533388
Capabilities:
Set console window title

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 r13
mov eax, 0x20020
call fcn.7ff62f573750
sub rsp, rax
movsxd rdi, ecx
mov rcx, qword [sym.imp.msvcrt.dll__iob]
xor r13d, r13d
add rcx, 0x30
mov rbp, rdx
mov ebx, r13d
call qword [sym.imp.msvcrt.dll__fileno]
mov esi, 0x40000
mov ecx, eax
mov edx, esi
call qword [sym.imp.msvcrt.dll__setmode]
mov rcx, qword [sym.imp.msvcrt.dll__iob]
add rcx, 0x60
mov dword [0x7ff62f5d4300], eax
call qword [sym.imp.msvcrt.dll__fileno]
mov edx, esi
mov ecx, eax
call qword [sym.imp.msvcrt.dll__setmode]
mov dword [0x7ff62f5d4308], eax
call qword [sym.imp.KERNEL32.dll_GetConsoleOutputCP]
mov ecx, 0xfde9
mov dword [0x7ff62f5d4304], eax
call qword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
lea rcx, str.mimikatz_2.2.0_x64__oe.eo_
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleW]
lea edx, [r13 + 1]
lea rcx, [0x7ff62f533590]
call qword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
lea rcx, str._n__..___mimikatz_2.2.0__x64__18362_Feb_29_2020_11:13:36_n_.__.___A_La_Vie__A_LAmour_____oe.eo__n_________Benjamin_DELPY__gentilkiwi____benjamin_gentilkiwi.com___n______________http:__blog.gentilkiwi.com_mimikatz_n__v________Vincent_LE_TOUX_______________vincent.letoux_gmail.com___n____________http:__pingcastle.com___http:__mysmartlogon.com_____n
call fcn.7ff62f4ba838
lea ecx, [r13 + 1]
call fcn.7ff62f5335a4
lea esi, [r13 + 1]
cmp rsi, rdi
jge 0x7ff62f53348c
cmp ebx, 0x40000015
je 0x7ff62f533517
mov rdx, qword [rbp + rsi*8]
lea rcx, str._nmimikatz_commandline____s_n
call fcn.7ff62f4ba838
mov rcx, qword [rbp + rsi*8]
call fcn.7ff62f5336a4
inc rsi
cmp rsi, rdi
mov ebx, eax
jl 0x7ff62f533450
cmp eax, 0x40000015
je 0x7ff62f533517
lea rcx, str._nmimikatz_
call fcn.7ff62f4ba838
mov rcx, qword [sym.imp.msvcrt.dll__iob]
call qword [sym.imp.msvcrt.dll_fflush]
mov r8, qword [sym.imp.msvcrt.dll__iob]
lea rcx, [rsp + 0x20]
mov edx, 0xffff
call qword [sym.imp.msvcrt.dll_fgetws]
cmp rax, r13
je 0x7ff62f53350b
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rsp + 0x20]
repne scasw ax, word [rdi]
not rcx
sub rcx, 1
je 0x7ff62f53350b
cmp word [rsp + 0x20], 0xa
je 0x7ff62f53350b
cmp word [rsp + rcx*2 + 0x1e], 0xa
jne 0x7ff62f5334ee
mov word [rsp + rcx*2 + 0x1e], r13w
lea rdx, [rsp + 0x20]
lea rcx, [0x7ff62f596fb8]
call fcn.7ff62f4ba980
lea rcx, [rsp + 0x20]
call fcn.7ff62f5336a4
mov ebx, eax
cmp ebx, 0x40000015
jne 0x7ff62f53348c
call fcn.7ff62f533520
int3
Function at 0x7ff62f533520
Capabilities:
Terminate process

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call fcn.7ff62f5335a4
lea rcx, [0x7ff62f533590]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
mov rcx, qword [sym.imp.msvcrt.dll__iob]
add rcx, 0x30
call qword [sym.imp.msvcrt.dll__fileno]
mov edx, dword [0x7ff62f5d4300]
mov ecx, eax
call qword [sym.imp.msvcrt.dll__setmode]
mov rcx, qword [sym.imp.msvcrt.dll__iob]
add rcx, 0x60
call qword [sym.imp.msvcrt.dll__fileno]
mov edx, dword [0x7ff62f5d4308]
mov ecx, eax
call qword [sym.imp.msvcrt.dll__setmode]
mov ecx, dword [0x7ff62f5d4304]
call qword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_ExitProcess]

Function at 0x7ff62f5336a4
Capabilities:
Query environment variable

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x20
mov rsi, rcx
mov edi, 0xc0000001
test rcx, rcx
je 0x7ff62f53374d
xor r8d, r8d
xor edx, edx
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
mov ebp, eax
test eax, eax
je 0x7ff62f53374d
mov rdx, rbp
mov ecx, 0x40
add rdx, rdx
call qword [sym.imp.KERNEL32.dll_LocalAlloc]
mov rbx, rax
test rax, rax
je 0x7ff62f53374d
mov r8d, ebp
mov rdx, rax
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
cmp ebp, eax
je 0x7ff62f533712
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rbx, rax
test rbx, rbx
je 0x7ff62f53374d
movzx eax, word [rbx]
cmp eax, 0x21
je 0x7ff62f533739
cmp eax, 0x2a
je 0x7ff62f53372e
mov rcx, rbx
call fcn.7ff62f533764
jmp 0x7ff62f533742
lea rcx, [rbx + 2]
call fcn.7ff62f557890
jmp 0x7ff62f533742
lea rcx, [rbx + 2]
call 0x7ff62f549500
mov rcx, rbx
mov edi, eax
call qword [sym.imp.KERNEL32.dll_LocalFree]
mov rbx, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
mov eax, edi
add rsp, 0x20
pop rdi
ret
Function at 0x7ff62f56c4e0
Capabilities:
Print debug messages

Disassembly:
push rbx
sub rsp, 0x530
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_RtlCaptureContext]
mov rbx, qword [rsp + 0x158]
lea rdx, [rsp + 0x40]
mov rcx, rbx
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_RtlLookupFunctionEntry]
test rax, rax
je 0x7ff62f56c54b
and qword [rsp + 0x38], 0
mov rdx, qword [rsp + 0x40]
lea rcx, [rsp + 0x48]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x50]
mov r9, rax
mov qword [rsp + 0x28], rcx
lea rcx, [rsp + 0x60]
mov r8, rbx
mov qword [rsp + 0x20], rcx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_RtlVirtualUnwind]
jmp 0x7ff62f56c56b
mov rax, qword [rsp + 0x538]
mov qword [rsp + 0x158], rax
lea rax, [rsp + 0x538]
mov qword [rsp + 0xf8], rax
lea rcx, [0x7ff62f575350]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringA]
add rsp, 0x530
pop rbx
ret

Function at 0x7ff62f56c640
Capabilities:
Terminate process

Disassembly:
cmp rcx, qword [section..data]
jne 0x7ff62f56c65b
rol rcx, 0x10
test cx, 0xffff
jne 0x7ff62f56c657
ret 0
ror rcx, 0x10
jmp 0x7ff62f56cd20
mov qword [rsp + 8], rcx
sub rsp, 0x88
lea rcx, [0x7ff62f5d3550]
call qword [sym.imp.KERNEL32.dll_RtlCaptureContext]
mov r11, qword [0x7ff62f5d3648]
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 0x7ff62f56cda5
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, [0x7ff62f5d3550]
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 0x7ff62f56cdc7
mov rax, qword [rsp + 0x88]
mov qword [0x7ff62f5d3648], rax
lea rax, [rsp + 0x88]
add rax, 8
mov qword [0x7ff62f5d35e8], rax
mov rax, qword [0x7ff62f5d3648]
mov qword [0x7ff62f5d34c0], rax
mov rax, qword [rsp + 0x90]
mov qword [0x7ff62f5d35d0], rax
mov dword [0x7ff62f5d34b0], 0xc0000409
mov dword [0x7ff62f5d34b4], 1
mov rax, qword [section..data]
mov qword [rsp + 0x68], rax
mov rax, qword [0x7ff62f5cd008]
mov qword [rsp + 0x70], rax
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
lea rcx, [0x7ff62f575388]
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]
add rsp, 0x88
ret

Function at 0x140001cd8
Capabilities:
Parse pe header

Disassembly:
sub rsp, 0x28
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test rax, rax
je 0x140001d22
mov ecx, 0x5a4d
cmp word [rax], cx
jne 0x140001d22
movsxd rcx, dword [rax + 0x3c]
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140001d22
mov eax, 0x20b
cmp word [rcx + 0x18], ax
jne 0x140001d22
cmp dword [rcx + 0x84], 0xe
jbe 0x140001d22
cmp dword [rcx + 0xf8], 0
setne al
jmp 0x140001d24
xor al, al
add rsp, 0x28
ret
Function at 0x140001410
Capabilities:
Terminate process

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r14
push r15
sub rsp, 0xb0
xor r14d, r14d
mov dword [rsp + 0x20], r14d
lea rcx, [rax - 0x78]
call qword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_GetStartupInfoW]
nop
mov rax, qword gs:[0x30]
mov rbx, qword [rax + 8]
mov esi, r14d
xor eax, eax
lock cmpxchg qword [0x14000f970], rbx
je 0x140001477
cmp rax, rbx
jne 0x14000146a
mov ebx, 1
mov esi, ebx
jmp 0x14000147c
mov ecx, 0x3e8
call qword [sym.imp.api_ms_win_core_synch_l1_2_0.dll_Sleep]
jmp 0x14000144f
mov ebx, 1
mov eax, dword [0x14000f978]
cmp eax, ebx
jne 0x140001494
mov edi, 0x1f
mov ecx, edi
call sub.msvcrt.dll__amsg_exit
jmp 0x14000150a
mov eax, dword [0x14000f978]
test eax, eax
jne 0x1400014ff
mov dword [0x14000f978], ebx
lea r15, [0x1400089f0]
lea rdi, [0x1400089d8]
mov qword [rsp + 0x30], rdi
mov eax, r14d
mov dword [rsp + 0x24], eax
cmp rdi, r15
jae 0x1400014f1
test eax, eax
jne 0x1400014f5
cmp qword [rdi], r14
je 0x1400014e6
movabs r10, 0xd30527475e523070
mov rax, qword [rdi]
mov rcx, qword [0x140008950]
call rcx
mov dword [rsp + 0x24], eax
add rdi, 8
mov qword [rsp + 0x30], rdi
jmp 0x1400014be
test eax, eax
je 0x140001505
mov eax, 0xff
jmp 0x14000166a
mov dword [0x14000d2a4], ebx
mov edi, 0x1f
mov eax, dword [0x14000f978]
cmp eax, ebx
jne 0x140001531
lea rdx, [0x1400089d0]
lea rcx, [0x140008960]
call sub.msvcrt.dll__initterm
mov dword [0x14000f978], 2
test esi, esi
jne 0x14000153f
mov rax, r14
xchg qword [0x14000f970], rax
cmp qword [0x14000f980], r14
je 0x14000157c
lea rcx, [0x14000f980]
call fcn.1400018a0
test eax, eax
je 0x14000157c
movabs r10, 0x99012e4578d92870
xor r8d, r8d
lea edx, [r8 + 2]
xor ecx, ecx
mov rax, qword [0x14000f980]
mov r9, qword [0x140008950]
call r9
mov rax, qword [sym.imp.msvcrt.dll__wcmdln]
mov rcx, qword [rax]
test rcx, rcx
jne 0x140001595
mov eax, 0xff
jmp 0x14000166a
mov qword [rsp + 0x28], rcx
mov edx, dword [rsp + 0x20]
movzx eax, word [rcx]
cmp ax, 0x20
ja 0x14000161b
test ax, ax
je 0x1400015b0
test edx, edx
jne 0x14000161b
sub ax, bx
cmp ax, di
ja 0x1400015c6
add rcx, 2
mov qword [rsp + 0x28], rcx
movzx eax, word [rcx]
jmp 0x1400015b0
test byte [rsp + 0x7c], bl
movzx eax, word [rsp + 0x80]
mov r9d, 0xa
cmovne r9d, eax
mov r8, rcx
xor edx, edx
lea rcx, [0x140000000]
call fcn.140002014
mov dword [0x14000d2a0], eax
cmp dword [0x14000d2c0], r14d
jne 0x140001604
mov ecx, eax
call qword [sym.imp.msvcrt.dll_exit]
cmp dword [0x14000d2a4], r14d
jne 0x140001619
call qword [sym.imp.msvcrt.dll__cexit]
mov eax, dword [0x14000d2a0]
jmp 0x14000166a
cmp ax, 0x22
jne 0x14000162f
mov eax, r14d
test edx, edx
sete al
mov edx, eax
mov dword [rsp + 0x20], eax
add rcx, 2
mov qword [rsp + 0x28], rcx
jmp 0x14000159e
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop r15
ret
sub rsp, 0x28
call fcn.14013e000
add rsp, 0x28
jmp 0x140001410