joyce8/EMBER2024-capa huggingface dataset:
Function at 0x4184e9
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x438689
mov eax, dword fs:[0]
push eax
sub esp, 0x38
mov eax, dword [0x44c054]
xor eax, esp
mov dword [esp + 0x30], eax
push ebx
push esi
push edi
mov eax, dword [0x44c054]
xor eax, esp
push eax
lea eax, [esp + 0x48]
mov dword fs:[0], eax
mov edi, ecx
cmp byte [edi + 0x25], 0
mov esi, dword [ebp + 8]
je 0x418530
mov eax, dword [edi]
call dword [eax + 0x14]
mov edx, esi
lea ecx, [esp + 0x28]
mov byte [edi + 0x25], 1
call fcn.004069bf
and dword [esp + 0x50], 0
mov esi, dword [sym.imp.MSVCR110.dll_wcslen]
and dword [esp + 0x20], 0
xor eax, eax
mov ebx, str.User_Agent:_Adobe_Log_Transport_r_n
push ebx
mov dword [esp + 0x28], 7
mov word [esp + 0x14], ax
call esi
pop ecx
push eax
push ebx
lea ecx, [esp + 0x18]
call fcn.0040f340
mov ebx, str.Content_Type:_multipart_form_data__boundaryxxxxx_r_n
push ebx
mov byte [esp + 0x54], 1
call esi
pop ecx
push eax
push ebx
lea ecx, [esp + 0x18]
call fcn.0040f340
mov ebx, str.Content_Length:_0
push ebx
call esi
pop ecx
push eax
push ebx
lea ecx, [esp + 0x18]
call fcn.0040f340
lea eax, [edi + 0xc]
push eax
lea eax, [edi + 4]
push eax
push 0
push 0
push edi
lea eax, [esp + 0x24]
push eax
lea eax, [esp + 0x40]
push eax
mov ecx, edi
call fcn.00418158
push 0
push 1
lea ecx, [esp + 0x18]
mov bl, al
mov word [edi + 0x24], 1
call fcn.0040f340
push 0
push 1
lea ecx, [esp + 0x30]
call fcn.0040f340
mov al, bl
mov ecx, dword [esp + 0x48]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x30]
xor ecx, esp
call fcn.0041d508
mov esp, ebp
pop ebp
ret 4

Function at 0x418601
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4386c1
mov eax, dword fs:[0]
push eax
sub esp, 0x40
mov eax, dword [0x44c054]
xor eax, esp
mov dword [esp + 0x38], eax
push ebx
push esi
push edi
mov eax, dword [0x44c054]
xor eax, esp
push eax
lea eax, [esp + 0x50]
mov dword fs:[0], eax
mov esi, ecx
cmp byte [esi + 0x25], 0
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov dword [esp + 0x14], eax
je 0x418656
mov eax, dword [esi]
call dword [eax + 0x14]
mov eax, dword [esp + 0x14]
mov edx, eax
lea ecx, [esp + 0x30]
mov byte [esi + 0x25], 1
call fcn.004069bf
and dword [esp + 0x58], 0
and dword [esp + 0x28], 0
xor eax, eax
mov dword [esp + 0x2c], 7
mov word [esp + 0x18], ax
lea eax, [esp + 0x18]
push eax
push ebx
push edi
mov byte [esp + 0x64], 1
call fcn.00418019
lea eax, [esi + 0xc]
push eax
lea eax, [esi + 4]
push eax
push 0
push 0
push esi
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x48]
push eax
mov ecx, esi
call fcn.00418158
push 0
push 1
lea ecx, [esp + 0x20]
mov bl, al
mov word [esi + 0x24], 1
call fcn.0040f340
push 0
push 1
lea ecx, [esp + 0x38]
call fcn.0040f340
mov al, bl
mov ecx, dword [esp + 0x50]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x38]
xor ecx, esp
call fcn.0041d508
mov esp, ebp
pop ebp
ret 0xc
Function at 0x41da2d
Capabilities:
Terminate process

Disassembly:
push 0xc
push 0x443180
call fcn.0041da80
xor ebx, ebx
mov dword [ebp - 4], ebx
mov eax, dword fs:[0x18]
mov edx, dword [eax + 4]
mov edi, ebx
mov esi, 0x44df58
mov ecx, edx
xor eax, eax
lock cmpxchg dword [esi], ecx
test eax, eax
je 0x41d900
cmp eax, edx
jne 0x41d8e9
xor esi, esi
inc esi
mov edi, esi
jmp 0x41d903
xor esi, esi
inc esi
cmp dword [0x44df5c], esi
jne 0x41d915
push 0x1f
call sub.MSVCR110.dll__amsg_exit
pop ecx
jmp 0x41d94f
cmp dword [0x44df5c], ebx
jne 0x41d949
mov dword [0x44df5c], esi
push 0x43a57c
push 0x43a568
call sub.MSVCR110.dll__initterm_e
pop ecx
pop ecx
test eax, eax
je 0x41d94f
mov dword [ebp - 4], 0xfffffffe
mov eax, 0xff
jmp 0x41da27
mov dword [0x44dd34], esi
cmp dword [0x44df5c], esi
jne 0x41d972
push 0x43a564
push 0x43a4fc
call sub.MSVCR110.dll__initterm
pop ecx
pop ecx
mov dword [0x44df5c], 2
test edi, edi
jne 0x41d97f
xor eax, eax
mov ecx, 0x44df58
xchg dword [ecx], eax
cmp dword [0x44df60], 0
je 0x41d9a1
push 0x44df60
call fcn.0040f340
pop ecx
test eax, eax
je 0x41d9a1
push ebx
push 2
push ebx
call dword [0x44df60]
mov ecx, dword [0x44dd40]
mov eax, dword [sym.imp.MSVCR110.dll___initenv]
mov dword [eax], ecx
push dword [0x44dd40]
push dword [0x44dd3c]
push dword [0x44dd38]
call fcn.0040f60f
add esp, 0xc
mov dword [0x44dd30], eax
cmp dword [0x44dd48], 0
jne 0x41da0c
push eax
call dword [sym.imp.MSVCR110.dll_exit]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
push ecx
push eax
call sub.MSVCR110.dll__XcptFilter
pop ecx
pop ecx
ret
cmp dword [0x44dd34], 0
jne 0x41da20
call dword [sym.imp.MSVCR110.dll__cexit]
mov eax, dword [0x44dd30]
mov dword [ebp - 4], 0xfffffffe
call fcn.0041dac5
ret
call fcn.0040f340
jmp 0x41d8c8
Function at 0x431fe0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x435528
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
mov eax, dword [0x44c054]
xor eax, esp
mov dword [esp + 0x18], eax
push ebx
push esi
push edi
mov eax, dword [0x44c054]
xor eax, esp
push eax
lea eax, [esp + 0x2c]
mov dword fs:[0], eax
mov esi, ecx
mov ecx, dword [esi]
mov ebx, dword [esp + 0x3c]
mov eax, dword [ecx + 0x13c]
sub eax, dword [ecx + 0x138]
cmp dword [esi + 0x70], eax
jne 0x43208f
mov eax, dword [esi + 0x7c]
sub eax, dword [esi + 0x78]
test eax, 0xfffffffc
je 0x43208f
mov eax, dword [esi + 0x7c]
cmp dword [eax - 4], ebx
jle 0x43208f
mov eax, dword [ecx + 0x14]
test al, 3
jne 0x43204d
test eax, 0x1000000
je 0x43208f
push str.Cant_terminate_a_sub_expression_with_an_alternation_operator_.
lea ecx, [esp + 0x14]
call fcn.0040f340
lea eax, [esp + 0x10]
push eax
mov eax, dword [esi + 0x5c]
sub eax, dword [esi + 0x54]
mov ecx, esi
push eax
push 0x11
mov dword [esp + 0x40], 0
call fcn.00429a30
cmp dword [esp + 0x24], 0x10
jb 0x43208b
push dword [esp + 0x10]
call sub.MSVCR110.dll_void___cdecl_operator_delete_void__
add esp, 4
xor al, al
jmp 0x4320fe
mov eax, dword [esi + 0x7c]
sub eax, dword [esi + 0x78]
test eax, 0xfffffffc
je 0x4320fc
lea esp, [esp]
mov eax, dword [esi + 0x7c]
mov edi, dword [eax - 4]
cmp edi, ebx
jle 0x4320fc
cmp dword [esi + 0x78], eax
je 0x4320b5
add eax, 0xfffffffc
mov dword [esi + 0x7c], eax
mov edx, dword [esi]
mov ecx, dword [edx + 0x13c]
sub ecx, dword [edx + 0x138]
add ecx, 3
and ecx, 0xfffffffc
add ecx, dword [edx + 0x138]
mov dword [edx + 0x13c], ecx
mov eax, dword [esi]
mov ecx, dword [eax + 0x13c]
sub ecx, dword [eax + 0x138]
mov eax, dword [eax + 0x138]
sub ecx, edi
mov dword [eax + edi + 8], ecx
mov eax, dword [esi + 0x7c]
sub eax, dword [esi + 0x78]
test eax, 0xfffffffc
jne 0x4320a0
mov al, 1
mov ecx, dword [esp + 0x2c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x18]
xor ecx, esp
call fcn.0041d508
add esp, 0x28
ret 4
Function at 0x401cb0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor esi, esi
mov ebx, edx
test edi, edi
je 0x401ce8
imul edx, dword [ecx], 0xe9
movzx eax, byte [esi + ebx]
add eax, edx
mov dword [ecx], eax
add byte [ecx + 4], al
xor byte [ecx + 5], al
movzx eax, byte [esi + ebx]
add byte [ecx + 6], al
movzx eax, byte [esi + ebx]
inc esi
xor byte [ecx + 7], al
cmp esi, edi
jb 0x401cc1
pop edi
pop esi
pop ebx
pop ebp
ret

Function at 0x407570
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
mov eax, edx
mov dword [ebp - 8], ecx
mov ecx, dword [0x5753ac]
push edi
push eax
mov dword [ebp - 4], eax
lea eax, [ebp - 0x20]
push eax
call fcn.00409130
test eax, eax
je 0x407699
call fcn.00406b60
mov edi, dword [ebp + 8]
mov ecx, edi
call fcn.00406e30
test eax, eax
je 0x407688
mov ecx, dword [eax + 0x20]
mov ebx, 1
call fcn.004b5a00
test eax, eax
jne 0x4075d5
mov ecx, edi
call fcn.00407280
test eax, eax
jne 0x4075d5
xor ebx, ebx
mov esi, DirectSoundCreate8
jmp 0x4075d8
mov esi, dword [ebp - 8]
call fcn.00406b70
test ebx, ebx
je 0x40767f
push 0x1c
call fcn.004d8b0d
add esp, 4
mov esi, eax
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventA]
mov dword [esi + 4], eax
mov eax, dword [ebp - 4]
push esi
mov dword [esi + 0xc], eax
mov eax, dword [ebp + 0xc]
push 0
push 0x407320
mov dword [esi + 8], 0
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], 0
call fcn.004e99a3
add esp, 0xc
cmp eax, 0xffffffff
je 0x407668
push 2
push eax
mov dword [esi], eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
push 0xffffffffffffffff
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 8]
mov dword [esi + 4], 0
mov dword [eax], esi
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x1c
push esi
call fcn.004d8b3d
add esp, 8
mov eax, DirectSoundCreate8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00406b70
mov eax, 0x80000003
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0x80000005
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x4174d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
test esi, esi
je 0x4174f9
mov eax, dword [edx + 0x10]
sub eax, 1
je 0x4174fc
sub eax, 1
jne 0x4174f9
mov eax, dword [ecx + 0x10]
sub eax, 1
jne 0x4174f9
push esi
call fcn.00417840
add esp, 4
pop esi
pop ebp
ret
cmp dword [ecx + 0x10], 1
jne 0x4174f9
cmp esi, 0x100
jae 0x417516
push esi
call fcn.00417690
add esp, 4
pop esi
pop ebp
ret
pop esi
pop ebp
jmp 0x417520
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x18
mov eax, ecx
movaps xmm6, xmmword [0x5460e0]
mov ecx, dword [edx]
mov dword [ebp - 8], ecx
push esi
mov ecx, dword [eax + 4]
mov esi, dword [eax]
sar ecx, 2
mov dword [ebp - 0x10], ecx
mov ecx, dword [edx + 4]
sar ecx, 2
push edi
mov edi, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [ebp - 4], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0x14], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [ebp - 4]
cmp edx, eax
mov dword [ebp - 0xc], esi
cmova edx, eax
cmp edi, ecx
cmova edi, ecx
test edi, edi
je 0x417684
mov eax, dword [ebp - 0x10]
mov ecx, edx
shl eax, 2
and edx, 1
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x14]
shr ecx, 1
shl eax, 2
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], edx
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 8]
dec edi
mov eax, esi
mov esi, ecx
test ecx, ecx
je 0x417611
xorps xmm5, xmm5
movq xmm4, qword [eax]
mov ecx, edx
punpcklbw xmm4, xmm5
add edx, 8
movaps xmm2, xmm4
pcmpgtw xmm2, xmm6
movq xmm3, qword [ecx]
movaps xmm0, xmm2
punpcklbw xmm3, xmm5
mov ecx, eax
movaps xmm1, xmm3
psrlw xmm0, 8
pmullw xmm3, xmm4
paddw xmm1, xmm4
psllw xmm1, 1
add eax, 8
pand xmm1, xmm2
psubw xmm1, xmm0
psrlw xmm3, 7
pxor xmm3, xmm2
psubw xmm3, xmm2
paddw xmm1, xmm3
packuswb xmm1, xmm5
movq qword [ecx], xmm1
sub esi, 1
jne 0x4175b2
cmp dword [ebp - 4], 0
je 0x41766a
movd xmm4, dword [edx]
xorps xmm5, xmm5
movd xmm3, dword [eax]
punpcklbw xmm4, xmm5
movaps xmm2, xmm4
punpcklbw xmm3, xmm5
pmullw xmm4, xmm3
paddw xmm2, xmm3
movaps xmm1, xmm3
psllw xmm2, 1
pcmpgtw xmm1, xmm6
movaps xmm0, xmm1
pand xmm2, xmm1
psrlw xmm0, 8
psrlw xmm4, 7
psubw xmm2, xmm0
pxor xmm4, xmm1
psubw xmm4, xmm1
paddw xmm2, xmm4
packuswb xmm2, xmm5
movd dword [eax], xmm2
mov esi, dword [ebp - 0xc]
add esi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
add dword [ebp - 8], eax
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0xc], esi
test edi, edi
jne 0x4175a3
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
Function at 0x417690
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [ecx]
mov dword [ebp - 8], eax
mov eax, dword [edx]
movaps xmm6, xmmword [0x5460e0]
mov dword [ebp - 4], eax
mov eax, dword [ecx + 4]
sar eax, 2
mov dword [ebp - 0x10], eax
mov eax, dword [edx + 4]
sar eax, 2
push esi
push edi
mov edi, dword [ecx + 0xc]
mov ecx, dword [ecx + 8]
cmp ecx, dword [edx + 8]
mov dword [ebp - 0x14], eax
cmova ecx, dword [edx + 8]
mov eax, dword [ebx + 8]
shl eax, 4
cmp edi, dword [edx + 0xc]
cwde
cmova edi, dword [edx + 0xc]
movd xmm0, eax
punpcklwd xmm0, xmm0
pshufd xmm7, xmm0, 0
test edi, edi
je 0x41782a
mov eax, dword [ebp - 0x10]
mov esi, ecx
shl eax, 2
and ecx, 1
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x14]
shr esi, 1
shl eax, 2
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], esi
dec edi
mov edx, ecx
cmp dword [ebp - 0xc], 0
je 0x4177a3
xorps xmm5, xmm5
nop
movq xmm4, qword [eax]
mov ecx, edx
punpcklbw xmm4, xmm5
add edx, 8
movaps xmm1, xmm4
pcmpgtw xmm1, xmm6
movq xmm3, qword [ecx]
movaps xmm0, xmm1
punpcklbw xmm3, xmm5
mov ecx, eax
movaps xmm2, xmm3
psrlw xmm0, 8
paddw xmm2, xmm4
pmullw xmm3, xmm4
psllw xmm2, 1
add eax, 8
pand xmm2, xmm1
psubw xmm2, xmm0
psrlw xmm3, 7
pxor xmm3, xmm1
psubw xmm3, xmm1
paddw xmm2, xmm3
psubw xmm2, xmm4
psllw xmm2, 4
pmulhw xmm2, xmm7
paddw xmm2, xmm4
packuswb xmm2, xmm5
movq qword [ecx], xmm2
sub esi, 1
jne 0x417730
mov ecx, dword [ebp - 4]
cmp dword [ebp - 0x18], 0
je 0x417810
movd xmm2, dword [edx]
xorps xmm5, xmm5
movd xmm4, dword [eax]
punpcklbw xmm2, xmm5
punpcklbw xmm4, xmm5
movaps xmm3, xmm2
paddw xmm3, xmm4
pmullw xmm2, xmm4
mov ecx, dword [ebp - 4]
movaps xmm1, xmm4
psllw xmm3, 1
pcmpgtw xmm1, xmm6
movaps xmm0, xmm1
pand xmm3, xmm1
psrlw xmm0, 8
psrlw xmm2, 7
psubw xmm3, xmm0
pxor xmm2, xmm1
psubw xmm2, xmm1
paddw xmm3, xmm2
psubw xmm3, xmm4
psllw xmm3, 4
pmulhw xmm3, xmm7
paddw xmm3, xmm4
packuswb xmm3, xmm5
movd dword [eax], xmm3
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x10]
add ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0xc]
mov dword [ebp - 8], eax
mov dword [ebp - 4], ecx
test edi, edi
jne 0x417723
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
Function at 0x417ae0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push esi
mov esi, dword [ebp + 8]
test esi, esi
je 0x417b09
mov eax, dword [edx + 0x10]
sub eax, 1
je 0x417b0c
sub eax, 1
jne 0x417b09
mov eax, dword [ecx + 0x10]
sub eax, 1
jne 0x417b09
push esi
call fcn.00417e50
add esp, 4
pop esi
pop ebp
ret
cmp dword [ecx + 0x10], 1
jne 0x417b09
cmp esi, 0x100
jae 0x417b26
push esi
call fcn.00417ca0
add esp, 4
pop esi
pop ebp
ret
pop esi
pop ebp
jmp 0x417b30
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x18
mov eax, ecx
movaps xmm6, xmmword [0x5460e0]
mov ecx, dword [edx]
mov dword [ebp - 8], ecx
push esi
mov ecx, dword [eax + 4]
mov esi, dword [eax]
sar ecx, 2
mov dword [ebp - 0x10], ecx
mov ecx, dword [edx + 4]
sar ecx, 2
push edi
mov edi, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [ebp - 4], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0x14], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [ebp - 4]
cmp edx, eax
mov dword [ebp - 0xc], esi
cmova edx, eax
cmp edi, ecx
cmova edi, ecx
test edi, edi
je 0x417c94
mov eax, dword [ebp - 0x10]
mov ecx, edx
shl eax, 2
and edx, 1
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x14]
shr ecx, 1
shl eax, 2
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], edx
mov dword [ebp - 0x14], eax
mov edx, dword [ebp - 8]
dec edi
mov eax, esi
mov esi, ecx
test ecx, ecx
je 0x417c21
xorps xmm5, xmm5
movq xmm4, qword [eax]
mov ecx, edx
punpcklbw xmm4, xmm5
add edx, 8
movq xmm3, qword [ecx]
mov ecx, eax
punpcklbw xmm3, xmm5
add eax, 8
movaps xmm2, xmm3
movaps xmm1, xmm3
pmullw xmm3, xmm4
paddw xmm1, xmm4
psllw xmm1, 1
pcmpgtw xmm2, xmm6
movaps xmm0, xmm2
psrlw xmm0, 8
pand xmm1, xmm2
psrlw xmm3, 7
psubw xmm1, xmm0
pxor xmm3, xmm2
psubw xmm3, xmm2
paddw xmm1, xmm3
packuswb xmm1, xmm5
movq qword [ecx], xmm1
sub esi, 1
jne 0x417bc2
cmp dword [ebp - 4], 0
je 0x417c7a
movd xmm4, dword [edx]
xorps xmm5, xmm5
movd xmm3, dword [eax]
punpcklbw xmm4, xmm5
movaps xmm1, xmm4
punpcklbw xmm3, xmm5
movaps xmm2, xmm4
pcmpgtw xmm1, xmm6
pmullw xmm4, xmm3
paddw xmm2, xmm3
psllw xmm2, 1
movaps xmm0, xmm1
psrlw xmm0, 8
pand xmm2, xmm1
psubw xmm2, xmm0
psrlw xmm4, 7
pxor xmm4, xmm1
psubw xmm4, xmm1
paddw xmm2, xmm4
packuswb xmm2, xmm5
movd dword [eax], xmm2
mov esi, dword [ebp - 0xc]
add esi, dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
add dword [ebp - 8], eax
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0xc], esi
test edi, edi
jne 0x417bb3
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
Function at 0x417ca0
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [ecx]
mov dword [ebp - 8], eax
mov eax, dword [edx]
movaps xmm6, xmmword [0x5460e0]
mov dword [ebp - 4], eax
mov eax, dword [ecx + 4]
sar eax, 2
mov dword [ebp - 0x10], eax
mov eax, dword [edx + 4]
sar eax, 2
push esi
push edi
mov edi, dword [ecx + 0xc]
mov ecx, dword [ecx + 8]
cmp ecx, dword [edx + 8]
mov dword [ebp - 0x14], eax
cmova ecx, dword [edx + 8]
mov eax, dword [ebx + 8]
shl eax, 4
cmp edi, dword [edx + 0xc]
cwde
cmova edi, dword [edx + 0xc]
movd xmm0, eax
punpcklwd xmm0, xmm0
pshufd xmm7, xmm0, 0
test edi, edi
je 0x417e3a
mov eax, dword [ebp - 0x10]
mov esi, ecx
shl eax, 2
and ecx, 1
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x14]
shr esi, 1
shl eax, 2
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 4]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], esi
dec edi
mov edx, ecx
cmp dword [ebp - 0xc], 0
je 0x417db3
xorps xmm5, xmm5
nop
movq xmm4, qword [eax]
mov ecx, edx
punpcklbw xmm4, xmm5
add edx, 8
movq xmm3, qword [ecx]
mov ecx, eax
punpcklbw xmm3, xmm5
add eax, 8
movaps xmm1, xmm3
movaps xmm2, xmm3
pmullw xmm3, xmm4
paddw xmm2, xmm4
psllw xmm2, 1
pcmpgtw xmm1, xmm6
movaps xmm0, xmm1
psrlw xmm0, 8
pand xmm2, xmm1
psrlw xmm3, 7
psubw xmm2, xmm0
pxor xmm3, xmm1
psubw xmm3, xmm1
paddw xmm2, xmm3
psubw xmm2, xmm4
psllw xmm2, 4
pmulhw xmm2, xmm7
paddw xmm2, xmm4
packuswb xmm2, xmm5
movq qword [ecx], xmm2
sub esi, 1
jne 0x417d40
mov ecx, dword [ebp - 4]
cmp dword [ebp - 0x18], 0
je 0x417e20
movd xmm2, dword [edx]
xorps xmm5, xmm5
movd xmm4, dword [eax]
punpcklbw xmm2, xmm5
punpcklbw xmm4, xmm5
movaps xmm1, xmm2
movaps xmm3, xmm2
mov ecx, dword [ebp - 4]
paddw xmm3, xmm4
pmullw xmm2, xmm4
psllw xmm3, 1
pcmpgtw xmm1, xmm6
movaps xmm0, xmm1
pand xmm3, xmm1
psrlw xmm0, 8
psrlw xmm2, 7
psubw xmm3, xmm0
pxor xmm2, xmm1
psubw xmm2, xmm1
paddw xmm3, xmm2
psubw xmm3, xmm4
psllw xmm3, 4
pmulhw xmm3, xmm7
paddw xmm3, xmm4
packuswb xmm3, xmm5
movd dword [eax], xmm3
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0x10]
add ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0xc]
mov dword [ebp - 8], eax
mov dword [ebp - 4], ecx
test edi, edi
jne 0x417d33
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
Function at 0x420140
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5164bf
mov eax, dword fs:[0]
push eax
push ebx
push ecx
push esi
mov eax, dword [0x55b2f8]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov eax, dword [ebx + 8]
mov dword [esi + 0x18], eax
mov eax, dword [ebx + 0xc]
push 0
mov dword [esi], vtable.CDspObj.0
mov dword [esi + 0x20], eax
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
call fcn.00420b40
push 0
call fcn.00420bc0
push 1
push 0
mov dword [esi + 0x130], 0
mov dword [esi + 0x13c], 0
call fcn.00422210
push 1
call fcn.00420be0
push 0
mov ecx, esi
call fcn.00420c30
push 0
call fcn.00420c40
push 0
mov ecx, esi
call fcn.00420c80
push 1
call fcn.00420c90
push 1
call fcn.00420cb0
push 0
call fcn.00420cd0
push 1
mov ecx, esi
call fcn.00421e30
push 0
push 0
call fcn.00421e40
push 0
call fcn.00421e80
push 0
push 0
push 0
call fcn.00421300
push 0
push 0
push 0
mov ecx, esi
call fcn.00421490
push 0
push 0
push 0
mov ecx, esi
call fcn.004214f0
push 0
push 0
mov ecx, esi
call fcn.00421240
push 0
push 0
mov ecx, esi
call fcn.004212a0
push 0x80
mov ecx, esi
call fcn.00421570
push 0
call fcn.00421590
push 0
mov ecx, esi
call fcn.004215d0
push 0x100
mov ecx, esi
call fcn.00421620
push 0
mov ecx, esi
call fcn.00421660
push 0
mov ecx, esi
call fcn.00421830
push 0
mov ecx, esi
call fcn.00421ea0
push 0
call fcn.00421eb0
push 0
call fcn.00422190
push 0x40
lea eax, [esi + 0xc8]
push 0
push eax
call fcn.004e4e70
push 0x10
call fcn.004d8b0d
add esp, 0x10
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0
mov ecx, eax
call fcn.00436360
mov dword [ebp - 4], 0xffffffff
xorps xmm0, xmm0
push dword [ebx + 0x10]
mov dword [esi + 0x94], eax
mov ecx, esi
movups xmmword [esi + 0x98], xmm0
movq qword [esi + 0xa8], xmm0
mov dword [esi + 0x11c], 0
mov dword [esi + 0x120], 0
mov dword [esi + 0x124], 0
mov dword [esi + 0x128], 0
mov dword [esi + 0x118], 1
call fcn.00422060
push 0
call fcn.00421dd0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
Function at 0x436220
Capabilities:
Open clipboard
Write clipboard data

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push edi
push ecx
push 0
mov dword [ebp - 4], 0
call fcn.004ac350
mov ebx, eax
add esp, 8
mov ecx, ebx
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x436240
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push 0x2042
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov edi, eax
test edi, edi
je 0x4362c4
push esi
push edi
mov esi, ebx
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov ecx, eax
sub ecx, ebx
nop word [eax + eax]
movzx eax, word [esi]
lea esi, [esi + 2]
mov word [ecx + esi - 2], ax
test ax, ax
jne 0x436280
push edi
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push dword [0x575080]
call dword [sym.imp.USER32.dll_OpenClipboard]
pop esi
test eax, eax
je 0x4362c4
call dword [sym.imp.USER32.dll_EmptyClipboard]
push edi
push 0xd
call dword [sym.imp.USER32.dll_SetClipboardData]
call dword [sym.imp.USER32.dll_CloseClipboard]
mov dword [ebp - 4], 1
push ebx
call fcn.004d8b08
mov eax, dword [ebp - 4]
add esp, 4
pop edi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x4362e0
Capabilities:
Open clipboard
Read clipboard data

Disassembly:
push esi
push edi
push 0xd
mov edi, ecx
xor esi, esi
call dword [sym.imp.USER32.dll_IsClipboardFormatAvailable]
test eax, eax
je 0x436352
push dword [0x575080]
call dword [sym.imp.USER32.dll_OpenClipboard]
test eax, eax
je 0x436352
push ebx
push 0xd
call dword [sym.imp.USER32.dll_GetClipboardData]
mov ebx, eax
test ebx, ebx
je 0x43634b
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov esi, eax
test edi, edi
je 0x436332
mov ecx, esi
sub edi, esi
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edi + ecx - 2], ax
test ax, ax
jne 0x436322
lea ecx, [esi + 2]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x436335
sub esi, ecx
push ebx
sar esi, 1
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
call dword [sym.imp.USER32.dll_CloseClipboard]
pop ebx
pop edi
mov eax, esi
pop esi
ret