joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4037f0
Capabilities:
Initialize winsock library

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x1c0
mov rsi, qword [rcx + 0xd8]
mov rbx, rcx
mov rdi, rdx
mov rbp, r8
mov r12d, r9d
call fcn.0042a0f0
mov rcx, rbx
call fcn.00403430
cmp eax, 0xffffffff
je 0x403a11
mov rcx, rbx
call fcn.00421250
cmp eax, 0xffffffff
je 0x403a11
mov r8, rbp
mov rdx, rdi
mov rcx, rbx
call fcn.00477a70
cmp eax, 0xffffffff
je 0x403a11
mov rcx, rbx
call fcn.004139b0
cmp eax, 0xffffffff
je 0x403a11
mov r8, qword [rsp + 0x210]
mov edx, r12d
mov rcx, rbx
call fcn.004159b0
cmp eax, 0xffffffff
je 0x403a11
mov rcx, rbx
call fcn.0042a200
mov rcx, rbx
call fcn.0042aa60
mov rcx, rbx
call fcn.0042a6c0
cmp byte [rsi + 0x36], 0
jne 0x4039d0
mov rcx, rbx
call fcn.00442330
cmp eax, 0xffffffff
je 0x403a11
mov rcx, rbx
call fcn.0040e540
cmp eax, 0xffffffff
je 0x403a11
mov rcx, rbx
call fcn.00448650
cmp eax, 0xffffffff
je 0x403a11
movzx ecx, byte [rsi + 0x2b]
mov edx, dword [rsi + 0x1c8]
call fcn.0041c740
mov rcx, qword [rbx + 0x38]
call fcn.0041c680
call fcn.0041c730
mov rcx, rbx
call fcn.00426ed0
cmp eax, 0xffffffff
je 0x403a11
mov rcx, rbx
call fcn.0040cbc0
cmp eax, 0xffffffff
je 0x403a11
mov rcx, rbx
call fcn.00412830
cmp eax, 0xffffffff
je 0x403a11
mov rcx, rbx
call fcn.004132f0
cmp eax, 0xffffffff
je 0x403a11
mov rcx, rbx
call fcn.00413cb0
cmp eax, 0xffffffff
je 0x403a11
mov rcx, rbx
call fcn.00468a50
cmp eax, 0xffffffff
je 0x403a11
mov rcx, rbx
call fcn.0040e5f0
cmp eax, 0xffffffff
je 0x403a11
mov rcx, rbx
call fcn.004687a0
cmp eax, 0xffffffff
je 0x403a11
mov rcx, rbx
call fcn.0042ac80
cmp eax, 0xffffffff
je 0x403a11
mov rcx, rbx
call fcn.00451b60
cmp eax, 0xffffffff
je 0x403a11
mov edx, dword [rsp + 0x218]
mov rcx, rbx
call fcn.00452ae0
cmp eax, 0xffffffff
je 0x403a11
mov rcx, rbx
call fcn.0040b960
cmp eax, 0xffffffff
sete al
movzx eax, al
neg eax
add rsp, 0x1c0
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
lea rdx, [rsp + 0x20]
mov ecx, 0x202
call qword [sym.imp.WS2_32.dll_WSAStartup]
test eax, eax
je 0x40389d
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [rax]
call sub.msvcrt.dll_strerror
mov rbx, rax
call qword [sym.imp.msvcrt.dll___iob_func]
lea rdx, [0x005355e0]
lea rcx, [rax + 0x60]
mov r8, rbx
call sub.msvcrt.dll_fprintf
mov eax, 0xffffffff
add rsp, 0x1c0
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
Function at 0x40cbc0
Capabilities:
Create directory
Delete directory
Move file

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x40
mov rsi, qword [rcx + 0xd8]
xor eax, eax
mov rdi, qword [rcx + 0x60]
mov rbp, qword [rcx + 0x38]
mov rbx, rcx
cmp byte [rsi + 0x34], 0
mov byte [rdi], 0
jne 0x40cc56
cmp byte [rsi + 0x3b], 0
jne 0x40cc56
cmp byte [rsi + 0x41], 0
jne 0x40cc56
cmp byte [rsi + 0x42], 0
jne 0x40cc56
cmp byte [rsi + 0x57], 0
jne 0x40cc56
cmp byte [rsi + 0x5c], 0
jne 0x40cc56
cmp byte [rsi + 0x59], 0
jne 0x40cc56
cmp byte [rsi + 0x51], 0
jne 0x40cc56
cmp byte [rsi + 0x5e], 0
jne 0x40cc56
cmp byte [rsi + 0x62], 0
jne 0x40cc56
cmp byte [rsi + 0x20], 0
jne 0x40cc56
mov edx, dword [rsi + 0x150]
test edx, edx
jne 0x40cc56
mov edx, dword [rsi + 0x148]
test edx, edx
je 0x40cc3c
cmp edx, 9
jne 0x40cc56
mov rcx, qword [rsi + 0x98]
mov byte [rdi], 1
test rcx, rcx
je 0x40cc61
call fcn.0040ea30
mov qword [rdi + 8], rax
xor eax, eax
add rsp, 0x40
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
mov r9, qword [rsi + 0x140]
mov r8, qword [rbp + 0x20]
lea rax, str.induct
lea rcx, [rsp + 0x30]
lea rdx, [0x00536340]
mov qword [rsp + 0x20], rax
call fcn.0041c0e0
mov rcx, qword [rsp + 0x30]
call sub.msvcrt.dll__rmdir
add eax, 1
je 0x40ccb9
mov rcx, qword [rsp + 0x30]
mov edx, 0x1c0
call sub.msvcrt.dll__mkdir
add eax, 1
je 0x40cd1e
mov rax, qword [rsp + 0x30]
mov qword [rdi + 8], rax
xor eax, eax
jmp 0x40cc56
mov r12, qword [sym.imp.msvcrt.dll__errno]
call r12
cmp dword [rax], 2
je 0x40cc98
call r12
cmp dword [rax], 0x29
jne 0x40cd74
xor ecx, ecx
call qword [sym.imp.msvcrt.dll__time64]
mov r9, qword [rsi + 0x140]
mov r8, qword [rbp + 0x20]
lea rcx, [rsp + 0x38]
lea rdx, str._s__s.induct._d
mov dword [rsp + 0x20], eax
call fcn.0041c0e0
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x30]
call sub.msvcrt.dll_rename
test eax, eax
jne 0x40cd4a
mov rcx, qword [rsp + 0x38]
call fcn.0040ea80
jmp 0x40cc98
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [rax]
call sub.msvcrt.dll_strerror
mov r8, qword [rsp + 0x30]
lea rdx, [0x00536377]
mov r9, rax
mov rcx, rbx
call fcn.00403390
or eax, 0xffffffff
jmp 0x40cc56
call r12
mov ecx, dword [rax]
call sub.msvcrt.dll_strerror
mov r9, qword [rsp + 0x38]
mov r8, qword [rsp + 0x30]
lea rdx, str.Rename_directory__s_to__s:__s
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.00403390
jmp 0x40cd42
call r12
jmp 0x40cd24

Function at 0x40cdd0
Capabilities:
Delete directory

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rbx, qword [rcx + 0x60]
mov rsi, rcx
cmp byte [rbx], 0
jne 0x40cdf0
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
mov rcx, qword [rbx + 8]
call sub.msvcrt.dll__rmdir
cmp eax, 0xffffffff
je 0x40ce30
mov rcx, qword [rbx + 8]
call fcn.0040ea80
mov qword [rbx], 0
mov qword [rbx + 8], 0
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], 0
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
mov rdi, qword [sym.imp.msvcrt.dll__errno]
call rdi
cmp dword [rax], 2
je 0x40cdfe
call rdi
cmp dword [rax], 0x29
je 0x40cdfe
call rdi
mov ecx, dword [rax]
call sub.msvcrt.dll_strerror
mov r8, qword [rbx + 8]
lea rdx, [0x00536377]
mov r9, rax
mov rcx, rsi
call fcn.00403390
jmp 0x40cdfe
Function at 0x412830
Capabilities:
Create directory

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x30
mov rax, qword [rcx + 0xd8]
mov rsi, qword [rcx + 0x90]
mov r8, qword [rcx + 0x38]
mov rdx, qword [rcx + 0x48]
mov rbx, rcx
cmp byte [rax + 0x41], 0
mov byte [rsi], 0
jne 0x412900
cmp byte [rax + 0x34], 0
jne 0x412900
cmp byte [rax + 0x3b], 0
jne 0x412900
cmp byte [rax + 0x59], 0
jne 0x412900
cmp byte [rax + 0x51], 0
jne 0x412900
cmp byte [rax + 0x20], 0
jne 0x412900
mov ecx, dword [rax + 0x150]
test ecx, ecx
jne 0x412900
cmp byte [rdx + 0xcf], 0
jne 0x412900
mov edx, dword [rax + 0x1a8]
test edx, edx
je 0x412900
mov rcx, qword [rax + 0xc8]
test rcx, rcx
je 0x41290c
mov qword [rsi + 8], rcx
mov byte [rsi], 1
call fcn.0041c390
test al, al
jne 0x412900
mov rcx, qword [rsi + 8]
mov edx, 0x1c0
call sub.msvcrt.dll__mkdir
cmp eax, 0xffffffff
mov edi, eax
jne 0x412900
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [rax]
call sub.msvcrt.dll_strerror
mov r8, qword [rsi + 8]
lea rdx, [0x00536e60]
mov r9, rax
mov rcx, rbx
call fcn.00403390
jmp 0x412902
xor edi, edi
mov eax, edi
add rsp, 0x30
pop rbx
pop rsi
pop rdi
ret
mov r9, qword [rax + 0x140]
mov r8, qword [r8 + 0x20]
lea rax, str.outfiles
lea rcx, [rsi + 8]
lea rdx, str._s__s._s
mov qword [rsp + 0x20], rax
call fcn.0041c0e0
mov rcx, qword [rsi + 8]
jmp 0x4128b4

Function at 0x412940
Capabilities:
Delete directory

Disassembly:
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rsi, qword [rcx + 0x90]
mov rbx, rcx
cmp byte [rsi], 0
je 0x412964
mov rax, qword [rcx + 0x48]
cmp byte [rax + 0xcf], 0
je 0x412970
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov rdi, qword [rcx + 0xd8]
mov rcx, qword [rsi + 8]
call sub.msvcrt.dll__rmdir
cmp eax, 0xffffffff
je 0x4129b0
cmp qword [rdi + 0xc8], 0
je 0x4129f0
mov qword [rsi], 0
mov qword [rsi + 8], 0
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
ret
mov rbp, qword [sym.imp.msvcrt.dll__errno]
call rbp
cmp dword [rax], 2
je 0x412985
call rbp
cmp dword [rax], 0x29
je 0x412985
call rbp
mov ecx, dword [rax]
call sub.msvcrt.dll_strerror
mov r8, qword [rsi + 8]
lea rdx, [0x00536e60]
mov r9, rax
mov rcx, rbx
call fcn.00403390
jmp 0x412985
mov rcx, qword [rsi + 8]
call fcn.0040ea80
jmp 0x41298f
Function at 0x4156f0
Capabilities:
Move file

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
mov rax, qword [rcx + 0xb0]
mov rbp, rcx
cmp byte [rax], 0
je 0x415880
mov rdx, qword [rcx + 0x78]
mov r8, qword [rbp + 0xb8]
mov rcx, qword [rcx + 0xc0]
mov edx, dword [rdx + 0x60]
cmp dword [rax + 0x2c], edx
mov ecx, dword [rcx + 0x18]
mov r8, qword [r8 + 0xc8]
jne 0x415740
cmp dword [rax + 0x28], ecx
je 0x415874
mov rbx, qword [rax + 0x20]
mov r14, qword [rax + 0x18]
lea rsi, [rsp + 0x30]
mov dword [rax + 0x2c], edx
mov dword [rax + 0x28], ecx
mov qword [rax + 0x30], r8
mov r13, qword [rax + 0x10]
mov qword [rbx + 0x110], r8
lea r8, [0x00536fd0]
mov dword [rbx + 0x108], edx
mov dword [rbx + 0x104], ecx
mov rdx, r14
mov rcx, rsi
call fcn.004763f0
test al, al
je 0x415909
mov rcx, qword [rsp + 0x38]
xor r9d, r9d
xor edx, edx
mov r8d, 4
call sub.msvcrt.dll_setvbuf
test eax, eax
mov r12d, eax
jne 0x4158d4
mov r9, rsi
mov r8d, 1
mov edx, 0x128
mov rcx, rbx
call fcn.00476c60
mov eax, dword [rbx + 0x118]
test eax, eax
je 0x415801
lea r15, [0x00536ff0]
xor edi, edi
mov rax, qword [rbx + 0x120]
mov edx, edi
mov rcx, rsi
add edi, 1
mov r8, qword [rax + rdx*8]
mov rdx, r15
call fcn.004773c0
mov rdx, rsi
mov ecx, 0xa
call fcn.00476fd0
cmp edi, dword [rbx + 0x118]
jb 0x4157d1
mov rcx, rsi
call fcn.004774e0
mov rcx, rsi
call fcn.00477520
mov rcx, rsi
call fcn.00477560
mov qword [rbx + 0x104], 0
mov qword [rbx + 0x110], 0
mov rcx, r13
call fcn.0041c390
test al, al
jne 0x4158a0
mov rdx, r13
mov rcx, r14
call sub.msvcrt.dll_rename
cmp eax, 0xffffffff
jne 0x415880
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [rax]
call sub.msvcrt.dll_strerror
lea rdx, str.Rename_file__s_to__s:__s
mov qword [rsp + 0x20], rax
mov r9, r13
mov r8, r14
mov rcx, rbp
call fcn.004032f0
jmp 0x415883
cmp qword [rax + 0x30], r8
jne 0x415740
nop
xor r12d, r12d
mov eax, r12d
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, r13
call sub.msvcrt.dll__unlink
cmp eax, 0xffffffff
jne 0x41583b
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [rax]
call sub.msvcrt.dll_strerror
lea rdx, str.Unlink_file__s:__s
mov r9, rax
mov r8, r13
mov rcx, rbp
call fcn.004032f0
jmp 0x41583b
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [rax]
mov r12d, 0xffffffff
call sub.msvcrt.dll_strerror
lea rdx, str.setvbuf_file__s:__s
mov r9, rax
mov r8, r14
mov rcx, rbp
call fcn.00403390
mov rcx, rsi
call fcn.00477560
jmp 0x415883
call qword [sym.imp.msvcrt.dll__errno]
mov ecx, dword [rax]
mov r12d, 0xffffffff
call sub.msvcrt.dll_strerror
lea rdx, [0x00536fd3]
mov r9, rax
mov r8, r14
mov rcx, rbp
call fcn.00403390
jmp 0x415883
Function at 0x41c680
Capabilities:
Query environment variable

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
lea rcx, str.COMPUTE
call sub.msvcrt.dll_getenv
test rax, rax
je 0x41c6e0
lea rcx, [rsp + 0x28]
lea rdx, str.DISPLAY_s
mov r8, rax
call fcn.0041c0e0
mov rcx, qword [rsp + 0x28]
call sub.msvcrt.dll__putenv
mov rcx, qword [rsp + 0x28]
call fcn.0040ea80
lea rcx, str.TMPDIR
call sub.msvcrt.dll_getenv
test rax, rax
je 0x41c700
add rsp, 0x30
pop rbx
ret
lea rcx, str.DISPLAY
call sub.msvcrt.dll_getenv
test rax, rax
jne 0x41c6c1
lea rcx, str.DISPLAY:0
call sub.msvcrt.dll__putenv
jmp 0x41c6c1
mov r8, qword [rbx + 0x10]
lea rcx, [rsp + 0x28]
lea rdx, str.TMPDIR_s
mov qword [rsp + 0x28], 0
call fcn.0041c0e0
mov rcx, qword [rsp + 0x28]
call sub.msvcrt.dll__putenv
nop
add rsp, 0x30
pop rbx
ret

Function at 0x41cd10
Capabilities:
Get socket status

Disassembly:
sub rsp, 0x258
xor r9d, r9d
xor r8d, r8d
movsxd rax, ecx
mov dword [rsp + 0x38], edx
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x38]
add ecx, 1
mov dword [rsp + 0x3c], 0
mov dword [rsp + 0x40], 1
mov qword [rsp + 0x20], rax
call qword [sym.imp.WS2_32.dll_select]
add rsp, 0x258
ret

Function at 0x4224c0
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x20
mov rax, qword [rcx + 0xb8]
mov rbx, qword [sym.imp.msvcrt.dll___iob_func]
cmp dword [rax + 4], 4
je 0x422510
call rbx
lea rcx, str._s_tatus__p_ause__b_ypass__c_heckpoint__f_inish__q_uit__
lea r9, [rax + 0x30]
mov r8d, 0x3a
mov edx, 1
call sub.msvcrt.dll_fwrite
call rbx
lea rcx, [rax + 0x30]
add rsp, 0x20
pop rbx
jmp sub.msvcrt.dll_fflush
call rbx
lea rcx, str._s_tatus__r_esume__b_ypass__c_heckpoint__f_inish__q_uit__
lea r9, [rax + 0x30]
mov r8d, 0x3b
mov edx, 1
call sub.msvcrt.dll_fwrite
call rbx
lea rcx, [rax + 0x30]
add rsp, 0x20
pop rbx
jmp sub.msvcrt.dll_fflush
Function at 0x4274b0
Capabilities:
Write file on windows

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rbp, qword [sym.imp.msvcrt.dll___iob_func]
lea rbx, str.Usage:_hashcat__options_..._hashhashfilehccapxfile__dictionarymaskdirectory_...
lea rsi, [0x0053a9e0]
mov r12, rcx
lea rdi, [0x0053aa3c]
lea rcx, str.Usage:_hashcat__options_..._hashhashfilehccapxfile__dictionarymaskdirectory_...
mov rdx, r12
add rbx, 8
call sub.msvcrt.dll_printf
call rbp
lea r9, [rax + 0x30]
mov r8d, 1
mov edx, 2
mov rcx, rdi
call sub.msvcrt.dll_fwrite
test rsi, rsi
je 0x427513
mov rcx, rsi
mov rsi, qword [rbx + 8]
jmp 0x4274e0
mov ecx, 0xa
call sub.msvcrt.dll_putchar
lea rcx, str.For_more_info__see_https:__hashcat.net_faq_ubernoobs
call sub.msvcrt.dll_puts
mov ecx, 0xa
call sub.msvcrt.dll_putchar
lea rcx, str.Press_any_key_to_exit
call sub.msvcrt.dll_puts
nop
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp 0x5303b8
jmp qword [sym.imp.msvcrt.dll__getch]
Function at 0x427550
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov r12, qword [rcx + 0x38]
mov r15, qword [rcx + 0x48]
xor ebx, ebx
mov rbp, qword [rcx + 0xd8]
mov rdi, rcx
mov ecx, 0x1000
call fcn.0040e980
mov edx, 0x18
mov ecx, 0x186a0
mov rsi, rax
xor r13d, r13d
xor r14d, r14d
call fcn.0040e940
mov qword [rsp + 0x28], rax
jmp 0x4275b3
mov rcx, rdi
call fcn.0040e010
add ebx, 1
cmp ebx, 0x186a0
je 0x427620
mov r9d, 0x1000
mov r8, rsi
mov edx, ebx
mov rcx, r12
mov dword [rbp + 0x178], ebx
call fcn.0040cf00
mov rcx, rsi
call fcn.0041c390
test al, al
je 0x4275a8
mov rcx, rdi
call fcn.0040d0d0
test eax, eax
jne 0x4275a0
mov rdx, qword [rsp + 0x28]
lea rax, [r14 + r14*2]
mov rcx, qword [r15 + 0x98]
add r13d, 1
lea r14, [rdx + rax*8]
mov eax, dword [r15 + 4]
mov dword [r14], eax
call fcn.0040ea30
mov qword [r14 + 8], rax
mov eax, dword [r15 + 0x90]
mov dword [r14 + 0x10], eax
movsxd r14, r13d
jmp 0x4275a0
mov rcx, rsi
lea rdi, str.____Options____
lea rbx, [0x0053a9e0]
call fcn.0040ea80
mov rcx, qword [rsp + 0x28]
lea r9, [0x00427420]
mov rdx, r14
mov r8d, 0x18
lea r12, [0x0053aaa9]
lea rbp, [0x0053aa3c]
call sub.msvcrt.dll_qsort
lea rdx, str.Usage:_hashcat__options_..._hashhashfilehccapxfile__dictionarymaskdirectory_...
mov rsi, qword [sym.imp.msvcrt.dll___iob_func]
jmp 0x42767d
mov rax, qword [rdi]
mov rdx, rbx
add rdi, 8
mov rbx, rax
mov rcx, r12
call sub.msvcrt.dll_printf
call rsi
lea r9, [rax + 0x30]
mov r8d, 1
mov edx, 2
mov rcx, rbp
call sub.msvcrt.dll_fwrite
test rbx, rbx
jne 0x427670
test r13d, r13d
je 0x4277e0
lea eax, [r13 - 1]
mov rbx, qword [rsp + 0x28]
lea rbp, str._7u____58s___s
lea rdi, [0x0053aa3c]
lea r12, [rax + rax*2]
shl r12, 3
lea r13, [rbx + r12 + 0x18]
mov ecx, dword [rbx + 0x10]
add rbx, 0x18
call fcn.0041ce50
mov r8, qword [rbx - 0x10]
mov edx, dword [rbx - 0x18]
mov r9, rax
mov rcx, rbp
call sub.msvcrt.dll_printf
call rsi
lea r9, [rax + 0x30]
mov r8d, 1
mov edx, 2
mov rcx, rdi
call sub.msvcrt.dll_fwrite
cmp rbx, r13
jne 0x4276d0
call rsi
lea rcx, [0x0053aa3c]
lea r9, [rax + 0x30]
mov r8d, 1
mov edx, 2
call sub.msvcrt.dll_fwrite
mov rax, qword [rsp + 0x28]
lea rbx, [rax + 8]
lea rdi, [rax + r12 + 0x20]
nop word [rax + rax]
mov rcx, qword [rbx]
add rbx, 0x18
call fcn.0040ea80
cmp rdi, rbx
jne 0x427740
mov rcx, qword [rsp + 0x28]
lea rdi, str.____Features
lea rbx, [0x0053a9e0]
lea r12, [0x0053aaa9]
lea rbp, [0x0053aa3c]
call fcn.0040ea80
lea rdx, str.____Brain_Client_Features____
jmp 0x42778d
mov rax, qword [rdi]
mov rdx, rbx
add rdi, 8
mov rbx, rax
mov rcx, r12
call sub.msvcrt.dll_printf
call rsi
lea r9, [rax + 0x30]
mov r8d, 1
mov edx, 2
mov rcx, rbp
call sub.msvcrt.dll_fwrite
test rbx, rbx
jne 0x427780
call rsi
lea rcx, [0x0053aa3c]
lea r9, [rax + 0x30]
mov r8d, 1
mov edx, 2
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sub.msvcrt.dll_fwrite
call rsi
lea rcx, [0x0053aa3c]
lea r9, [rax + 0x30]
mov r8d, 1
mov edx, 2
call sub.msvcrt.dll_fwrite
jmp 0x427751
Function at 0x42d070
Capabilities:
Write file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x178
mov r15, qword [rcx + 0xe0]
mov rbp, qword [rcx + 0xd8]
mov qword [rsp + 0x1c8], rdx
mov rbx, rcx
mov qword [rsp + 0x1d0], r8
mov qword [rsp + 0x1d8], r9
mov r12, qword [rcx + 0xd0]
mov rax, qword [r15 + 0x28]
mov rdx, qword [r15 + 0x20]
cmp rdx, rax
jbe 0x42d1b6
lea rdi, [rsp + 0x60]
lea r14, [rsp + 0x48]
lea r13, [rsp + 0x50]
lea rsi, [rsp + 0x70]
mov qword [rsp + 0x30], rdi
lea rdi, [rsp + 0x58]
mov qword [rsp + 0x38], rdi
mov rcx, qword [r15 + 8]
sub rdx, rax
mov r9, r14
mov r8, r13
add rcx, rax
mov qword [rsp + 0x58], rcx
call qword [r15 + 0x48]
mov rax, qword [rsp + 0x48]
add qword [r15 + 0x28], rax
mov rcx, rbx
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
call fcn.0042cc50
cmp byte [r15 + 0x30], 0
mov eax, eax
mov qword [rsp + 0x50], rax
je 0x42d17e
mov rdx, qword [r15 + 0x40]
mov rcx, qword [r15 + 0x38]
mov r8, rsi
mov qword [rsp + 0x70], rax
mov r9, qword [rsp + 0x30]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x68], 0x1000
mov qword [rsp + 0x60], rdx
mov rdx, qword [rsp + 0x38]
mov qword [rsp + 0x20], rax
call fcn.005255fe
cmp rax, 0xffffffffffffffff
je 0x42d1a5
mov rax, qword [r15 + 0x40]
mov qword [rsp + 0x58], rax
mov eax, 0x1000
sub rax, qword [rsp + 0x68]
mov qword [rsp + 0x50], rax
mov rdx, qword [rbp + 0x130]
mov ecx, dword [r12 + 8]
call fcn.00419bf0
test eax, eax
je 0x42d21c
mov r9, qword [rsp + 0x50]
cmp r9, 0xff
jbe 0x42d1f0
mov rax, qword [r15 + 0x28]
mov rdx, qword [r15 + 0x20]
cmp rax, rdx
jb 0x42d0e7
mov rcx, qword [rsp + 0x1c8]
call fcn.00477480
test eax, eax
je 0x42d260
call qword [sym.imp.msvcrt.dll___iob_func]
lea rcx, str.BUG_feof_____n
lea r9, [rax + 0x60]
mov r8d, 0xd
mov edx, 1
call sub.msvcrt.dll_fwrite
jmp 0x42d247
xor eax, eax
mov ecx, 0x20
mov rdi, rsi
rep stosq qword [rdi], rax
mov r8, qword [rsp + 0x58]
mov edx, dword [r12 + 8]
mov rcx, qword [rbp + 0x130]
mov qword [rsp + 0x20], rsi
call fcn.004182a0
test eax, eax
js 0x42d1a5
mov rax, qword [rsp + 0x50]
cmp rax, 0x100
ja 0x42d1a5
mov rdx, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x1d0]
mov rsi, qword [rsp + 0x1d8]
mov qword [rdi], rdx
mov dword [rsi], eax
add rsp, 0x178
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, qword [rsp + 0x1c8]
mov rcx, rbx
call fcn.0042cd20
mov r9, qword [rsp + 0x1d8]
mov r8, qword [rsp + 0x1d0]
mov rcx, rbx
mov rdx, qword [rsp + 0x1c8]
call fcn.0042d070
jmp 0x42d247
Function at 0x42d2a0
Capabilities:
Write file on windows

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x30
mov rbx, qword [rcx + 0x4e8b0]
cmp rbx, qword [rcx + 0x508]
mov rsi, rcx
mov edi, r8d
mov qword [rsp + 0x28], r9
mov ebp, dword [rsp + 0x80]
mov r12d, dword [rsp + 0x88]
jae 0x42d330
imul rbx, rbx, 0x20c
movsxd r8, r8d
add rbx, qword [rcx + 0x4e8a8]
mov rcx, rbx
call sub.msvcrt.dll_memcpy
mov r9, qword [rsp + 0x28]
mov dword [rbx + 0x100], edi
test r9, r9
je 0x42d315
lea rcx, [rbx + 0x104]
movsxd r8, ebp
mov rdx, r9
call sub.msvcrt.dll_memcpy
mov dword [rbx + 0x204], ebp
mov dword [rbx + 0x208], r12d
add qword [rsi + 0x4e8b0], 1
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
call qword [sym.imp.msvcrt.dll___iob_func]
lea rcx, str.BUG_pw_pre_add_____n
lea r9, [rax + 0x30]
mov r8d, 0x13
mov edx, 1
add rsp, 0x30
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp sub.msvcrt.dll_fwrite

Function at 0x42d360
Capabilities:
Write file on windows

Disassembly:
push rdi
push rsi
sub rsp, 0x28
mov rax, qword [rcx + 0x4e8c0]
cmp rax, qword [rcx + 0x508]
mov r8, rcx
jb 0x42d3a0
call qword [sym.imp.msvcrt.dll___iob_func]
lea rcx, str.BUG_pw_base_add_____n
lea r9, [rax + 0x60]
mov r8d, 0x14
mov edx, 1
add rsp, 0x28
pop rsi
pop rdi
jmp sub.msvcrt.dll_fwrite
imul rax, rax, 0x20c
mov rsi, rdx
add rax, qword [rcx + 0x4e8b8]
mov rcx, qword [rdx]
lea rdi, [rax + 8]
mov qword [rax], rcx
mov rcx, qword [rdx + 0x204]
and rdi, 0xfffffffffffffff8
mov qword [rax + 0x204], rcx
sub rax, rdi
sub rsi, rax
add eax, 0x20c
shr eax, 3
mov ecx, eax
rep movsq qword [rdi], qword [rsi]
add qword [r8 + 0x4e8c0], 1
add rsp, 0x28
pop rsi
pop rdi
ret

Function at 0x42d3f0
Capabilities:
Write file on windows

Disassembly:
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rax, qword [rcx + 0x4e8a0]
cmp rax, qword [rcx + 0x508]
mov rbx, rcx
mov edi, r8d
jb 0x42d440
call qword [sym.imp.msvcrt.dll___iob_func]
lea rcx, str.BUG_pw_add_____n
lea r9, [rax + 0x60]
mov r8d, 0xf
mov edx, 1
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
jmp sub.msvcrt.dll_fwrite
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x4e890]
lea ebp, [r8 + 3]
movsxd r12, r8d
lea rsi, [rax + rcx*4]
mov eax, ebp
shr eax, 2
mov ecx, dword [rsi]
mov dword [rsi + 4], eax
mov rax, qword [rbx + 0x4e898]
mov dword [rsi + 8], r8d
mov r8, r12
lea r9, [rax + rcx*4]
mov rcx, r9
call sub.msvcrt.dll_memcpy
mov r8d, ebp
lea rcx, [rax + r12]
xor edx, edx
and r8d, 0xfffffffc
sub r8d, edi
call sub.msvcrt.dll_memset
mov eax, dword [rsi + 4]
add eax, dword [rsi]
mov dword [rsi + 0xc], eax
add qword [rbx + 0x4e8a0], 1
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
ret
Function at 0x42df80
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
test r9d, r9d
jle 0x42e075
sub r9d, 1
movzx edx, dl
xor r11d, r11d
shr r9d, 2
xor r10d, r10d
mov r14d, 0xff00
lea rsi, [r8 + r9*4 + 4]
mov r13d, 0xff0000
mov r12d, 0xff000000
mov ebp, 0xff
mov ebx, dword [r8]
mov eax, ebx
mov r9d, ebx
and eax, 0x1f1f1f1f
shr r9d, 1
lea r15d, [rax + 0x1f1f1f1f]
and r9d, 0x20202020
add eax, 0x5050505
not eax
and r9d, r15d
mov r15d, ebx
shr r15d, 2
and r15d, 0x20202020
not r15d
and r9d, r15d
and eax, r9d
movzx r9d, bl
cmp r9d, edx
jne 0x42e015
cmp cl, r10b
cmove r11d, r14d
add r10d, 1
movzx edi, bh
cmp edi, edx
jne 0x42e027
cmp cl, r10b
cmove r11d, r13d
add r10d, 1
mov r15d, ebx
mov r9d, r11d
shr r15d, 0x10
movzx r15d, r15b
cmp r15d, edx
jne 0x42e045
cmp cl, r10b
cmove r9d, r12d
add r10d, 1
mov r15d, ebx
xor r11d, r11d
shr r15d, 0x18
cmp r15d, edx
jne 0x42e05f
cmp cl, r10b
cmove r11d, ebp
add r10d, 1
and eax, r9d
add r8, 4
xor ebx, eax
mov dword [r8 - 4], ebx
cmp rsi, r8
jne 0x42dfc2
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
Function at 0x43e700
Capabilities:
Generate random numbers via winapi

Disassembly:
push rbx
sub rsp, 0x40
xor ecx, ecx
call qword [sym.imp.msvcrt.dll__time64]
mov ecx, eax
call fcn.005304b0
call sub.msvcrt.dll_rand
xor r8d, r8d
xor edx, edx
mov dword [rsp + 0x34], eax
lea rcx, [rsp + 0x38]
mov dword [rsp + 0x20], 0
mov r9d, 1
call qword [sym.imp.ADVAPI32.dll_CryptAcquireContextA]
cmp eax, 1
je 0x43e770
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call qword [sym.imp.msvcrt.dll___iob_func]
lea r8, str.CryptAcquireContext:__d_n
lea rcx, [rax + 0x60]
mov r9d, ebx
xor edx, edx
call fcn.0043d670
mov eax, dword [rsp + 0x34]
add rsp, 0x40
pop rbx
ret
lea r8, [rsp + 0x34]
mov edx, 4
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_CryptGenRandom]
cmp eax, 1
je 0x43e7c0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebx, eax
call qword [sym.imp.msvcrt.dll___iob_func]
lea r8, str.CryptGenRandom:__d_n
lea rcx, [rax + 0x60]
mov r9d, ebx
xor edx, edx
call fcn.0043d670
mov eax, dword [rsp + 0x34]
add rsp, 0x40
pop rbx
ret
xor edx, edx
mov rcx, qword [rsp + 0x38]
call qword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
mov eax, dword [rsp + 0x34]
add rsp, 0x40
pop rbx
ret