joyce8/EMBER2024-capa huggingface dataset:
Function at 0x14005451a
Capabilities:
Receive data
Receive data on socket

Disassembly:
push r13
push r12
push rdi
push rsi
sub rsp, 0x38
mov r13d, r9d
mov r12, r8
mov rdi, rdx
mov rsi, rcx
mov edx, 0x1000000
mov rcx, rsi
lea r8, str.sgslunRecvfrom:_Entry_n
xor r9d, r9d
call fcn.14001f070
test rdi, rdi
je 0x14005467c
test r12, r12
je 0x14005455d
mov eax, dword [rdi + 8]
cmp eax, 1
je 0x140054599
mov qword [rsp + 0x28], 0
add rdi, 8
mov rcx, rsi
mov edx, pe_nt_image_headers64
mov qword [rsp + 0x20], rdi
lea r8, str.sgslunRecvfrom:_Error_in_state__d_of_communication_end_point_n
mov r9d, reloc.WS2_32.dll_listen
call fcn.14001f070
mov eax, 0xffffffff
add rsp, 0x38
pop rsi
pop rdi
pop r12
pop r13
ret
movsxd rcx, dword [rdi]
xor eax, eax
mov qword [rsp + 0x20], rax
mov rdx, r12
mov qword [rsp + 0x28], rax
mov r8d, r13d
xor r9d, r9d
call qword [sym.imp.orauts.dll_recvfrom]
mov edi, eax
call qword [sym.imp.orauts.dll_WSAGetLastError]
mov dword [rsp + 0x30], eax
cmp edi, 0xffffffff
je 0x14005462d
test edi, edi
jle 0x1400545f0
mov edx, 0x1000000
mov rcx, rsi
lea r8, str.sgslunRecvfrom:_Exit_n
xor r9d, r9d
call fcn.14001f070
mov eax, edi
add rsp, 0x38
pop rsi
pop rdi
pop r12
pop r13
ret
mov qword [rsp + 0x28], 0
lea rax, [rsp + 0x30]
mov rcx, rsi
mov edx, pe_nt_image_headers64
mov qword [rsp + 0x20], rax
lea r8, str.sgslunRecvfrom:_Error_while_reading_communication_end_point___d__n
mov r9d, 8
call fcn.14001f070
mov eax, 0xffffffff
add rsp, 0x38
pop rsi
pop rdi
pop r12
pop r13
ret
mov eax, dword [rsp + 0x30]
cmp eax, 0x2714
je 0x14005463f
cmp eax, 0x2733
jne 0x1400545f0
mov qword [rsp + 0x28], 0
lea rax, [rsp + 0x30]
mov rcx, rsi
mov edx, pe_nt_image_headers64
mov qword [rsp + 0x20], rax
lea r8, str.sgslunRecvfrom:_Socket_Read_Error___d__n
mov r9d, 8
call fcn.14001f070
mov eax, 0xfffffffe
add rsp, 0x38
pop rsi
pop rdi
pop r12
pop r13
ret
mov rcx, rsi
mov edx, pe_nt_image_headers64
lea r8, str.sgslunRecvfrom:_Received_NULL_communication_end_point_as_parameter_n
xor r9d, r9d
call fcn.14001f070
jmp 0x140054589
Function at 0x140054698
Capabilities:
Send data
Send data on socket

Disassembly:
push r15
push rdi
push rsi
push rbp
push rbx
sub rsp, 0x50
mov r15d, r9d
mov rdi, r8
mov rsi, rdx
mov rbx, rcx
mov edx, 0x1000000
mov rcx, rbx
lea r8, str.sgslunSendto:_Entry_n
mov ebp, dword [rsp + 0xa8]
mov rax, qword [0x140079508]
mov qword [rsp + 0x48], rax
xor r9d, r9d
call fcn.14001f070
test rsi, rsi
je 0x140054858
mov eax, dword [rsi + 8]
cmp eax, 1
je 0x14005472f
mov qword [rsp + 0x28], 0
add rsi, 8
mov rcx, rbx
mov edx, pe_nt_image_headers64
mov qword [rsp + 0x20], rsi
lea r8, str.sgslunSendto:_Error_in_state__d_of_communication_end_point_n
mov r9d, reloc.WS2_32.dll_listen
call fcn.14001f070
mov rcx, qword [rsp + 0x48]
call fcn.14005fbf0
mov eax, 0xffffffff
add rsp, 0x50
pop rbx
pop rbp
pop rsi
pop rdi
pop r15
ret
mov eax, 2
mov word [rsp + 0x30], ax
mov edx, dword [rsp + 0xa0]
mov dword [rsp + 0x34], edx
mov ecx, ebp
call qword [sym.imp.WS2_32.dll_htons]
movsxd rcx, dword [rsi]
mov word [rsp + 0x32], ax
mov dword [rsp + 0x28], shutdown
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov rdx, rdi
mov r8d, r15d
xor r9d, r9d
call qword [sym.imp.orauts.dll_sendto]
mov ebp, eax
call qword [sym.imp.orauts.dll_WSAGetLastError]
mov dword [rsp + 0x40], eax
cmp ebp, 0xffffffff
je 0x1400547ff
test ebp, ebp
jle 0x1400547b8
mov edx, 0x1000000
mov rcx, rbx
lea r8, str.sgslunSendto:_Exit_n
xor r9d, r9d
call fcn.14001f070
mov rcx, qword [rsp + 0x48]
call fcn.14005fbf0
mov eax, ebp
add rsp, 0x50
pop rbx
pop rbp
pop rsi
pop rdi
pop r15
ret
mov qword [rsp + 0x28], 0
lea rax, [rsp + 0x40]
mov rcx, rbx
mov edx, pe_nt_image_headers64
mov qword [rsp + 0x20], rax
lea r8, str.sgslunSendto:_Error_while_writing_to_communication_end_point__d__n
mov r9d, 8
call fcn.14001f070
mov rcx, qword [rsp + 0x48]
call fcn.14005fbf0
mov eax, 0xffffffff
add rsp, 0x50
pop rbx
pop rbp
pop rsi
pop rdi
pop r15
ret
mov eax, dword [rsp + 0x40]
cmp eax, 0x2714
je 0x140054811
cmp eax, 0x2733
jne 0x1400547b8
mov qword [rsp + 0x28], 0
lea rax, [rsp + 0x40]
mov rcx, rbx
mov edx, pe_nt_image_headers64
mov qword [rsp + 0x20], rax
lea r8, str.sgslunSendto:_Write_error___d___n
mov r9d, 8
call fcn.14001f070
mov rcx, qword [rsp + 0x48]
call fcn.14005fbf0
mov eax, 0xfffffffe
add rsp, 0x50
pop rbx
pop rbp
pop rsi
pop rdi
pop r15
ret
mov rcx, rbx
mov edx, pe_nt_image_headers64
lea r8, str.sgslunSendto:_Received_NULL_communication_end_point_as_parameter_n
xor r9d, r9d
call fcn.14001f070
jmp 0x140054715
Function at 0x140055552
Capabilities:
Set socket configuration

Disassembly:
push r14
sub rsp, 0x40
mov r14, rdx
test r14, r14
je 0x140055667
cmp r8d, 1
jne 0x140055574
mov dword [rsp + 0x30], 1
jmp 0x140055586
cmp r8d, 2
jne 0x140055639
mov dword [rsp + 0x30], 0
test rcx, rcx
je 0x14005565a
mov rdx, qword [rcx + 0x1aa0]
test rdx, rdx
je 0x140055645
mov r8, qword [rdx + 0x28]
test r8, r8
je 0x140055645
mov r8, qword [rdx + 0x30]
test r8, r8
je 0x140055645
mov r8, qword [rdx + 0x38]
test r8, r8
je 0x140055645
mov r8, qword [rdx + 0x40]
test r8, r8
je 0x140055645
mov r8, qword [rdx + 0x48]
test r8, r8
je 0x140055645
mov r8, qword [rdx + 0x50]
test r8, r8
je 0x140055645
mov r8, qword [rdx + 0x58]
test r8, r8
je 0x140055645
mov r8, qword [rdx + 0x60]
test r8, r8
je 0x140055645
mov r10, qword [rdx + 0x68]
test r10, r10
je 0x140055645
mov r8, qword [rdx + 0x70]
test r8, r8
je 0x140055645
mov rdx, qword [rdx + 0x78]
test rdx, rdx
je 0x140055645
lea r11, [rsp + 0x30]
mov r8d, dword [r14]
mov qword [rsp + 0x20], r11
mov rdx, qword [rcx + 0x1a98]
mov r9d, 0x8004667e
call r10
cmp eax, 0xffffffff
je 0x140055673
xor eax, eax
add rsp, 0x40
pop r14
ret
mov eax, 3
add rsp, 0x40
pop r14
ret
lea r8, [rsp + 0x30]
movsxd rcx, dword [r14]
mov edx, 0x8004667e
call qword [sym.imp.orauts.dll_ioctlsocket]
jmp 0x14005562b
call fcn.140006c40
mov rcx, rax
jmp 0x14005558f
mov eax, 0xffffffff
add rsp, 0x40
pop r14
ret
mov eax, 2
add rsp, 0x40
pop r14
ret
Function at 0x140056342
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rdi
push rbp
sub rsp, 0x38
mov r15, r9
mov r14d, r8d
mov r13, rdx
mov rbp, rcx
mov eax, dword [rbp]
cmp eax, 0x332e3134
jne 0x1400564af
movzx r12d, word [rsp + 0x90]
mov qword [rsp + 0x20], rbx
xor eax, eax
mov rdi, r15
mov word [rsp + 0x30], ax
mov r15d, eax
mov ebx, eax
lea r8, [rsp + 0x30]
mov rcx, rdi
mov edx, r12d
call fcn.14005573a
mov r15d, r15d
xor dword [rbp + r15*4 + 0x1004], eax
add ebx, 1
mov r15d, ebx
cmp r15d, 0x12
jl 0x140056387
mov rbx, qword [rsp + 0x20]
xor eax, eax
mov word [rsp + 0x30], ax
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x2c], eax
movzx r15d, r14w
xor r14d, r14d
lea r8, [rsp + 0x30]
mov rcx, r13
mov edx, r15d
call fcn.14005573a
xor dword [rsp + 0x28], eax
lea r8, [rsp + 0x30]
mov rcx, r13
mov edx, r15d
call fcn.14005573a
xor dword [rsp + 0x2c], eax
lea rdx, [rsp + 0x28]
lea r8, [rsp + 0x2c]
mov rcx, rbp
call fcn.140055d16
mov eax, dword [rsp + 0x28]
mov edx, dword [rsp + 0x2c]
mov r14d, r14d
mov dword [rbp + r14*4 + 0x1004], eax
mov dword [rbp + r14*4 + 0x1008], edx
add r14d, 2
cmp r14d, 0x12
jl 0x1400563c9
xor r14d, r14d
xor eax, eax
mov r12d, eax
shl r12, 0xa
xor edi, edi
add r12, rbp
lea r8, [rsp + 0x30]
mov rcx, r13
mov edx, r15d
call fcn.14005573a
xor dword [rsp + 0x28], eax
lea r8, [rsp + 0x30]
mov rcx, r13
mov edx, r15d
call fcn.14005573a
xor dword [rsp + 0x2c], eax
lea rdx, [rsp + 0x28]
lea r8, [rsp + 0x2c]
mov rcx, rbp
call fcn.140055d16
mov edx, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x2c]
mov edi, edi
mov dword [r12 + rdi*4 + 4], edx
mov dword [r12 + rdi*4 + 8], ecx
add edi, 2
cmp edi, 0x100
jl 0x140056439
add r14d, 1
mov eax, r14d
cmp eax, 4
jl 0x14005642d
xor eax, eax
add rsp, 0x38
pop rbp
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rbp
call fcn.1400556fc
nop
jmp 0x14005636a
Function at 0x1400565d3
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push rbp
sub rsp, 0x38
mov ebp, r8d
mov r15, rdx
mov r14, rcx
test r14, r14
je 0x1400565e1
mov eax, dword [r14]
cmp eax, 0x332e3134
jne 0x1400565d3
mov qword [rsp + 0x20], rbx
xor eax, eax
mov word [rsp + 0x28], ax
movzx edx, bp
xor ebp, ebp
mov rbx, r15
mov r15d, eax
mov r13d, edx
lea r8, [rsp + 0x28]
mov rcx, rbx
mov edx, r13d
call fcn.14005573a
mov ebp, ebp
xor dword [r14 + rbp*4 + 0x1004], eax
add r15d, 1
mov ebp, r15d
cmp ebp, 0x12
jl 0x140056503
mov rbx, qword [rsp + 0x20]
xor eax, eax
mov word [rsp + 0x28], ax
mov dword [rsp + 0x2c], eax
mov dword [rsp + 0x30], eax
xor ebp, ebp
lea rdx, [rsp + 0x2c]
lea r8, [rsp + 0x30]
mov rcx, r14
call fcn.140055d16
mov eax, dword [rsp + 0x2c]
mov edx, dword [rsp + 0x30]
mov ebp, ebp
mov dword [r14 + rbp*4 + 0x1004], eax
mov dword [r14 + rbp*4 + 0x1008], edx
add ebp, 2
cmp ebp, 0x12
jl 0x14005653f
xor ebp, ebp
xor r15d, r15d
mov r15d, r15d
shl r15, 0xa
xor r13d, r13d
add r15, r14
lea rdx, [rsp + 0x2c]
lea r8, [rsp + 0x30]
mov rcx, r14
call fcn.140055d16
mov eax, dword [rsp + 0x2c]
mov edx, dword [rsp + 0x30]
mov r13d, r13d
mov dword [r15 + r13*4 + 4], eax
mov dword [r15 + r13*4 + 8], edx
add r13d, 2
cmp r13d, 0x100
jl 0x140056585
add ebp, 1
mov r15d, ebp
cmp r15d, 4
jl 0x140056578
xor eax, eax
add rsp, 0x38
pop rbp
pop r13
pop r14
pop r15
ret
mov rcx, r14
call fcn.1400556fc
nop
jmp 0x1400564e9
mov eax, 0xfffffc02
add rsp, 0x38
pop rbp
pop r13
pop r14
pop r15
ret
Function at 0x14005a1c6
Capabilities:
Get socket status

Disassembly:
push r15
push r14
push r13
push r12
push rdi
sub rsp, 0x40
mov r15, r9
mov r14, r8
mov r13, rdx
mov r12d, ecx
mov edi, dword [rsp + 0x90]
xor ecx, ecx
call qword [sym.imp.orauts.dll_WSASetLastError]
test edi, edi
je 0x14005a21f
imul edi, edi, 0x3e8
mov eax, 0x431bde83
imul edi
mov ecx, edi
sar ecx, 0x1f
sar edx, 0x12
sub edx, ecx
imul r8d, edx, 0xf4240
mov dword [rsp + 0x30], edx
neg r8d
add r8d, edi
mov dword [rsp + 0x34], r8d
test r12d, r12d
jne 0x14005a244
test edi, edi
jle 0x14005a240
mov eax, 0x10624dd3
imul edi
sar edi, 0x1f
sar edx, 6
sub edx, edi
mov ecx, edx
call fcn.14001f1fc
jmp 0x14005a273
xor eax, eax
jmp 0x14005a273
test r13, r13
je 0x14005a2f1
lea rax, [rsp + 0x30]
xor r10d, r10d
cmp edi, 0
cmovne r10, rax
mov qword [rsp + 0x20], r10
mov ecx, r12d
mov rdx, r13
mov r8, r14
mov r9, r15
call qword [sym.imp.orauts.dll_select]
test eax, eax
jl 0x14005a285
add rsp, 0x40
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
call qword [sym.imp.orauts.dll_WSAGetLastError]
cmp eax, 9
je 0x14005a308
cmp eax, 0x2714
je 0x14005a2de
cmp eax, 0x2733
jne 0x14005a2b1
mov eax, 0xfffffff5
add rsp, 0x40
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
cmp eax, 0x271e
jne 0x14005a2cb
mov eax, 0xfffffff4
add rsp, 0x40
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, 0xffffffea
add rsp, 0x40
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, 0xfffffffc
add rsp, 0x40
pop rdi
pop r12
pop r13
pop r14
pop r15
ret
test r14, r14
jne 0x14005a24d
test r15, r15
je 0x14005a224
jmp 0x14005a24d
mov eax, 0xfffffff7
add rsp, 0x40
pop rdi
pop r12
pop r13
pop r14
pop r15
ret

Function at 0x14005a7b0
Capabilities:
Send data
Send data on socket

Disassembly:
push rsi
sub rsp, 0x40
mov rsi, rcx
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x30], 0
test eax, eax
je 0x14005a7dc
movsxd rcx, edx
mov rdx, r8
mov r8d, r9d
xor r9d, r9d
call qword [sym.imp.orauts.dll_send]
jmp 0x14005a7ea
mov ecx, edx
mov rdx, r8
mov r8d, r9d
call qword [sym.imp.MSVCR80.dll__write]
test eax, eax
jle 0x14005a7f4
add rsp, 0x40
pop rsi
ret
jne 0x14005a801
mov eax, 0xffffffff
add rsp, 0x40
pop rsi
ret
call qword [sym.imp.orauts.dll_WSAGetLastError]
mov dword [rsp + 0x30], eax
add eax, 0xffffd8ec
cmp eax, 0x40
jae 0x14005a850
mov edx, 1
mov ecx, eax
shl rdx, cl
movabs rax, 0x80000401
test rax, rdx
je 0x14005a850
mov rcx, rsi
mov edx, pe_nt_image_headers64
lea r8, str.sgslufread:_read_interupted_by_system_call__n
xor r9d, r9d
call fcn.14001f070
mov eax, 0xfffffffe
add rsp, 0x40
pop rsi
ret
mov qword [rsp + 0x28], 0
lea rax, [rsp + 0x30]
mov rcx, rsi
lea r8, str.sgslufread:_Hard_error_on_read__OS_error___d_n
mov qword [rsp + 0x20], rax
mov edx, 0x7fffffff
mov r9d, reloc.WS2_32.dll_listen
call fcn.14001f070
mov eax, 0xffffffff
add rsp, 0x40
pop rsi
ret
Function at 0x14005a888
Capabilities:
Read file on windows
Receive data
Receive data on socket

Disassembly:
push rsi
sub rsp, 0x40
mov rsi, rcx
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x30], 0
test eax, eax
je 0x14005a8b4
movsxd rcx, edx
mov rdx, r8
mov r8d, r9d
xor r9d, r9d
call qword [sym.imp.orauts.dll_recv]
jmp 0x14005a8c2
mov ecx, edx
mov rdx, r8
mov r8d, r9d
call qword [sym.imp.MSVCR80.dll__read]
test eax, eax
jle 0x14005a8cc
add rsp, 0x40
pop rsi
ret
jne 0x14005a8d9
mov eax, 0xffffffff
add rsp, 0x40
pop rsi
ret
call qword [sym.imp.orauts.dll_WSAGetLastError]
mov dword [rsp + 0x30], eax
add eax, 0xffffd8ec
cmp eax, 0x40
jae 0x14005a928
mov edx, 1
mov ecx, eax
shl rdx, cl
movabs rax, 0x80000401
test rax, rdx
je 0x14005a928
mov rcx, rsi
mov edx, pe_nt_image_headers64
lea r8, str.sgslufread:_read_interupted_by_system_call__n
xor r9d, r9d
call fcn.14001f070
mov eax, 0xfffffffe
add rsp, 0x40
pop rsi
ret
mov qword [rsp + 0x28], 0
lea rax, [rsp + 0x30]
mov rcx, rsi
lea r8, str.sgslufread:_Hard_error_on_read__OS_error___d_n
mov qword [rsp + 0x20], rax
mov edx, 0x7fffffff
mov r9d, reloc.WS2_32.dll_listen
call fcn.14001f070
mov eax, 0xffffffff
add rsp, 0x40
pop rsi
ret

Function at 0x14005aba0
Capabilities:
Resolve dns

Disassembly:
push rbp
push rbx
sub rsp, 0x38
mov rbp, rcx
mov dword [rsp + 0x30], 0
mov rcx, rdx
call qword [sym.imp.WS2_32.dll_gethostbyname]
mov rbx, rax
test rbx, rbx
je 0x14005abcc
mov rax, rbx
add rsp, 0x38
pop rbx
pop rbp
ret
call qword [sym.imp.orauts.dll_WSAGetLastError]
mov dword [rsp + 0x30], eax
mov rcx, rbp
mov qword [rsp + 0x28], 0
lea r8, str.sgsluhGetHostName_:_gethostname_failed__OS_error___d_n
lea rax, [rsp + 0x30]
mov qword [rsp + 0x20], rax
mov edx, 0x7fffffff
mov r9d, reloc.WS2_32.dll_listen
call fcn.14001f070
jmp 0x14005abc2

Function at 0x14005ad34
Capabilities:
Resolve dns

Disassembly:
sub rsp, 0x28
mov rcx, rdx
call qword [sym.imp.WS2_32.dll_gethostbyname]
test rax, rax
jne 0x14005ad58
mov ecx, 3
call qword [sym.imp.orauts.dll_WSASetLastError]
xor eax, eax
add rsp, 0x28
ret
mov rax, qword [rax + 0x18]
add rsp, 0x28
ret
Function at 0x14005f430
Capabilities:
Terminate process

Disassembly:
mov rax, rsp
sub rsp, 0x68
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rdi, rcx
lea rsi, [0x140079d30]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_RtlCaptureContext]
mov rbx, qword [0x140079e28]
lea rdx, [rsp + 0x70]
mov rcx, rbx
xor r8d, r8d
call qword [sym.imp.KERNEL32.dll_RtlLookupFunctionEntry]
test rax, rax
je 0x14005f4b1
mov rdx, qword [rsp + 0x70]
mov qword [rsp + 0x38], 0
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x30], rcx
lea rcx, [rsp + 0x48]
mov r9, rax
mov qword [rsp + 0x28], rcx
xor ecx, ecx
mov r8, rbx
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_RtlVirtualUnwind]
mov r11, qword [0x140079e28]
jmp 0x14005f4cd
mov r11, qword [rsp + 0x68]
lea rax, [rsp + 0x68]
add rax, 8
mov qword [0x140079e28], r11
mov qword [0x140079dc8], rax
mov rax, qword [0x140079508]
mov qword [0x140079ca0], r11
mov qword [0x140079db0], rdi
mov dword [0x140079c90], 0xc0000409
mov dword [0x140079c94], 1
mov qword [rsp + 0x50], rax
mov rax, qword [0x140079500]
xor ecx, ecx
mov qword [rsp + 0x50], rax
call qword [sym.imp.KERNEL32.dll_SetUnhandledExceptionFilter]
lea rcx, [0x14006f118]
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]
mov rdi, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x78]
add rsp, 0x68
ret
cmp rcx, qword [0x140079508]
jne 0x14005fc09
rol rcx, 0x10
test cx, 0xffff
jne 0x14005fc05
ret
ror rcx, 0x10
jmp 0x14005f430
Function at 0x14005f5c0
Capabilities:
Terminate process

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rax, qword gs:[0x30]
mov rbx, qword [rax + 8]
xor esi, esi
mov edi, esi
xor eax, eax
lock cmpxchg qword [0x14007a2f8], rbx
je 0x14005f606
cmp rax, rbx
jne 0x14005f5f9
mov edi, 1
jmp 0x14005f606
mov ecx, 0x3e8
call qword [sym.imp.orauts.dll_Sleep]
jmp 0x14005f5e0
mov eax, dword [0x14007a2f0]
cmp eax, 1
jne 0x14005f61b
lea ecx, [rax + 0x1e]
call sub.MSVCR80.dll__amsg_exit
jmp 0x14005f65a
mov eax, dword [0x14007a2f0]
test eax, eax
jne 0x14005f650
mov dword [0x14007a2f0], 1
lea rdx, [0x140060ac0]
lea rcx, [0x140060aa8]
call sub.MSVCR80.dll__initterm_e
test eax, eax
je 0x14005f65a
mov eax, 0xff
jmp 0x14005f73b
mov dword [0x14007a224], 1
mov eax, dword [0x14007a2f0]
cmp eax, 1
jne 0x14005f682
lea rdx, [0x140060aa0]
lea rcx, [0x140060a88]
call sub.MSVCR80.dll__initterm
mov dword [0x14007a2f0], 2
test edi, edi
jne 0x14005f68d
xchg qword [0x14007a2f8], rsi
cmp qword [0x14007a310], 0
je 0x14005f6b6
lea rcx, [0x14007a310]
call fcn.14005fb10
test eax, eax
je 0x14005f6b6
xor r8d, r8d
lea edx, [r8 + 2]
xor ecx, ecx
call qword [0x14007a310]
mov rcx, qword [sym.imp.MSVCR80.dll___initenv]
mov rax, qword [0x14007a208]
mov qword [rcx], rax
mov r8, qword [0x14007a208]
mov rdx, qword [0x14007a210]
mov ecx, dword [0x14007a200]
call section..text
mov dword [0x14007a220], eax
cmp dword [0x14007a204], 0
jne 0x14005f6f7
mov ecx, eax
call qword [sym.imp.MSVCR80.dll_exit]
cmp dword [0x14007a224], 0
jne 0x14005f70c
call qword [sym.imp.MSVCR80.dll__cexit]
mov eax, dword [0x14007a220]
jmp 0x14005f73b
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
sub rsp, 0x28
call fcn.14005f370
add rsp, 0x28
jmp 0x14005f5c0
Function at 0x100075150
Capabilities:
Terminate process

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], r12
push r13
sub rsp, 0xb0
xor ebx, ebx
mov dword [rsp + 0x20], ebx
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 rdi, qword [rax + 8]
mov r12d, ebx
xor eax, eax
lock cmpxchg qword [0x100080558], rdi
je 0x1000751b0
cmp rax, rdi
jne 0x1000751a3
mov r12d, 1
jmp 0x1000751b0
mov ecx, 0x3e8
call qword [sym.imp.API_MS_Win_Core_Misc_L1_1_0.dll_Sleep]
jmp 0x100075189
mov eax, dword [0x100080550]
cmp eax, 1
jne 0x1000751c5
lea ecx, [rax + 0x1e]
call fcn.10019e000
jmp 0x10007522c
mov eax, dword [0x100080550]
cmp eax, ebx
jne 0x100075222
mov dword [0x100080550], 1
lea r13, [0x100001b48]
lea rdi, [0x100001b30]
mov qword [rsp + 0x30], rdi
mov eax, ebx
mov dword [rsp + 0x24], ebx
cmp rdi, r13
jae 0x100075214
cmp eax, ebx
jne 0x100075214
mov rcx, qword [rdi]
cmp rcx, rbx
je 0x100075209
call rcx
mov dword [rsp + 0x24], eax
add rdi, 8
mov qword [rsp + 0x30], rdi
jmp 0x1000751f2
cmp eax, ebx
je 0x10007522c
mov eax, 0xff
jmp 0x100075374
mov dword [0x10007f924], 1
mov eax, dword [0x100080550]
cmp eax, 1
jne 0x100075254
lea rdx, [0x100001b28]
lea rcx, [0x100001ab8]
call sub.msvcrt.dll__initterm
mov dword [0x100080550], 2
cmp r12d, ebx
jne 0x100075263
mov rax, rbx
xchg qword [0x100080558], rax
cmp qword [0x100080570], rbx
je 0x10007528b
lea rcx, [0x100080570]
call fcn.1000756ac
cmp eax, ebx
je 0x10007528b
xor r8d, r8d
lea edx, [r8 + 2]
xor ecx, ecx
call qword [0x100080570]
mov rcx, qword [sym.imp.msvcrt.dll__wcmdln]
cmp qword [rcx], rbx
jne 0x1000752a1
mov eax, 0xff
jmp 0x100075374
mov rcx, qword [rcx]
mov qword [rsp + 0x28], rcx
mov edx, dword [rsp + 0x20]
cmp word [rcx], 0x20
ja 0x100075326
cmp word [rcx], bx
je 0x1000752bc
cmp edx, ebx
jne 0x100075326
cmp word [rcx], bx
je 0x1000752d2
cmp word [rcx], 0x20
ja 0x1000752d2
add rcx, 2
mov qword [rsp + 0x28], rcx
jmp 0x1000752bc
test byte [rsp + 0x7c], 1
movzx eax, word [rsp + 0x80]
mov r9d, 0xa
cmovne r9d, eax
mov r8, rcx
xor edx, edx
lea rcx, [0x100000000]
call fcn.1000337b8
mov dword [0x10007f920], eax
cmp dword [0x10007f904], ebx
jne 0x100075310
mov ecx, eax
call qword [sym.imp.msvcrt.dll_exit]
cmp dword [0x10007f924], ebx
jne 0x100075324
call qword [sym.imp.msvcrt.dll__cexit]
mov eax, dword [0x10007f920]
jmp 0x100075374
cmp word [rcx], 0x22
jne 0x100075339
mov eax, ebx
cmp edx, ebx
sete al
mov edx, eax
mov dword [rsp + 0x20], eax
add rcx, 2
mov qword [rsp + 0x28], rcx
jmp 0x1000752ad
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov r12, qword [r11 + 0x20]
mov rsp, r11
pop r13
ret
sub rsp, 0x28
call fcn.1000757c0
add rsp, 0x28
jmp 0x100075150
Function at 0x1404ef058
Capabilities:
Decompress data using aplib

Disassembly:
call 0x1404ef1df
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 0x1404ef089
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1404ef06f
add dl, dl
jne 0x1404ef096
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1404ef0f6
xor eax, eax
add dl, dl
jne 0x1404ef0a5
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1404ef1ad
add dl, dl
jne 0x1404ef0b6
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1404ef0c3
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1404ef0d0
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1404ef0dd
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
je 0x1404ef0ea
push rdi
mov eax, eax
sub rdi, rax
mov al, byte [rdi]
pop rdi
mov byte [rdi], al
inc rdi
mov ebx, 2
jmp 0x1404ef07e
mov eax, 1
add dl, dl
jne 0x1404ef106
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1404ef113
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1404ef0fb
sub eax, ebx
mov ebx, 1
jne 0x1404ef14c
mov ecx, 1
add dl, dl
jne 0x1404ef12e
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x1404ef13b
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1404ef123
push rsi
mov rsi, rdi
sub rsi, rbp
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x1404ef07e
dec eax
shl eax, 8
mov al, byte [rsi]
inc rsi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x1404ef168
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x1404ef175
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1404ef15d
cmp eax, 0x7d00
jae 0x1404ef19b
cmp eax, 0x500
jb 0x1404ef196
inc ecx
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x1404ef07e
cmp eax, 0x7f
ja 0x1404ef19e
add ecx, 2
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x1404ef07e
mov al, byte [rsi]
inc rsi
xor ecx, ecx
shr al, 1
je 0x1404ef1d2
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 0x1404ef07e
pop r10
sub rdi, qword [r10 + 0x20]
mov eax, edi
pop r10
ret 0x20
Function at 0x140005400
Capabilities:
Parse pe header

Disassembly:
push rbx
sub rsp, 0x40
mov qword [rsp + 0x58], rdx
mov rbx, r8
xor edx, edx
test rcx, rcx
je 0x140005434
cmp word [rcx], 0x5a4d
jne 0x140005434
movsxd rax, dword [rcx + 0x3c]
cmp eax, 0x400
jg 0x140005434
add rcx, rax
cmp dword [rcx], 0x4550
jne 0x140005434
mov edx, dword [rcx + 0x28]
add rdx, qword [rsp + 0x58]
mov rcx, rbx
call fcn.140005340
test eax, eax
jne 0x140005450
xor eax, eax
add rsp, 0x40
pop rbx
ret
mov rcx, rbx
call fcn.1400053b0
test rax, rax
je 0x140005445
lea rdx, [rax + 0x10]
lea rax, [rsp + 0x38]
mov rcx, qword [rbx]
mov r9d, 8
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x58]
mov qword [rsp + 0x38], 0
call fcn.140005bf9
not eax
shr eax, 0x1f
add rsp, 0x40
pop rbx
ret

Function at 0x140005b00
Capabilities:
Execute syscall

Disassembly:
pop rax
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x20], r9
sub rsp, 0x28
mov rcx, r10
call fcn.140005aa0
add rsp, 0x28
mov rcx, qword [rsp + 8]
mov rdx, qword [rsp + 0x10]
mov r8, qword [rsp + 0x18]
mov r9, qword [rsp + 0x20]
mov r10, rcx
syscall
ret

Function at 0x1400066b0
Capabilities:
Parse pe header

Disassembly:
xor eax, eax
cmp word [rcx], 0x5a4d
jne 0x1400066d3
movsxd rdx, dword [rcx + 0x3c]
add rcx, rdx
cmp dword [rcx], 0x4550
jne 0x1400066d3
xor eax, eax
cmp word [rcx + 0x18], 0x20b
sete al
ret

Function at 0x140006781
Capabilities:
Enumerate pe sections

Disassembly:
sub rsp, 0x28
mov r9, qword [0x140539b50]
mov r8, rcx
mov rcx, r9
call fcn.1400066b0
test eax, eax
je 0x1400067ad
mov rdx, r8
mov rcx, r9
sub rdx, r9
add rsp, 0x28
jmp fcn.1400066d4
xor eax, eax
add rsp, 0x28
ret