joyce8/EMBER2024-capa huggingface dataset:
Function at 0x43c460
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x462e4d
mov eax, dword fs:[0]
push eax
sub esp, 0x1d4
mov eax, dword [0x475044]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x1d4]
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x1a4], eax
call fcn.0040e9b0
cmp byte [edi], 0
mov dword [ebp - 4], 0
je 0x43c508
push dword [edi + 0xc]
lea eax, [ebp - 0x1b0]
push dword [edi + 8]
push eax
call fcn.0043c310
push eax
push 0xdb0
lea eax, [ebp - 0x1e0]
mov byte [ebp - 4], 1
push eax
call fcn.0043c3f0
push eax
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 2
call fcn.0040ece0
push dword [ebp - 0x1e0]
call fcn.00452356
push dword [ebp - 0x1b0]
mov byte [ebp - 4], 0
call fcn.00452356
add esp, 8
lea eax, [edi + 0x18]
mov ecx, eax
mov dword [ebp - 0x1a0], eax
call fcn.0040f140
mov esi, eax
lea eax, [ebp - 0x1c8]
lea ecx, [esi + 1]
push ecx
push eax
lea ecx, [edi + 0x18]
call fcn.00425d80
mov eax, dword [edi + 0x18]
lea ecx, [ebp - 0x1bc]
add eax, 2
mov byte [ebp - 4], 3
lea eax, [eax + esi*2]
push eax
call fcn.0040eb50
lea eax, [ebp - 0x1c8]
mov byte [ebp - 4], 4
push eax
mov ecx, ebx
call fcn.0043c7e0
lea eax, [ebp - 0x1bc]
mov ecx, ebx
push eax
call fcn.0043c7e0
lea eax, [ebp - 0x1c8]
push eax
lea ecx, [ebp - 0x19c]
call fcn.0040ebb0
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 5
call fcn.0040ef20
lea eax, [ebp - 0x1bc]
push eax
lea ecx, [ebp - 0x19c]
call fcn.0040efd0
lea ecx, [ebp - 0x19c]
call fcn.0040ef20
lea eax, [ebp - 0x1d4]
push eax
lea ecx, [ebp - 0x19c]
call fcn.0040efd0
lea ecx, [ebp - 0x19c]
call fcn.0040ef20
cmp byte [edi + 1], 0
je 0x43c628
push 0x3f4
lea eax, [ebp - 0x1b0]
push eax
call fcn.00418e80
push eax
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 6
call fcn.0040efd0
push dword [ebp - 0x1b0]
mov byte [ebp - 4], 5
call fcn.00452356
add esp, 4
lea ecx, [ebp - 0x19c]
push 0x4659b8
call fcn.0040f010
push 0
lea eax, [ebp - 0x30]
push eax
lea eax, [edi + 0x10]
push eax
call fcn.004188a0
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x19c]
call fcn.0040f010
push dword [ebp + 8]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push dword [ebx + 4]
call edi
push dword [ebp - 0x19c]
push eax
call fcn.0041a1b0
push dword [ebp - 0x1a0]
lea eax, [ebp - 0x1b0]
push eax
call fcn.00412850
push 0x110
push 0x160
lea ecx, [ebp - 0x190]
push ecx
push 0x80
push dword [eax]
call dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
push dword [ebp - 0x1b0]
mov esi, eax
call fcn.00452356
add esp, 4
test esi, esi
je 0x43c6a5
push dword [ebp - 0x1a4]
push dword [ebx + 4]
call edi
push 0
push dword [ebp - 0x190]
push 0x170
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push dword [ebp - 0x19c]
call fcn.00452356
push dword [ebp - 0x1bc]
call fcn.00452356
push dword [ebp - 0x1c8]
call fcn.00452356
push dword [ebp - 0x1d4]
call fcn.00452356
add esp, 0x10
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00452140
mov esp, ebp
pop ebp
ret 0xc
Function at 0x43c9f0
Capabilities:
Access peb ldr_data
Get ntdll base address
Get process heap flags
Get process heap force flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x462ec4
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push esi
push edi
mov eax, dword [0x475044]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x10], edi
lea ecx, [edi + 0x38]
mov dword [edi], 0x10000
mov dword [edi + 8], 0xffffffff
mov dword [edi + 0xc], 0xffffffff
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x18], 0xffffffff
mov dword [edi + 0x1c], 0xffffffff
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
mov dword [edi + 0x28], 0xffffffff
mov dword [edi + 0x2c], 0xffffffff
mov dword [edi + 0x30], 0xffffffff
mov dword [edi + 0x34], 0xffffffff
call fcn.0040e9b0
lea ecx, [edi + 0x44]
mov dword [ebp - 4], 0
call fcn.0040e9b0
lea ecx, [edi + 0x50]
mov byte [ebp - 4], 1
call fcn.0040e9b0
mov dword [edi + 0x5c], 0
mov dword [edi + 0x60], 0
mov dword [edi + 0x64], 0
lea esi, [edi + 0x68]
mov byte [ebp - 4], 3
mov dword [ebp - 0x14], esi
mov ecx, esi
mov dword [ebp - 0x18], esi
call fcn.0040e9b0
lea ecx, [esi + 0xc]
mov byte [ebp - 4], 4
call fcn.0040e9b0
add esi, 0x18
mov byte [ebp - 4], 5
mov ecx, esi
mov dword [ebp - 0x18], esi
call fcn.0040e9b0
lea ecx, [esi + 0xc]
mov byte [ebp - 4], 6
call fcn.0040e9b0
lea eax, [edi + 0x98]
push eax
call fcn.0040bef0
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x440670
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c4
mov eax, dword [0x475044]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x478c58], 0
mov edx, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0x10]
jne 0x4406f0
push esi
push edx
lea eax, [ebp - 0x2c4]
push eax
call fcn.0040fac0
push 0x4010
push 0x160
mov ecx, dword [eax]
lea eax, [ebp - 0x164]
push eax
mov eax, dword [ebp + 0xc]
or eax, 0x80
push eax
push ecx
call dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
push dword [ebp - 0x2c4]
mov esi, eax
call fcn.00452356
mov ecx, dword [ebp - 0x160]
add esp, 4
mov eax, esi
mov dword [edi], ecx
pop esi
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00452140
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [0x478c50]
test eax, eax
je 0x440717
push 0x4010
push 0x2b4
lea ecx, [ebp - 0x2b8]
push ecx
mov ecx, dword [ebp + 0xc]
or ecx, 0x80
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x2b4]
mov dword [edi], ecx
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop edi
call fcn.00452140
mov esp, ebp
pop ebp
ret 0xc

Function at 0x4407d0
Capabilities:
Get file system object information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x164
mov eax, dword [0x475044]
xor eax, ebp
mov dword [ebp - 4], eax
mov al, byte [ebp + 8]
mov edx, 0x4011
test al, al
mov ecx, 0x4110
lea eax, [ebp - 0x164]
cmovne ecx, edx
push ecx
push 0x160
push eax
push 0x90
push 0x4647b2
call dword [sym.imp.SHELL32.dll_SHGetFileInfoA]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00452140
mov esp, ebp
pop ebp
ret 4

Function at 0x440b80
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x46340e
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push esi
mov eax, dword [0x475044]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
push 0xd66
push dword [esi + 4]
call dword [sym.imp.USER32.dll_IsDlgButtonChecked]
cmp eax, 1
lea ecx, [ebp - 0x18]
sete al
mov byte [esi + 0x30], al
call fcn.0040e9b0
lea eax, [ebp - 0x18]
mov dword [ebp - 4], 0
push eax
lea ecx, [esi + 8]
call fcn.0041a520
lea ecx, [ebp - 0x18]
call fcn.0040f1f0
lea ecx, [ebp - 0x18]
call fcn.0040f1a0
lea eax, [ebp - 0x18]
push eax
call fcn.00416ea0
lea eax, [ebp - 0x18]
push eax
lea ecx, [esi + 0xc]
call fcn.0040ece0
push 1
push dword [esi + 4]
call dword [sym.imp.USER32.dll_EndDialog]
push dword [ebp - 0x18]
call fcn.00452356
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret
Function at 0x4410e0
Capabilities:
Access peb ldr_data
Get ntdll base address
Get process heap flags

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4634d3
mov eax, dword fs:[0]
push eax
push ecx
push esi
mov eax, dword [0x475044]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x10], esi
mov dword [esi + 4], 0
mov dword [esi], vtable.CExtractDialog.0
lea ecx, [esi + 0xc]
mov dword [ebp - 4], 0
mov dword [esi + 8], 0
call fcn.0040e9b0
lea ecx, [esi + 0x18]
mov byte [ebp - 4], 1
call fcn.0040e9b0
mov word [esi + 0x24], 0
mov eax, esi
mov word [esi + 0x30], 0
mov byte [esi + 0x30], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
ret

Function at 0x441550
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x84
mov eax, dword [0x475044]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov edi, dword [ebp + 8]
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
mov dword [ebp - 0x84], 0x420041
xor edx, edx
mov dword [ebp - 0x80], 0x440043
mov dword [ebp - 0x7c], 0x460045
mov dword [ebp - 0x78], 0x480047
mov dword [ebp - 0x74], 0x4a0049
mov dword [ebp - 0x70], 0x4c004b
mov dword [ebp - 0x6c], 0x4e004d
mov dword [ebp - 0x68], 0x50004f
mov dword [ebp - 0x64], 0x520051
mov dword [ebp - 0x60], 0x540053
mov dword [ebp - 0x5c], 0x560055
mov dword [ebp - 0x58], 0x580057
mov dword [ebp - 0x54], 0x5a0059
mov dword [ebp - 0x50], 0x620061
mov dword [ebp - 0x4c], 0x640063
mov dword [ebp - 0x48], 0x660065
mov dword [ebp - 0x44], 0x680067
mov dword [ebp - 0x40], 0x6a0069
mov dword [ebp - 0x3c], 0x6c006b
mov dword [ebp - 0x38], 0x6e006d
mov dword [ebp - 0x34], 0x70006f
mov dword [ebp - 0x30], 0x720071
mov dword [ebp - 0x2c], 0x740073
mov dword [ebp - 0x28], 0x760075
mov dword [ebp - 0x24], 0x780077
mov dword [ebp - 0x20], 0x7a0079
mov dword [ebp - 0x1c], 0x310030
mov dword [ebp - 0x18], 0x330032
mov dword [ebp - 0x14], 0x350034
mov dword [ebp - 0x10], 0x370036
mov dword [ebp - 0xc], 0x390038
mov dword [ebp - 8], 0x2f002b
test esi, esi
jle 0x44168f
nop word [eax + eax]
movzx ecx, word [edi + edx*2]
xor eax, eax
cmp word [ebp + eax*2 - 0x84], cx
je 0x44168a
inc eax
cmp eax, 0x40
jb 0x441666
pop edi
xor al, al
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00452140
mov esp, ebp
pop ebp
ret 4
inc edx
cmp edx, esi
jl 0x441660
mov ecx, dword [ebp - 4]
mov al, 1
pop edi
xor ecx, ebp
pop esi
call fcn.00452140
mov esp, ebp
pop ebp
ret 4
Function at 0x451440
Capabilities:
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x218
mov eax, dword [0x475044]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
push 0x208
mov dword [ebp - 0x214], eax
lea eax, [ebp - 0x20c]
push 0
push eax
call fcn.00453bd0
add esp, 0xc
lea eax, [ebp - 0x20c]
push 0x104
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0
push 0x80
push 3
push 0
push 1
push SysReAllocStringLen
lea eax, [ebp - 0x20c]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
mov dword [ebp - 0x210], 0
lea eax, [ebp - 0x210]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, eax
cmp edi, 0xffffffff
jne 0x4514d6
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jne 0x4514e8
mov eax, dword [ebp - 0x210]
xor ecx, ecx
add ecx, edi
mov dword [esi], ecx
adc eax, 0
mov dword [esi + 4], eax
push dword [esi]
mov dword [ebp - 0x218], 0
call fcn.0045234d
mov ecx, dword [ebp - 0x214]
add esp, 4
push 0
mov dword [ecx], eax
lea ecx, [ebp - 0x218]
push ecx
push dword [esi]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00452140
mov esp, ebp
pop ebp
ret 8
Function at 0x2315a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
je 0x23180d
jne 0x23180d
je 0x2311e6
jne 0x2312ed
add byte [eax], al
add byte [eax], al
Function at 0x233620
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x23c
mov edi, dword [ebp + 0xc]
je 0x2337a8
jne 0x2337a8
Function at 0x234860
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
je 0x2348b6
jne 0x2348b6
jmp 0x3e8f83b2
inc ebp
cmp ebp, dword [esi + edi + 0x18]
jb 0x2348d7
xor eax, eax
jmp 0x234890
mov eax, dword [esp]
je 0x23487c
jne 0x23487c
jmp 0x682fff8f
movzx ecx, word [eax + ebp*2]
xor eax, eax
cmp dword [esi + edi + 0x14], ecx
jb 0x234890
mov eax, dword [esi + edi + 0x1c]
je 0x2348f9
jne 0x2348f9
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esi + edi + 0x24]
mov ebx, dword [esi + edi + 0x20]
xor ebp, ebp
je 0x23491b
jne 0x23491b
je 0x2324da
jne 0x23140a
push eax
mov edx, dword [esp + 0x1c]
xor eax, eax
mov ecx, dword [edx]
cmp dword [ecx + 0x7c], 0
je 0x234890
je 0x234938
jne 0x234938
je 0x23369f
jne 0x232cb7
je 0x1ce4d66
mov eax, dword [ebx + ebp*4]
add eax, esi
push eax
push dword [esp + 0x24]
mov eax, dword [esp + 0x20]
call dword [eax + 0x24]
je 0x234907
invalid
jne 0x234907
je 0x23268a
jne 0x232922
jmp 0x3b1558a
lea ecx, [esi + ecx*4]
add esi, dword [eax + ecx]
mov eax, esi
je 0x234890
jne 0x234890
je 0x84330990
test eax, eax
je 0x234874
invalid
je 0x234869
jne 0x234869
add eax, esi
add ebx, esi
mov dword [esp], eax
nop word cs:[eax + eax]
nop dword [eax]
je 0x2348d7
jne 0x2348d7
add byte [eax], al
add byte [eax], al
mov esi, dword [edx + 4]
mov edi, dword [ecx + 0x78]
cmp dword [edi + esi + 0x18], 0
je 0x234890
cmp dword [esi + edi + 0x14], 0
je 0x234890
je 0x23489c
jne 0x23489c
push ebp
push ebx
je 0x234a05
jne 0x234a05
je 0x2b8a3b
mov dword [eax + 8], 0
mov dword [eax + 0x10], 0
mov ebx, ecx
push dword [esp + 0x20]
push dword [esp + 0x20]
push eax
je 0x2349d8
add byte [eax], al
add bh, al
inc eax
adc byte [eax], al
add byte [eax], al
add byte [ecx + 0x2474ffcb], cl
and bh, bh
je 0x2349ab
and byte [eax + 0x74], dl
dec ebp
jne 0x2349d8
je 0x2313d2
jne 0x23363b
add byte [eax], al
add byte [eax], al
test edi, edi
je 0x2349fb
push 0x8000
push 0
push edi
call dword [ebx + 0xc]
je 0x2349fb
or al, 0x74
dec ebp
jne 0x2349fb
jmp 0x815fa740
mov ebx, dword [ebp + 0x3c]
cmp dword [ebp + ebx], 0x4550
jne 0x2349fb
mov edi, dword [esp + 0x14]
add ebx, ebp
push 4
je 0x2349ca
jne 0x2349ca
push 0x3000
push 0x14
push 0
je 0x234a1c
jne 0x234a1c
jmp 0xec66322d
push ecx
call fcn.00233620
add esp, 0x10
test eax, eax
je 0x2349f0
mov esi, edi
mov dword [edi + 0x10], 1
jmp 0x2349fb
je 0x23499d
jne 0x23499d
pop ebx
pop ebp
ret
mov eax, esi
pop esi
pop edi
je 0x2349f4
jne 0x2349f4
je 0x6caea060
push edi
push esi
mov ebp, dword [esp + 0x18]
and al, 0x18
xor esi, esi
movzx eax, word [ebp]
cmp eax, 0x5a4d
jne 0x2349fb
je 0x2349b1
jne 0x2349b1
call dword [edi]
mov ecx, edi
mov dword [eax + 4], ebp
mov dword [eax], ebx
mov edi, eax
mov dword [eax + 0xc], 0
je 0x234970
jne 0x234970
nop word [eax + eax]
ret
Function at 0x237f80
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x1400
call fcn.00274b40
mov eax, dword [esp + 0x1418]
movdqa xmm4, xmmword [0x27a290]
movdqa xmm6, xmmword [0x27a2a0]
mov esi, 0xfffffc00
pxor xmm2, xmm2
nop
movdqa xmm3, xmm4
movdqa xmm7, xmmword [0x27a2c0]
movdqa xmm0, xmm4
movdqa xmm1, xmm4
movdqa xmm5, xmm4
pand xmm3, xmm6
psrld xmm0, 6
pand xmm1, xmmword [0x27a320]
pcmpeqd xmm3, xmm2
pand xmm3, xmmword [0x27a2b0]
pcmpeqd xmm1, xmm2
pand xmm1, xmmword [0x27a330]
pxor xmm0, xmm3
movdqa xmm3, xmm4
pand xmm3, xmm7
movdqa xmm7, xmmword [0x27a2e0]
pcmpeqd xmm3, xmm2
pand xmm3, xmmword [0x27a2d0]
pand xmm5, xmm7
movdqa xmm7, xmmword [0x27a350]
pcmpeqd xmm5, xmm2
pand xmm5, xmmword [0x27a2f0]
pxor xmm3, xmm0
pand xmm0, xmm6
pcmpeqd xmm0, xmm2
pxor xmm1, xmm5
movdqa xmm5, xmm4
pand xmm5, xmmword [0x27a340]
pcmpeqd xmm5, xmm2
pand xmm5, xmm7
pxor xmm5, xmm1
movdqa xmm1, xmm4
paddd xmm4, xmmword [0x27a2e0]
pand xmm1, xmmword [str._b_b_b_b]
pxor xmm5, xmm3
pand xmm3, xmmword [0x27a2c0]
pcmpeqd xmm1, xmm2
pcmpeqd xmm3, xmm2
pand xmm1, xmmword [0x27a310]
pand xmm3, xmm7
pxor xmm5, xmm1
movdqa xmm1, xmm0
pand xmm0, xmmword [0x27a370]
pandn xmm1, xmmword [0x27a360]
psrld xmm5, 2
por xmm0, xmm1
pxor xmm0, xmm5
pxor xmm0, xmm3
movdqu xmmword [esp + esi + 0x400], xmm0
add esi, 0x10
jne 0x237fb0
mov esi, eax
mov eax, 0xfffffc00
shr esi, 2
nop word [eax + eax]
mov ebx, dword [esp + eax + 0x400]
movzx ecx, bl
shr ebx, 8
xor ebx, dword [esp + ecx*4]
movzx ecx, bl
shr ebx, 8
xor ebx, dword [esp + ecx*4]
movzx ecx, bl
shr ebx, 8
xor ebx, dword [esp + ecx*4]
mov dword [esp + eax + 0x800], ebx
add eax, 4
jne 0x2380d0
mov eax, dword [esp]
mov edi, dword [esp + 0x400]
xor ebp, ebp
mov ebx, eax
shr ebx, 8
nop
mov ecx, eax
xor ecx, ebp
movzx ecx, cl
mov ecx, dword [esp + ecx*4]
xor ecx, ebx
movzx edx, cl
shr ecx, 8
xor ecx, dword [esp + edx*4]
movzx edx, cl
shr ecx, 8
mov edx, dword [esp + edx*4]
xor edx, edi
xor edx, ecx
mov dword [esp + ebp*4 + 0x800], edx
inc ebp
cmp ebp, 0x100
jne 0x238110
movzx eax, al
Function at 0x239d30
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
je 0x239fb2
jne 0x239fb2
jmp 0x4b0869b

Function at 0x23adf0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
je 0x23b0ab
jne 0x23b0ab
je 0x2393c2
jne 0x23a2d9
add byte [eax], al
add byte [eax], al
push ebx
push edi
push esi
je 0x23b126
jne 0x23b126
add byte [eax], al
add byte [eax], al
Function at 0x23b410
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov dword [esp + 0x30], ecx
push 1
je 0x23958c
jne 0x23958c
add byte [eax], al
add byte [eax], al
mov ebp, dword [esi + 8]
je 0x239116
jne 0x239116
add byte [eax], al
add byte [eax], al
push ebp
push eax
push 2
push edx
push ebx
call fcn.0023eab0
test eax, eax
je 0x238ea6
je 0x239393
jne 0x239393
add byte [eax], al
add byte [eax], al
mov byte [esp + 0x17], 0
mov byte [esp + 0x18], 0
mov byte [esp + 0x19], 0
mov byte [esp + 0x1a], 0
je 0x238eb3
jne 0x238eb3
je 0xf94319e4
invalid
je 0x23b867
jne 0x23b867
add byte [eax], al
add byte [eax], al
mov eax, dword [esp + 8]
je 0x23b5bc
jne 0x23b5bc
je 0x23b68c
jne 0x23b68c
add byte [eax], al
add byte [eax], al
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x38
mov byte [esp + 8], 0
je 0x23b7c3
jne 0x23b7c3
invalid
mov byte [esp + 0xb], 0
mov byte [esp + 0xc], 0
mov byte [esp + 0xd], 0
mov byte [esp + 0xe], 0
push 0x23b665
ret
mov ecx, dword [esp + 0x14]
cmp ecx, 3
push 0x23b7e3
ret
je 0x23b791
jne 0x23b791
jmp 0x18c39c3
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], eax
sub esp, 0x14
movsd xmm0, qword [esp + 0x2c]
mov edi, dword [ebp + 8]
push 0x23b46b
ret
je 0x23b440
jne 0x23b440
add byte [eax], al
add byte [eax], al
test eax, eax
je 0x23b880
jne 0x23b880
lea eax, [esp + 0x14]
push 0
push eax
push edi
jmp 0x23b770
je 0x852c7b15
ror byte [edi], 0x84
retf
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
je 0x23b7bb
jne 0x23b7bb
push dword [esp + 0x10]
push dword [ebp + 8]
call dword [sym.imp.HDWOMH_6aod_QddeNmda]
test eax, eax
je 0x23b7e9
je 0x23b596
jne 0x23b596
add byte [eax], al
add byte [eax], al
jmp 0x23b764
pop ebp
ret 8
mov byte [esp + 9], 0
mov byte [esp + 0xa], 0
je 0x23b576
jne 0x23b576
push 0x23b5bc
ret
mov edx, dword [esp + 4]
push edx
call fcn.00274b33
add esp, 4
je 0x23b5a3
jne 0x23b5a3
je 0xf5ffa93
test dh, cl
std
invalid
push ebp
je 0x23b636
jne 0x23b636
je 0x238fa4
jne 0x238738
je 0x23b764
push 0x23b6c7
ret
Function at 0x262fc0
Capabilities:
Encrypt data using salsa20 or chacha

Disassembly:
push esi
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov esi, dword [edx]
mov dword [eax + 0x10], esi
mov esi, dword [edx + 4]
mov dword [eax + 0x14], esi
mov esi, dword [edx + 8]
mov dword [eax + 0x18], esi
mov esi, dword [edx + 0xc]
mov dword [eax + 0x1c], esi
lea esi, [edx + 0x10]
cmp ecx, 0x100
cmovne esi, edx
mov ecx, str.expand_32_byte_kexpand_16_byte_k
mov edx, 0x27a690
cmove edx, ecx
mov ecx, dword [esi]
mov dword [eax + 0x20], ecx
mov ecx, dword [esi + 4]
mov dword [eax + 0x24], ecx
mov ecx, dword [esi + 8]
mov dword [eax + 0x28], ecx
mov ecx, dword [esi + 0xc]
mov dword [eax + 0x2c], ecx
mov ecx, dword [edx]
mov esi, dword [edx + 4]
mov dword [eax], ecx
mov dword [eax + 4], esi
mov ecx, dword [edx + 8]
mov dword [eax + 8], ecx
mov ecx, dword [edx + 0xc]
mov dword [eax + 0xc], ecx
pop esi
ret

Function at 0x2630f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x7c
mov dword [esp + 0x78], ecx
mov eax, dword [edx]
mov dword [esp + 0x38], eax
mov eax, dword [edx + 4]
mov dword [esp + 0x3c], eax
mov eax, dword [edx + 8]
mov dword [esp + 0x40], eax
mov eax, dword [edx + 0xc]
mov dword [esp + 0x44], eax
mov eax, dword [edx + 0x10]
mov dword [esp + 0x48], eax
mov eax, dword [edx + 0x14]
mov dword [esp + 0x4c], eax
mov eax, dword [edx + 0x18]
mov dword [esp + 0x50], eax
mov eax, dword [edx + 0x1c]
mov dword [esp + 0x54], eax
mov eax, dword [edx + 0x20]
mov dword [esp + 0x58], eax
mov eax, dword [edx + 0x24]
mov dword [esp + 0x5c], eax
mov ebp, dword [edx + 0x28]
mov ebx, dword [edx + 0x2c]
mov edi, dword [edx + 0x30]
mov esi, dword [edx + 0x34]
mov ecx, dword [edx + 0x38]
mov eax, dword [edx + 0x3c]
mov dword [esp + 0x2c], 0xfffffff8
mov dword [esp + 0x74], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x68], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x64], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x60], ebp
mov dword [esp + 0x1c], ebp
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov ebp, dword [esp + 0x54]
Function at 0x26c660
Capabilities:
Hash data using sha256

Disassembly:
mov eax, dword [esp + 4]
test eax, eax
je 0x26c6f3
mov dword [eax + 0x48], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 0xc], 0x6a09e667
mov dword [eax + 8], 0xf3bcc908
mov dword [eax + 0x14], 0xbb67ae85
mov dword [eax + 0x10], 0x84caa73b
mov dword [eax + 0x1c], 0x3c6ef372
mov dword [eax + 0x18], 0xfe94f82b
mov dword [eax + 0x24], 0xa54ff53a
mov dword [eax + 0x20], 0x5f1d36f1
mov dword [eax + 0x2c], 0x510e527f
mov dword [eax + 0x28], 0xade682d1
mov dword [eax + 0x34], 0x9b05688c
mov dword [eax + 0x30], 0x2b3e6c1f
mov dword [eax + 0x3c], 0x1f83d9ab
mov dword [eax + 0x38], 0xfb41bd6b
mov dword [eax + 0x44], 0x5be0cd19
mov dword [eax + 0x40], 0x137e2179
xor eax, eax
ret
mov eax, 1
ret

Function at 0x26c7f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x320
mov eax, 0xffffffc0
nop word cs:[eax + eax]
nop
movsd xmm0, qword [ecx + eax + 0x48]
movsd qword [esp + eax + 0x90], xmm0
add eax, 8
jne 0x26c810
mov dword [esp + 0x94], ecx
mov eax, 0xffffff80
mov ecx, dword [edx + eax + 0x80]
mov esi, dword [edx + eax + 0x84]
bswap esi
bswap ecx
mov dword [esp + eax + 0x11c], ecx
mov dword [esp + eax + 0x118], esi
add eax, 8
jne 0x26c830
mov eax, 0xfffffe00
nop word [eax + eax]
mov esi, dword [esp + eax + 0x308]
mov ecx, dword [esp + eax + 0x30c]
mov edi, ecx
shld edi, esi, 0xd
mov edx, esi
shld edx, ecx, 0xd
mov ebx, ecx
shld ebx, esi, 0x1a
xor ebx, edi
mov edi, ecx
shld edi, esi, 3
shld esi, ecx, 3
xor ebx, esi
mov dword [esp + 8], ebx
shr ecx, 6
xor ecx, edx
xor ecx, edi
mov edi, dword [esp + eax + 0x2a0]
mov edx, dword [esp + eax + 0x2a4]
mov esi, edx
shld esi, edi, 0x1f
mov ebx, edx
shld ebx, edi, 0x19
xor ebx, esi
mov esi, edx
shld esi, edi, 0x18
xor ebx, esi
mov esi, edi
shld esi, edx, 0x1f
shld edi, edx, 0x18
shr edx, 7
xor edx, esi
xor edx, edi
mov esi, dword [esp + eax + 0x298]
add esi, dword [esp + eax + 0x2e0]
mov edi, dword [esp + eax + 0x29c]
adc edi, dword [esp + eax + 0x2e4]
add esi, dword [esp + 8]
adc edi, ecx
add esi, ebx
adc edi, edx
mov dword [esp + eax + 0x318], esi
mov dword [esp + eax + 0x31c], edi
add eax, 8
jne 0x26c860
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x10], eax
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov eax, dword [esp + 0x84]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x54]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x34], ecx
mov eax, dword [esp + 0x58]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x30], 0
nop word [eax + eax]