joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1400059c0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rbx, rcx
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
lea r8d, [rdx + 4]
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
xor r11d, r11d
lea rsi, str.wpJdDGYmmkyHOsYRQyRzcMZbecfcdSwJEXcpYFjXWnpGFGqFRTQBRDrFQZZSkCVxXhHMtygBrJGVdPskufHeTBBCqaNPzCPZulnedxHxpoynhYQsWGuABgunPtnEVKlmKQAjkHPQRcBULgaqyCpNHCxGUTCKDxqWnujuyWWIwsaVXMuNlOodfuYbaDXJHWjJlNeUnKTrQBptFRXqGTdcVOTyYkhhtkDWAXFPorGQUDBXgtYbeGeLaPsTmZIRMmhWryhkLLcokNqfCsorFYSKqEzIUTOrMVxxyIypTBdswCnJFhneYndgZhNrwJcIKGWIhmZkYLbQVnECupPuBhYeSrWacpTxckUSnmGeAHBNQUqjCNGnSctizmCMDIvcTxGpkDujBIgawiwftGbUqQTwfuoBHzoWAlPmKwkuKXARPxscXYmbeKVUhvGGKWwYVamazDMScHDRpZEnrqPHCwagChVYitzxAyPCcjtosqpEDyFZWNw
mov r10, rax
sub rbx, rax
movabs rdi, 0x842108421084211
lea r9, [rax + 2]
nop dword [rax + rax]
movsxd r8, r11d
mov rax, rdi
mul r8
mov rax, r8
mov rcx, r8
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1f0
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 1]
xor al, byte [rbx + r9 - 2]
movsx eax, al
mov word [r9 - 2], ax
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1f0
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 2]
xor al, byte [r9 + rbx]
movsx eax, al
mov word [r9], ax
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1f0
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 3]
xor al, byte [rbx + r9 + 2]
movsx eax, al
mov word [r9 + 2], ax
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1f0
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 4]
xor al, byte [rbx + r9 + 4]
movsx eax, al
mov word [r9 + 4], ax
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1f0
sub rcx, rax
movzx eax, byte [rcx + rsi]
lea rcx, [r8 + 5]
xor al, byte [rbx + r9 + 6]
movsx eax, al
mov word [r9 + 6], ax
mov rax, rdi
mul rcx
mov rax, rcx
sub rax, rdx
shr rax, 1
add rax, rdx
shr rax, 8
imul rax, rax, 0x1f0
sub rcx, rax
movzx eax, byte [rcx + rsi]
add r11d, 6
xor al, byte [rbx + r9 + 8]
lea r9, [r9 + 0xc]
movsx eax, al
mov word [r9 - 4], ax
cmp r11d, 6
jb 0x140005a10
mov rbx, qword [rsp + 0x30]
mov rax, r10
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
Function at 0x14000c350
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
mov rbx, qword [0x1400111c0]
lea rcx, [rbp - 0x20]
mov dword [rbp - 0x20], 0x180024
mov dword [rbp - 0x1c], 0x8002f
mov dword [rbp - 0x18], 0x740028
mov dword [rbp - 0x14], 0x43006b
mov dword [rbp - 0x10], 0x70009
mov dword [rbp - 0xc], 0x480015
call fcn.140002f20
mov rcx, rax
call rbx
mov rbx, qword [0x1400111c0]
lea rcx, [rbp - 0x20]
mov qword [0x1400111a0], rax
mov dword [rbp - 0x20], 0x190020
mov dword [rbp - 0x1c], 0xd0024
mov dword [rbp - 0x18], 0x22002a
mov dword [rbp - 0x14], 0x43002d
mov dword [rbp - 0x10], 0x70009
mov dword [rbp - 0xc], 0x480015
call fcn.140002f20
mov rcx, rax
call rbx
movdqa xmm0, xmmword [0x1400100e0]
lea rcx, [rbp - 0x20]
mov rbx, qword [0x140011130]
movdqu xmmword [rbp - 0x20], xmm0
mov qword [0x1400111b0], rax
mov word [rbp - 0x10], 0x2e27
mov byte [rbp - 0xe], 0x52
call fcn.140004f40
mov rcx, qword [0x1400111a0]
mov rdx, rax
call rbx
mov rbx, qword [0x140011130]
lea rcx, [rbp - 0x20]
mov dword [rbp - 0x20], 0x82f1824
mov dword [rbp - 0x1c], 0x8210228
mov dword [rbp - 0x18], 0x2d0d1e0e
mov word [rbp - 0x14], 0x7318
call fcn.140001180
mov rcx, qword [0x1400111a0]
mov rdx, rax
call rbx
mov rbx, qword [0x140011130]
lea rcx, [rbp - 0x20]
mov dword [rbp - 0x20], 0x13e1e3e
mov dword [rbp - 0x1c], 0x193c2936
mov dword [rbp - 0x18], 0x261c1b22
mov word [rbp - 0x14], 0x730e
call fcn.140001180
mov rcx, qword [0x1400111b0]
mov rdx, rax
call rbx
movdqa xmm0, xmmword [0x140010040]
lea rcx, [rbp - 0x20]
mov rbx, qword [0x140011130]
movdqu xmmword [rbp - 0x20], xmm0
mov qword [0x1400110e8], rax
mov byte [rbp - 0x10], 0x51
call fcn.140001590
mov rcx, qword [0x1400111b0]
mov rdx, rax
call rbx
movdqa xmm0, xmmword [0x140010140]
lea rcx, [rbp - 0x20]
mov rbx, qword [0x140011130]
movdqu xmmword [rbp - 0x20], xmm0
mov qword [0x1400110f0], rax
mov dword [rbp - 0x10], 0x7a371535
call fcn.140002ad0
mov rcx, qword [0x1400111b0]
mov rdx, rax
call rbx
movdqa xmm0, xmmword [0x140010100]
lea rcx, [rbp - 0x20]
mov rbx, qword [0x140011130]
movdqu xmmword [rbp - 0x20], xmm0
mov qword [0x1400110e0], rax
mov byte [rbp - 0x10], 0x51
call fcn.140001590
mov rcx, qword [0x1400111b0]
mov rdx, rax
call rbx
movdqa xmm0, xmmword [0x140010070]
lea rcx, [rbp - 0x20]
mov rbx, qword [0x140011130]
movdqu xmmword [rbp - 0x20], xmm0
mov qword [0x1400110d8], rax
mov dword [rbp - 0x10], 0x3b3c1638
mov byte [rbp - 0xc], 0x63
call fcn.140003870
mov rcx, qword [0x1400111b0]
mov rdx, rax
call rbx
movdqa xmm0, xmmword [0x140010150]
lea rcx, [rbp - 0x20]
mov rbx, qword [0x140011130]
movdqu xmmword [rbp - 0x20], xmm0
mov word [rbp - 0x10], 0x383f
mov byte [rbp - 0xe], 0x52
call fcn.140004f40
mov rcx, qword [0x1400111b0]
mov rdx, rax
mov rax, rbx
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rbp
jmp rax
Function at 0x14000c5d0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
movsxd rax, dword [rcx + 0x3c]
mov r12, rdx
mov rdx, rcx
mov ecx, dword [rax + rcx + 0x88]
xor eax, eax
add rcx, rdx
mov dword [rbp - 0x2c], eax
mov qword [rbp - 0x28], rcx
mov r8d, dword [rcx + 0x1c]
mov r9d, dword [rcx + 0x20]
add r8, rdx
mov r10d, dword [rcx + 0x24]
add r9, rdx
add r10, rdx
mov qword [rbp - 0x20], r8
mov qword [rbp - 0x18], r9
mov qword [rbp - 0x10], r10
cmp dword [rcx + 0x18], eax
jbe 0x14000c7fe
mov word [rbp + 0x50], 0x7077
mov word [rbp + 0x58], 0x7077
nop
mov esi, dword [r9 + rax*4]
lea rcx, [rbp + 0x50]
movzx eax, word [r10 + rax*2]
add rsi, rdx
xor edi, edi
mov r15d, dword [r8 + rax*4]
add r15, rdx
mov qword [rbp - 8], r15
call fcn.1400019f0
movzx ecx, byte [rax]
cmp byte [rsi], cl
je 0x14000c684
nop dword [rax]
lea rcx, [rbp + 0x50]
inc rdi
call fcn.1400019f0
movzx ecx, byte [rax]
cmp byte [rdi + rsi], cl
jne 0x14000c670
lea rcx, [rbp + 0x58]
xor ebx, ebx
call fcn.1400019f0
movzx ecx, byte [rax]
cmp byte [r12], cl
je 0x14000c6b5
nop dword [rax + rax]
lea rcx, [rbp + 0x58]
inc rbx
call fcn.1400019f0
movzx ecx, byte [rax]
cmp byte [rbx + r12], cl
jne 0x14000c6a0
cmp rdi, rbx
jne 0x14000c7d2
mov r13, rsi
mov word [rbp - 0x50], 0x7077
sub r13, r12
mov r14, r12
nop dword [rax]
lea rcx, [rbp - 0x50]
xor ebx, ebx
call fcn.1400019f0
movzx ecx, byte [rax]
cmp byte [rsi], cl
je 0x14000c6f6
lea rcx, [rbp - 0x50]
inc rbx
call fcn.1400019f0
movzx ecx, byte [rax]
cmp byte [rbx + rsi], cl
jne 0x14000c6e2
mov rax, r14
sub rax, r12
dec rbx
cmp rax, rbx
jae 0x14000c7f8
movsx r15d, byte [r14 + r13]
lea rcx, [rbp - 0x4e]
mov dword [rbp - 0x4e], 0x700016
call fcn.1400028d0
movzx eax, word [rax]
cmp r15d, eax
jl 0x14000c768
lea rcx, [rbp - 0x4a]
mov dword [rbp - 0x4a], 0x70000d
call fcn.1400028d0
movzx ecx, word [rax]
cmp r15d, ecx
jg 0x14000c768
lea rcx, [rbp - 0x46]
mov dword [rbp - 0x46], 0x700016
mov dword [rbp - 0x42], 0x700036
call fcn.1400028d0
lea rcx, [rbp - 0x42]
movzx ebx, byte [rax]
call fcn.1400028d0
movzx ecx, byte [rax]
sub cl, bl
add r15b, cl
movsx edi, byte [r14]
lea rcx, [rbp - 0x3e]
mov dword [rbp - 0x3e], 0x700016
call fcn.1400028d0
movzx eax, word [rax]
cmp edi, eax
jl 0x14000c7c5
lea rcx, [rbp - 0x3a]
mov dword [rbp - 0x3a], 0x70000d
call fcn.1400028d0
movzx ecx, word [rax]
cmp edi, ecx
jg 0x14000c7c5
lea rcx, [rbp - 0x36]
mov dword [rbp - 0x36], 0x700016
mov dword [rbp - 0x32], 0x700036
call fcn.1400028d0
lea rcx, [rbp - 0x32]
movzx ebx, byte [rax]
call fcn.1400028d0
movzx ecx, byte [rax]
sub cl, bl
add dil, cl
cmp r15b, dil
jne 0x14000c7d2
inc r14
jmp 0x14000c6d0
mov eax, dword [rbp - 0x2c]
mov rcx, qword [rbp - 0x28]
inc eax
mov dword [rbp - 0x2c], eax
cmp eax, dword [rcx + 0x18]
jae 0x14000c7fe
mov rdx, qword [rbp + 0x40]
mov r8, qword [rbp - 0x20]
mov r9, qword [rbp - 0x18]
mov r10, qword [rbp - 0x10]
jmp 0x14000c640
mov rax, qword [rbp - 8]
jmp 0x14000c800
xor eax, eax
mov rbx, qword [rsp + 0xb8]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
Function at 0x14000c820
Capabilities:
Access peb ldr_data

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rax, qword gs:[0x60]
mov rsi, rcx
mov rdi, qword [rax + 0x18]
add rdi, 0x20
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x14000c882
nop dword [rax + rax]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
mov r8d, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rcx, qword [rbx + 0x40]
mov rdx, rsi
mov r8, rax
call fcn.14000dc30
test al, al
jne 0x14000c894
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x14000c850
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rbx + 0x20]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
mov eax, 0x79
mov dword [rbp - 0x20], 0x35003c
lea rcx, [rbp - 0x20]
mov word [rbp - 0xc], ax
mov dword [rbp - 0x1c], 0x2a0018
mov dword [rbp - 0x18], 0xb0001
mov dword [rbp - 0x14], 0x2c001b
mov dword [rbp - 0x10], 0x2e003e
call fcn.140005b80
mov rcx, rax
call 0x14000c820
mov qword [0x1400111b8], rax
lea rcx, [rbp - 0x20]
mov eax, 0x6d
mov dword [rbp - 0x20], 0x35003c
mov word [rbp - 0x10], ax
mov dword [rbp - 0x1c], 0x2a0018
mov dword [rbp - 0x18], 0xb0001
mov dword [rbp - 0x14], 0x5f006a
call fcn.140002670
mov rcx, rax
call 0x14000c820
lea rcx, [rbp - 0x20]
mov qword [0x1400111a8], rax
mov dword [rbp - 0x20], 0x40019
mov dword [rbp - 0x1c], 0x8002e
mov dword [rbp - 0x18], 0x470028
call fcn.1400059c0
mov rcx, rax
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rbp
jmp 0x14000c820
Function at 0x14000de90
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rax, qword gs:[0x60]
mov rsi, rcx
mov rdi, qword [rax + 0x18]
add rdi, 0x20
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x14000c882
nop dword [rax + rax]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov edx, 8
mov rcx, rax
mov r8d, edx
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov rcx, qword [rbx + 0x40]
mov rdx, rsi
mov r8, rax
call fcn.14000dc30
test al, al
jne 0x14000c894
mov rbx, qword [rbx]
cmp rbx, rdi
jne 0x14000c850
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov rax, qword [rbx + 0x20]
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
mov eax, 0x79
mov dword [rbp - 0x20], 0x35003c
lea rcx, [rbp - 0x20]
mov word [rbp - 0xc], ax
mov dword [rbp - 0x1c], 0x2a0018
mov dword [rbp - 0x18], 0xb0001
mov dword [rbp - 0x14], 0x2c001b
mov dword [rbp - 0x10], 0x2e003e
call fcn.140005b80
mov rcx, rax
call 0x14000c820
mov qword [0x1400111b8], rax
lea rcx, [rbp - 0x20]
mov eax, 0x6d
mov dword [rbp - 0x20], 0x35003c
mov word [rbp - 0x10], ax
mov dword [rbp - 0x1c], 0x2a0018
mov dword [rbp - 0x18], 0xb0001
mov dword [rbp - 0x14], 0x5f006a
call fcn.140002670
mov rcx, rax
call 0x14000c820
lea rcx, [rbp - 0x20]
mov qword [0x1400111a8], rax
mov dword [rbp - 0x20], 0x40019
mov dword [rbp - 0x1c], 0x8002e
mov dword [rbp - 0x18], 0x470028
call fcn.1400059c0
mov rcx, rax
mov rbx, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rbp
jmp 0x14000c820
Function at 0x1407b2058
Capabilities:
Decompress data using aplib

Disassembly:
call fcn.1407b21df
push r10
mov r10, rsp
push r10
mov rsi, qword [r10 + 0x10]
mov rdi, qword [r10 + 0x20]
cld
mov dl, pe_nt_image_headers64
mov al, byte [rsi]
inc rsi
mov byte [rdi], al
inc rdi
mov ebx, 2
add dl, dl
jne 0x1407b2089
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1407b206f
add dl, dl
jne 0x1407b2096
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1407b20f6
xor eax, eax
add dl, dl
jne 0x1407b20a5
mov dl, byte [rsi]
inc rsi
adc dl, dl
jae 0x1407b21ad
add dl, dl
jne 0x1407b20b6
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1407b20c3
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1407b20d0
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1407b20dd
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
je 0x1407b20ea
push rdi
mov eax, eax
sub rdi, rax
mov al, byte [rdi]
pop rdi
mov byte [rdi], al
inc rdi
mov ebx, 2
jmp 0x1407b207e
mov eax, 1
add dl, dl
jne 0x1407b2106
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x1407b2113
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1407b20fb
sub eax, ebx
mov ebx, 1
jne 0x1407b214c
mov ecx, 1
add dl, dl
jne 0x1407b212e
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x1407b213b
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1407b2123
push rsi
mov rsi, rdi
sub rsi, rbp
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x1407b207e
dec eax
shl eax, 8
mov al, byte [rsi]
inc rsi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x1407b2168
mov dl, byte [rsi]
inc rsi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x1407b2175
mov dl, byte [rsi]
inc rsi
adc dl, dl
jb 0x1407b215d
cmp eax, 0x7d00
jae 0x1407b219b
cmp eax, 0x500
jb 0x1407b2196
inc ecx
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x1407b207e
cmp eax, 0x7f
ja 0x1407b219e
add ecx, 2
push rsi
mov rsi, rdi
sub rsi, rax
rep movsb byte [rdi], byte [rsi]
pop rsi
jmp 0x1407b207e
mov al, byte [rsi]
inc rsi
xor ecx, ecx
shr al, 1
je 0x1407b21d2
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 0x1407b207e
pop r10
sub rdi, qword [r10 + 0x20]
mov eax, edi
pop r10
ret 0x20
Function at 0x1400073f0
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
sub rsp, 0x28
test rdx, rdx
je 0x140007405
mov r8d, r8d
add rsp, 0x28
jmp fcn.140006b00
test r8d, r8d
jne 0x14000740f
call fcn.140006a90
xor eax, eax
add rsp, 0x28
ret

Function at 0x140007a50
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x20
mov eax, 0xfffffffe
test rcx, rcx
je 0x140007a87
mov rsi, rcx
cmp qword [rcx + 0x30], 0
je 0x140007a87
cmp qword [rsi + 0x38], 0
je 0x140007a87
mov rdi, qword [rsi + 0x28]
test rdi, rdi
je 0x140007a87
cmp qword [rdi], rsi
je 0x140007a96
add rsp, 0x20
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
mov r14d, r8d
mov rbx, rdx
mov ecx, dword [rdi + 8]
lea edx, [rcx - 0x39]
cmp edx, 0x38
ja 0x140007b03
movabs r8, 0x100400400011001
bt r8, rdx
jae 0x140007b03
test rbx, rbx
je 0x140007a87
mov ebp, dword [rdi + 0x2c]
cmp ebp, 2
je 0x140007a87
cmp ebp, 1
jne 0x140007b16
cmp ecx, 0x2a
jne 0x140007a87
cmp dword [rdi + 0xec], 0
jne 0x140007a87
mov ecx, dword [rsi + 0x4c]
mov rdx, rbx
mov r8d, r14d
call fcn.140006a80
mov dword [rsi + 0x4c], eax
mov dword [rdi + 0x2c], 0
mov eax, dword [rdi + 0x94]
cmp eax, r14d
jbe 0x140007b8d
jmp 0x140007b96
cmp ecx, 0x29a
je 0x140007ab7
cmp ecx, 0x2a
jne 0x140007a87
jmp 0x140007ab7
cmp dword [rdi + 0xec], 0
jne 0x140007a87
mov dword [rdi + 0x2c], 0
mov eax, dword [rdi + 0x94]
cmp eax, r14d
ja 0x140007b96
test ebp, ebp
jne 0x140007b8d
mov rax, qword [rdi + 0xb8]
mov ecx, dword [rdi + 0xc4]
dec ecx
mov word [rax + rcx*2], 0
mov rcx, qword [rdi + 0xb8]
mov r8d, dword [rdi + 0xc4]
dec r8d
add r8, r8
xor edx, edx
call fcn.140266cb0
mov dword [rdi + 0xe4], 0
mov dword [rdi + 0xd4], 0
mov dword [rdi + 0x1758], 0
mov eax, dword [rdi + 0x94]
sub r14d, eax
add rbx, r14
mov r14d, eax
mov r15d, dword [rsi + 8]
mov r12, qword [rsi]
mov dword [rsi + 8], r14d
mov qword [rsi], rbx
mov rcx, rdi
call fcn.140007cc0
mov r14d, dword [rdi + 0xec]
cmp r14d, 3
jae 0x140007c30
mov eax, dword [rdi + 0xe4]
add eax, r14d
mov dword [rdi + 0xe4], eax
mov dword [rdi + 0xd4], eax
mov dword [rdi + 0x1758], r14d
movabs rax, 0x200000000
mov qword [rdi + 0xec], rax
mov dword [rdi + 0xd8], 2
mov dword [rdi + 0xe0], 0
mov qword [rsi], r12
mov dword [rsi + 8], r15d
mov dword [rdi + 0x2c], ebp
xor eax, eax
jmp 0x140007a87
mov dword [rdi + 0xe4], ebx
mov dword [rdi + 0xec], 2
mov rcx, rdi
call fcn.140007cc0
mov r14d, dword [rdi + 0xec]
cmp r14d, 2
jbe 0x140007bb9
mov ebx, dword [rdi + 0xe4]
add r14d, 0xfffffffe
jmp 0x140007ca7
mov eax, dword [rdi + 0xc0]
movzx ecx, byte [rdi + 0xd0]
shl eax, cl
movzx ecx, bx
mov rdx, qword [rdi + 0xa0]
mov r8, qword [rdi + 0xb0]
movzx edx, byte [rcx + rdx + 2]
xor edx, eax
and edx, dword [rdi + 0xcc]
mov dword [rdi + 0xc0], edx
mov rax, qword [rdi + 0xb8]
movzx eax, word [rax + rdx*2]
mov edx, dword [rdi + 0x9c]
and edx, ecx
mov word [r8 + rdx*2], ax
mov rax, qword [rdi + 0xb8]
mov edx, dword [rdi + 0xc0]
mov word [rax + rdx*2], cx
inc ebx
dec r14d
je 0x140007c0b
cmp dword [0x1403a88f8], 0
je 0x140007c40
mov rcx, rdi
mov edx, ebx
call fcn.140009ce0
jmp 0x140007c9c
Function at 0x14000e5e0
Capabilities:
Create tcp socket

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x58
mov rdi, rcx
mov rax, qword [0x1403a6f08]
xor rax, rsp
mov qword [rsp + 0x50], rax
lea rsi, [rcx + 0x20]
mov rcx, rsi
call sub.KERNEL32.dll_EnterCriticalSection
mov ecx, 0x180
call fcn.140023770
mov rbx, rax
lea r14, [rax + 0x58]
lea rcx, [rax + 0x48]
movaps xmm0, xmmword [0x1402a4b00]
movups xmmword [rax + 0x28], xmm0
mov r8d, 0x130
xor edx, edx
call fcn.140266cb0
mov ecx, 2
mov edx, 1
mov r8d, 6
call qword [sym.imp.WS2_32.dll_socket]
mov qword [rbx + 0x20], rax
mov r10, qword [rdi + 0xd0]
xorps xmm0, xmm0
movups xmmword [rbx + 0x10], xmm0
movups xmmword [rbx], xmm0
mov rcx, qword [rdi + 0xa0]
mov qword [rsp + 0x38], rbx
lea rdx, [rsp + 0x4c]
mov qword [rsp + 0x30], rdx
mov dword [rsp + 0x28], 0x90
mov dword [rsp + 0x20], 0x90
mov rdx, rax
mov r8, r14
xor r9d, r9d
call r10
test eax, eax
jne 0x14000e6a2
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
cmp eax, 0x3e5
jne 0x14000e6ad
inc dword [rdi + 0xe0]
mov dil, 1
jmp 0x14000e6d1
call qword [sym.imp.WS2_32.dll_WSAGetLastError]
mov edi, eax
mov rcx, qword [rbx + 0x20]
call qword [sym.imp.WS2_32.dll_closesocket]
mov rcx, rbx
call fcn.14026c948
mov ecx, edi
call qword [sym.imp.WS2_32.dll_WSASetLastError]
xor edi, edi
mov rcx, rsi
call fcn.1400ee3c0
mov rcx, qword [rsp + 0x50]
xor rcx, rsp
call fcn.140263800
mov eax, edi
add rsp, 0x58
pop rbx
pop rdi
pop rsi
pop r14
ret
Function at 0x14000e700
Capabilities:
Set socket configuration

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbx
sub rsp, 0x78
mov r14, r8
mov rsi, rdx
mov rbx, rcx
mov rax, qword [0x1403a6f08]
xor rax, rsp
mov qword [rsp + 0x70], rax
lea rdi, [rcx + 0x20]
mov rcx, rdi
call sub.KERNEL32.dll_EnterCriticalSection
test byte [rbx + 0x9c], 1
jne 0x14000e76c
mov rax, qword [rbx + 0xa0]
mov qword [rsp + 0x68], rax
mov rcx, qword [rsi + 0x20]
mov dword [rsp + 0x20], 8
lea r9, [rsp + 0x68]
mov edx, 0xffff
mov r8d, 0x700b
call qword [sym.imp.WS2_32.dll_setsockopt]
test eax, eax
je 0x14000e7a8
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.WS2_32.dll_closesocket]
dec dword [rbx + 0xe0]
mov rcx, rsi
call fcn.14026c948
mov rcx, rdi
call fcn.1400ee3c0
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.140263800
nop
add rsp, 0x78
pop rbx
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
lea rcx, [rsi + 0x58]
lea rax, [rsp + 0x4c]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x5c]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
xor edx, edx
mov r8d, 0x90
mov r9d, 0x90
call qword [rbx + 0xd8]
mov ecx, 0x80
call fcn.140263a80
mov r12, rax
mov rdx, qword [rsp + 0x50]
movsxd r8, dword [rsp + 0x4c]
mov rcx, rax
call fcn.140266e70
mov ecx, 0xe8
call fcn.140263a80
mov r15, rax
mov qword [rsp + 0x40], r12
mov rdx, qword [rsi + 0x20]
lea r8, [rsp + 0x40]
mov rcx, rax
call fcn.14000e890
mov byte [r15 + 0xd8], 1
lock inc qword [r15 + 8]
mov rcx, qword [r15 + 0x58]
mov rdx, r14
mov r8, r15
xor r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
mov qword [r15 + 0x60], rax
cmp qword [rbx + 0xe8], 0
je 0x14000e868
mov rax, qword [rbx + 0xf0]
mov qword [rax + 0xd0], r15
jmp 0x14000e86f
mov qword [rbx + 0xe8], r15
mov qword [rbx + 0xf0], r15
inc dword [rbx + 0xf8]
jmp 0x14000e776

Function at 0x14000f900
Capabilities:
Set socket configuration

Disassembly:
push rsi
sub rsp, 0x30
mov rsi, rcx
test rdx, rdx
je 0x14000f915
mov rcx, rdx
call fcn.14026c948
mov rcx, qword [rsi + 0xa0]
mov dword [rsp + 0x20], 0
mov edx, 0xffff
mov r8d, 0x7010
xor r9d, r9d
call qword [sym.imp.WS2_32.dll_setsockopt]
test byte [rsi + 0x9c], 2
jne 0x14000f959
lea rcx, [rsi + 0x10]
mov rax, qword [rsi + 0x10]
call qword [rax + 0x40]
test al, 1
je 0x14000f959
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
test byte [rsi + 0x9c], 4
jne 0x14000f974
mov rax, qword [rsi + 0x10]
add rsi, 0x10
mov rcx, rsi
call qword [rax + 0x40]
test al, 2
jne 0x14000f97a
add rsp, 0x30
pop rsi
ret
mov rax, qword [rsi]
mov edx, 2
mov rcx, rsi
call qword [rax + 0x28]
mov rcx, rax
mov edx, 2
add rsp, 0x30
pop rsi
jmp fcn.1400e2470
Function at 0x140013270
Capabilities:
Get common file path

Disassembly:
push rsi
push rdi
sub rsp, 0x28
xor ecx, ecx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
test eax, eax
je 0x1400132bd
mov esi, eax
cdqe
inc esi
lea rcx, [rax*2 + 2]
call sym.dart_precompiled_runtime_product.exe_Dart_ScopeAllocate
mov rdi, rax
mov ecx, esi
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
mov rcx, rdi
mov rdx, 0xffffffffffffffff
xor r8d, r8d
add rsp, 0x28
pop rdi
pop rsi
jmp fcn.1400ee6a0
xor eax, eax
add rsp, 0x28
pop rdi
pop rsi
ret

Function at 0x1400132d0
Capabilities:
Set current directory

Disassembly:
push r14
push rsi
push rdi
push rbx
sub rsp, 0x38
mov rcx, rdx
call fcn.1400eb650
mov rsi, rax
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov rbx, qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov ecx, 0xfde9
xor edx, edx
mov r8, rax
mov r9d, 0xffffffff
call rbx
movsxd r14, eax
lea rcx, [r14 + r14]
call fcn.140023770
mov rdi, rax
mov dword [rsp + 0x28], r14d
mov qword [rsp + 0x20], rax
mov ecx, 0xfde9
xor edx, edx
mov r8, rsi
mov r9d, 0xffffffff
call rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
test eax, eax
setne bl
mov rcx, rdi
call fcn.14026c948
mov eax, ebx
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop r14
ret

Function at 0x1400138f0
Capabilities:
Get system information on windows

Disassembly:
push rsi
sub rsp, 0x60
mov rax, qword [0x1403a6f08]
xor rax, rsp
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0x28]
call qword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov esi, dword [rsp + 0x48]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140263800
mov eax, esi
add rsp, 0x60
pop rsi
ret