joyce8/EMBER2024-capa huggingface dataset:
Function at 0x470a18
Capabilities:
Encrypt data using rc4 prga

Disassembly:
push ebx
push esi
push edi
mov ebx, eax
push ebp
push ecx
mov esi, dword [ebx + 0x2c]
mov edi, dword [ebx + 0x3c]
sub edi, dword [ebx + 0x74]
sub edi, dword [ebx + 0x6c]
jmp 0x470a47
mov eax, dword [ebx + 0x2c]
sub eax, 0x106
add eax, esi
cmp eax, dword [ebx + 0x6c]
ja 0x470ac6
push esi
mov eax, dword [ebx + 0x38]
mov edx, eax
mov ebp, esi
add edx, ebp
push edx
push eax
call fcn.0046f2d4
add esp, 0xc
sub dword [ebx + 0x70], esi
sub dword [ebx + 0x6c], esi
sub dword [ebx + 0x5c], ebp
mov eax, dword [ebx + 0x4c]
mov edx, eax
add edx, edx
add edx, dword [ebx + 0x44]
sub edx, 2
movzx ecx, word [edx]
mov dword [esp], ecx
cmp esi, dword [esp]
ja 0x470a94
mov cx, word [esp]
sub cx, si
jmp 0x470a96
xor ecx, ecx
mov word [edx], cx
dec eax
jne 0x470a7d
mov eax, esi
mov edx, eax
add edx, edx
add edx, dword [ebx + 0x40]
sub edx, 2
movzx ecx, word [edx]
mov dword [esp], ecx
cmp esi, dword [esp]
ja 0x470abc
mov cx, word [esp]
sub cx, si
jmp 0x470abe
xor ecx, ecx
mov word [edx], cx
dec eax
jne 0x470aa5
add edi, esi
mov ebp, dword [ebx]
cmp dword [ebp + 4], 0
je 0x470b23
mov edx, dword [ebx + 0x38]
mov ecx, edi
add edx, dword [ebx + 0x6c]
mov eax, ebp
add edx, dword [ebx + 0x74]
call fcn.004706ec
add dword [ebx + 0x74], eax
cmp dword [ebx + 0x74], 3
jb 0x470b0e
mov eax, dword [ebx + 0x38]
mov edx, dword [ebx + 0x6c]
movzx eax, byte [eax + edx]
mov dword [ebx + 0x48], eax
mov ecx, dword [ebx + 0x58]
shl eax, cl
mov edx, dword [ebx + 0x38]
mov ecx, dword [ebx + 0x6c]
movzx edx, byte [edx + ecx + 1]
xor eax, edx
and eax, dword [ebx + 0x54]
mov dword [ebx + 0x48], eax
cmp dword [ebx + 0x74], 0x106
jae 0x470b23
mov eax, dword [ebx]
cmp dword [eax + 4], 0
jne 0x470a22
pop edx
pop ebp
pop edi
pop esi
pop ebx
ret
Function at 0x477058
Capabilities:
Hash data with crc32

Disassembly:
push ebx
push esi
xor esi, esi
mov ecx, 0x48e00c
mov eax, esi
mov edx, 8
mov ebx, eax
and ebx, 1
test bl, bl
je 0x47707a
shr eax, 1
xor eax, 0xedb88320
jmp 0x47707c
shr eax, 1
dec edx
jne 0x477068
mov dword [ecx], eax
inc esi
add ecx, 4
cmp esi, 0x100
jne 0x477061
mov byte [0x48e40c], 1
pop esi
pop ebx
ret

Function at 0x477098
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
push edi
mov edi, ecx
mov esi, edx
mov ebx, eax
cmp byte [0x48e40c], 0
jne 0x4770af
call fcn.00477058
mov eax, edi
dec eax
test eax, eax
jl 0x4770d8
inc eax
xor edx, edx
xor ecx, ecx
mov cl, byte [esi + edx]
xor ecx, ebx
and ecx, 0xff
mov ecx, dword [ecx*4 + 0x48e00c]
shr ebx, 8
xor ecx, ebx
mov ebx, ecx
inc edx
dec eax
jne 0x4770b9
mov eax, ebx
pop edi
pop esi
pop ebx
ret
Function at 0x479b38
Capabilities:
Encode data using xor

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xfffffff8
mov ebx, eax
xor eax, eax
mov al, byte [ebx + 0x48]
mov eax, dword [ebx + eax*4 + 0x40]
mov al, byte [eax]
dec al
je 0x479b69
dec al
je 0x479ba5
dec al
je 0x479be9
dec al
je 0x479c54
jmp 0x479cde
mov esi, dword [ebx + 0x24]
inc esi
mov edi, dword [ebx + 0x20]
sub edi, esi
jb 0x479cde
inc edi
mov edx, esi
sub edx, dword [ebx + 0x24]
xor ecx, ecx
mov cl, byte [ebx + 0x48]
mov ecx, dword [ebx + ecx*4 + 0x40]
mov dl, byte [ecx + edx]
xor eax, eax
mov al, byte [ebx + 0x48]
mov eax, dword [ebx + eax*4 + 0x40]
add dl, byte [eax + esi]
and dl, 0xff
mov byte [eax + esi], dl
inc esi
dec edi
jne 0x479b79
jmp 0x479cde
mov edi, dword [ebx + 0x20]
test edi, edi
jbe 0x479cde
mov esi, 1
mov al, byte [ebx + 0x48]
mov edx, eax
xor dl, 1
and edx, 0x7f
mov edx, dword [ebx + edx*4 + 0x40]
mov dl, byte [edx + esi]
and eax, 0x7f
mov eax, dword [ebx + eax*4 + 0x40]
add dl, byte [eax + esi]
and dl, 0xff
xor eax, eax
mov al, byte [ebx + 0x48]
mov eax, dword [ebx + eax*4 + 0x40]
mov byte [eax + esi], dl
inc esi
dec edi
jne 0x479bb5
jmp 0x479cde
mov edi, dword [ebx + 0x20]
test edi, edi
jbe 0x479cde
mov esi, 1
mov al, byte [ebx + 0x48]
xor al, 1
and eax, 0x7f
mov eax, dword [ebx + eax*4 + 0x40]
movzx eax, byte [eax + esi]
mov ecx, esi
dec ecx
mov edx, dword [ebx + 0x24]
cmp ecx, edx
jae 0x479c17
xor ebp, ebp
jmp 0x479c28
mov ecx, esi
sub ecx, edx
xor edx, edx
mov dl, byte [ebx + 0x48]
mov edx, dword [ebx + edx*4 + 0x40]
movzx ebp, byte [edx + ecx]
add eax, ebp
sar eax, 1
jns 0x479c31
adc eax, 0
xor edx, edx
mov dl, byte [ebx + 0x48]
mov edx, dword [ebx + edx*4 + 0x40]
add al, byte [edx + esi]
and al, 0xff
xor edx, edx
mov dl, byte [ebx + 0x48]
mov edx, dword [ebx + edx*4 + 0x40]
mov byte [edx + esi], al
inc esi
dec edi
jne 0x479bf9
jmp 0x479cde
xor ebp, ebp
xor eax, eax
mov dword [esp + 4], eax
mov edi, dword [ebx + 0x20]
test edi, edi
jbe 0x479cde
mov esi, 1
mov al, byte [ebx + 0x48]
xor al, 1
and eax, 0x7f
mov eax, dword [ebx + eax*4 + 0x40]
movzx eax, byte [eax + esi]
mov edx, esi
dec edx
cmp edx, dword [ebx + 0x24]
jb 0x479cac
mov edx, esi
sub edx, dword [ebx + 0x24]
xor ecx, ecx
mov cl, byte [ebx + 0x48]
mov ecx, dword [ebx + ecx*4 + 0x40]
movzx ebp, byte [ecx + edx]
mov dl, byte [ebx + 0x48]
xor dl, 1
and edx, 0x7f
mov edx, dword [ebx + edx*4 + 0x40]
mov ecx, esi
sub ecx, dword [ebx + 0x24]
movzx edx, byte [edx + ecx]
mov dword [esp + 4], edx
xor edx, edx
mov dl, byte [ebx + 0x48]
mov edx, dword [ebx + edx*4 + 0x40]
movzx edx, byte [edx + esi]
mov dword [esp], edx
mov cl, byte [esp + 4]
push eax
mov eax, ebp
pop edx
call fcn.004770e0
add al, byte [esp]
and al, 0xff
xor edx, edx
mov dl, byte [ebx + 0x48]
mov edx, dword [ebx + edx*4 + 0x40]
mov byte [edx + esi], al
inc esi
dec edi
jne 0x479c68
pop ecx
pop edx
pop ebp
pop edi
pop esi
pop ebx
ret
Function at 0x47f580
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffbc
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 4], edx
mov edi, eax
mov eax, dword [ebp - 4]
call fcn.00404a88
xor eax, eax
push ebp
push 0x47f73c
push dword fs:[eax]
mov dword fs:[eax], esp
xor esi, esi
mov ebx, 0x4865b8
xor eax, eax
mov dword [ebp - 8], eax
lea eax, [ebp - 8]
push eax
push 0x20
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebx]
push eax
push edi
call sub.kernel32.dll_ReadProcessMemory
lea edx, [ebx + 4]
lea eax, [ebp - 0x28]
mov ecx, 0x20
call fcn.00408388
test al, al
je 0x47f707
push 0
push edi
call sub.kernel32.dll_TerminateProcess
call fcn.0040a1a0
add esp, 0xfffffff8
fstp qword [esp]
wait
lea edx, [ebp - 0x2c]
mov eax, 0x47f754
call fcn.0040adec
mov edx, dword [ebp - 0x2c]
mov eax, 0x48e420
call fcn.0040462c
push dword [0x48e420]
push 0x47f774
lea edx, [ebp - 0x34]
mov eax, dword [0x48c4cc]
mov eax, dword [eax]
mov eax, dword [eax + 0x304]
call fcn.0046f098
push dword [ebp - 0x34]
push 0x47f780
lea edx, [ebp - 0x38]
mov eax, dword [0x48c4cc]
mov eax, dword [eax]
call fcn.0047d884
push dword [ebp - 0x38]
push 0x47f78c
push dword [ebx + 0x24]
push 0x47f7a4
lea eax, [ebp - 0x30]
mov edx, 8
call fcn.00404958
mov edx, dword [ebp - 0x30]
mov eax, dword [0x48c4cc]
mov eax, dword [eax]
mov eax, dword [eax + 0x2f8]
mov eax, dword [eax + 0x90]
call fcn.0046a010
push 0x1388
push 0
push 0x10
push 0x47f7b8
push 0x47f7c8
push dword [ebx + 0x24]
push 0x47f804
push 0x47f804
push 0x47f810
lea eax, [ebp - 0x3c]
mov edx, 5
call fcn.00404958
mov eax, dword [ebp - 0x3c]
call fcn.00404a98
push eax
call sub.user32.dll_GetForegroundWindow
push eax
call sub.user32.dll_MessageBoxTimeoutA
lea eax, [ebp - 0x40]
push eax
lea edx, [ebp - 0x44]
mov eax, esi
call fcn.00408798
lea eax, [ebp - 0x44]
mov edx, 0x47f774
call fcn.004048a0
mov edx, dword [ebp - 0x44]
mov ecx, 0x47f774
mov eax, dword [ebp - 4]
call fcn.0047f3e4
push 0
call sub.kernel32.dll_ExitProcess_1
inc esi
add ebx, 0x28
cmp esi, 0x246
jne 0x47f5c2
xor ebx, ebx
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x47f743
lea eax, [ebp - 0x44]
mov edx, 7
call fcn.004045fc
lea eax, [ebp - 4]
call fcn.004045d8
ret

Function at 0x47fdd0
Capabilities:
Create thread

Disassembly:
push pe_nt_image_headers32
call sub.kernel32.dll_GetCurrentThread
push eax
call sub.kernel32.dll_SetThreadPriority
call fcn.0047fd80
call fcn.0047f82c
call fcn.0047f8fc
call fcn.0047fa04
call fcn.0047fca8
push 0x1f4
call sub.kernel32.dll_Sleep
push 0x48e418
push 0
push 0
push fcn.0047fdd0
push 0
push 0
call sub.kernel32.dll_CreateThread_1
mov dword [0x48e41c], eax
push pe_nt_image_headers32
mov eax, dword [0x48e41c]
push eax
call sub.kernel32.dll_SetThreadPriority
mov eax, 8
push eax
mov eax, dword [0x48e41c]
push eax
call sub.kernel32.dll_SetThreadAffinityMask
ret
Function at 0x410c70
Capabilities:
Acquire debug privileges

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push 0x4025e6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x70
call sub.MSVBVM60.DLL___vbaChkstk
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x14], 0x401f20
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 4], 1
mov dword [ebp - 4], 2
push 0xffffffffffffffff
call dword [sym.imp.MSVBVM60.DLL___vbaOnError]
mov dword [ebp - 4], 3
call fcn.00404fd8
mov dword [ebp - 0x6c], eax
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
lea eax, [ebp - 0x64]
push eax
push 0x28
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.00405038
mov dword [ebp - 0x70], eax
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
xor edx, edx
cmp dword [ebp - 0x70], 0
setne dl
neg edx
movsx eax, dx
test eax, eax
je 0x410e25
mov dword [ebp - 4], 4
xor ecx, ecx
test ecx, ecx
je 0x410d46
mov dword [ebp - 4], 6
mov dword [ebp - 0x6c], 0x1c
lea edx, [ebp - 0x6c]
push edx
lea eax, [ebp - 0x3c]
push eax
push 0x1c
lea ecx, [ebp - 0x60]
push ecx
push 0
mov edx, dword [ebp - 0x64]
push edx
call fcn.00405088
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
jmp 0x410e25
mov dword [ebp - 4], 9
lea eax, [ebp - 0x44]
push eax
push 0x404ae4
lea ecx, [ebp - 0x68]
push ecx
call dword [sym.imp.MSVBVM60.DLL___vbaStrToAnsi]
push eax
push 0
call fcn.004050e8
mov dword [ebp - 0x6c], eax
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
xor edx, edx
cmp dword [ebp - 0x6c], 0
setne dl
neg edx
mov word [ebp - 0x74], dx
lea ecx, [ebp - 0x68]
call dword [sym.imp.MSVBVM60.DLL___vbaFreeStr]
movsx eax, word [ebp - 0x74]
test eax, eax
je 0x410e25
mov dword [ebp - 4], 0xa
mov dword [ebp - 0x60], 1
mov dword [ebp - 4], 0xb
mov dword [ebp - 0x74], 0
cmp dword [ebp - 0x74], 2
jae 0x410dc3
mov dword [ebp - 0x8c], 0
jmp 0x410dcf
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov dword [ebp - 0x8c], eax
lea ecx, [ebp - 0x44]
push ecx
mov edx, dword [ebp - 0x74]
imul edx, edx, 0xc
lea eax, [ebp + edx - 0x5c]
push eax
push 8
call dword [sym.imp.MSVBVM60.DLL___vbaCopyBytes]
mov dword [ebp - 4], 0xc
mov dword [ebp - 0x74], 0
cmp dword [ebp - 0x74], 2
jae 0x410e06
mov dword [ebp - 0x90], 0
jmp 0x410e12
call dword [sym.imp.MSVBVM60.DLL___vbaGenerateBoundsError]
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0x74]
imul ecx, ecx, 0xc
mov dword [ebp + ecx - 0x54], 2
jmp 0x410d14
mov dword [ebp - 4], 0x11
mov edx, dword [ebp - 0x64]
push edx
call fcn.00404e50
call dword [sym.imp.MSVBVM60.DLL___vbaSetSystemError]
push 0x410e4d
jmp 0x410e4c
ret

Function at 0x401a22
Capabilities:
Hide graphical window

Disassembly:
mov ecx, 0xfffffffe
jmp fcn.0040161c
Function at 0x40893a
Capabilities:
Encode data using xor

Disassembly:
mov edx, 0x4085d8
sub edi, 0x578ca8c5
call fcn.00408966
xor dword [eax], edx
sub esp, 4
mov dword [esp], 0x31a94aef
pop edi
inc edi
inc eax
push edi
pop esi
cmp eax, ebx
jne fcn.0040893a
or edi, edi
or esi, edi
ret
Function at 0x430000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
nop
mov eax, section..text
nop
nop
nop
nop
push 4
nop
nop
nop
nop
nop
pop edi
nop
nop
cmp eax, 0
nop
nop
nop
nop
nop
je 0x430072
mov ebx, 0x408ecc
nop
mov ecx, ebx
nop
nop
nop
nop
nop
nop
sub ecx, eax
nop
nop
nop
nop
nop
xor edx, edx
nop
nop
push eax
nop
nop
nop
nop
nop
nop
mov eax, ecx
nop
nop
nop
div edi
nop
nop
nop
nop
nop
nop
nop
xchg ecx, eax
nop
pop eax
nop
nop
nop
nop
nop
mov esi, 0xa4e376d
nop
nop
nop
nop
nop
xor dword [eax], esi
add eax, edi
nop
nop
nop
nop
loop 0x430060
nop
nop
nop
nop
mov eax, section..data
nop
nop
nop
nop
cmp eax, 0
nop
nop
nop
nop
je 0x4300d2
nop
mov ebx, 0x42e1d0
nop
nop
nop
nop
mov ecx, ebx
nop
nop
nop
sub ecx, eax
nop
nop
nop
nop
nop
xor edx, edx
nop
nop
push eax
nop
nop
nop
nop
mov eax, ecx
nop
nop
nop
nop
div edi
nop
nop
nop
xchg ecx, eax
nop
nop
nop
nop
nop
nop
nop
pop eax
nop
nop
nop
mov esi, 0x58fc119f
nop
nop
nop
nop
nop
xor dword [eax], esi
add eax, edi
nop
nop
nop
nop
nop
nop
nop
loop 0x4300c0
nop
nop
popal
nop
nop
nop
nop
jmp 0x401219
Function at 0x430000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
mov eax, section..text
nop
mov ebx, 0x408ecc
nop
mov ecx, 0x67a73ac2
nop
nop
nop
test eax, eax
nop
nop
nop
nop
je 0x43004e
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
cmp eax, ebx
nop
nop
nop
nop
nop
nop
jne 0x430024
nop
nop
mov eax, section..rsrc
nop
mov ebx, 0x42e1d0
nop
mov ecx, 0x4dde7f09
nop
nop
nop
test eax, eax
nop
nop
nop
je 0x430084
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
add eax, 4
nop
nop
nop
nop
cmp eax, ebx
nop
nop
nop
nop
jne 0x43006c
nop
nop
nop
nop
nop
popal
nop
nop
nop
jmp 0x401219
Function at 0x4017f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xe8
mov esi, esp
mov dword [esi + 0xc], ebp
mov eax, dword [ebp + 8]
mov dword [esi + 0x14], eax
mov dword [esi + 0x18], eax
mov dl, byte [ebp + 0x1c]
mov eax, dword [ebp + 0x18]
mov al, byte [ebp + 0x14]
vmovsd xmm0, qword [ebp + 0xc]
mov edi, esp
mov dword [esi + 0xd4], edi
mov dword [esi + 0xe0], 0xffffffff
lea edi, [esi + 0xd8]
mov dword [esi + 0xdc], 0x4058e0
mov ebx, dword fs:[0]
mov dword [esi + 0xd8], ebx
mov dword fs:[0], edi
and dl, 1
mov byte [esi + 0xd3], dl
and al, 1
mov byte [esi + 0xd2], al
vmovsd qword [esi + 0xc8], xmm0
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xbc], 0x40f1e760
mov dword [esi + 0xb8], 0
mov eax, esp
mov dword [eax], str.chwdgqgibskldwjscvtzujbvdpnvntitzupanjcqoqddfryzxibqeuvccubsnbzizqikuqvpetgrusxklr
lea ecx, [esi + 0xa0]
call fcn.004059a0
sub esp, 4
mov byte [esi + 0x9f], 0
mov dword [esi + 0xe0], 0
mov eax, esp
mov dword [eax], str.xtnhuvfqhkcdasrpxycwsgyxdzqrulaogpyenozwimv
lea ecx, [esi + 0x84]
call fcn.004059a0
sub esp, 4
jmp 0x4018c6
mov dword [esi + 0x7c], 0x40f231b0
mov dword [esi + 0x78], 0
mov byte [esi + 0x77], 0
mov dword [esi + 0x6c], 0x40c9b200
mov dword [esi + 0x68], 0
mov byte [esi + 0x67], 1
mov dword [esi + 0x5c], 0x40a74800
mov dword [esi + 0x58], 0
mov dword [esi + 0x54], 0x200
mov dword [esi + 0xe0], 1
mov eax, esp
mov dword [eax], str.chwdgqgibskldwjscvtzujbvdpnvntitzupanjcqoqddfryzxibqeuvccubsnbzizqikuqvpetgrusxklr
lea ecx, [esi + 0x3c]
call fcn.004059a0
sub esp, 4
jmp 0x401921
mov dword [esi + 0xe0], 2
mov eax, esp
mov dword [eax], str.chwdgqgibskldwjscvtzujbvdpnvntitzupanjcqoqddfryzxibqeuvccubsnbzizqikuqvpetgrusxklr
lea ecx, [esi + 0x24]
call fcn.004059a0
sub esp, 4
jmp 0x401943
lea ecx, [esi + 0x24]
lea eax, [esi + 0x3c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00405ac0
mov byte [esi + 0x13], al
lea ecx, [esi + 0x24]
call fcn.00405a90
lea ecx, [esi + 0x3c]
call fcn.00405a90
mov al, byte [esi + 0x13]
test al, 1
jne 0x401978
jmp 0x40199c
mov dword [esi + 0x20], 0x10
cmp dword [esi + 0x20], 0
jle 0x401997
mov eax, dword [esi + 0x20]
add eax, 0xffffffff
mov dword [esi + 0x20], eax
jmp 0x40197f
jmp 0x40199c
mov dword [esi + 0x1c], 0x30
cmp dword [esi + 0x1c], 0
jle 0x4019bb
mov eax, dword [esi + 0x1c]
add eax, 0xffffffff
mov dword [esi + 0x1c], eax
jmp 0x4019a3
mov ecx, dword [esi + 0x14]
mov dword [esi + 0xe0], 1
mov eax, esp
mov dword [eax], str.aimyspgesqdavhnmxfs
call fcn.004059a0
sub esp, 4
jmp 0x4019dd
lea ecx, [esi + 0x84]
call fcn.00405a90
lea ecx, [esi + 0xa0]
call fcn.00405a90
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0xd8]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x18
Function at 0x402ba0
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
sbb eax, 0x54
rol edi, 0x10
inc edi
rol esi, 0x36
mov eax, 0xe5
rcl edx, 0x74
sub eax, 0xaf
dec esi
or ebx, 0x21
bswap edi
neg edx
add edx, 0x58
ror edx, 0xdc
ror esi, 0xdd
bswap edx
inc edx
mov esi, 0xa1
dec esi
neg eax
mov edx, 0x6c
or edi, 0xe7
mov esi, 0xc3
add esi, 0x44
rcl eax, 0x62
inc eax
sbb edx, 0xa7
dec esi
sub eax, 0xee
rcr edi, 0x6d
ror edi, 0x3a
and eax, 0x38
imul ebx
bswap edx
not esi
mov eax, 0x87
neg ebx
inc edx
inc edi
imul ebx
bswap edi
inc eax
inc eax
not esi
imul ebx
rol esi, 0xc0
bswap eax
inc eax
not edx
not esi
rcl esi, 0x30
xor ecx, ecx
xor edi, edi
add ebx, 0x47
ror esi, 0x22
add esi, 0xd2
rcl eax, 0x26
add edx, 0xa1
mov esi, 0x5d
bswap edx
imul edi
imul edx
dec edi
add esi, 0x51
imul ebx
neg edi
or edx, 0x6a
inc ebx
inc esi
sbb edi, 0x4c
sub eax, 0x24
sub edi, 0xbd
rcr eax, 0x48
sub esi, 0xe1
imul esi
sbb esi, 0xc6
rcr edx, 0x72
imul edi
sub edi, 0xa3
add edi, 0x30
inc esi
sub esi, 0x66
neg edi
bswap ebx
inc ebx
neg edi
and edx, 0x47
inc eax
not esi
and eax, 0xa2
imul ebx
bswap ebx
rol esi, 0x90
dec edx
neg esi
inc edx
neg esi
rol ebx, 0xec
inc esi
and ebx, 0xdb
inc esi
inc esi
imul edx
mov ecx, dword [ebp + 0xc]
neg ebx
sbb esi, 0x77
neg ebx
or edi, 0xfd
rcl eax, 0x9f
sub edx, 0xda
add eax, 0xa6
mov edi, 0xfc
inc edi
dec eax
and eax, 0x86
neg edi
sbb ebx, 0xd6
inc edx
inc esi
not edx
neg ebx
not edi
mov edx, 0x80
sbb edx, 0x38
rcr eax, 0x40
neg edx
rol esi, 0xee
rol ebx, 5
add esi, 0xad
inc esi
or esi, 0x80
sbb esi, 0xd7
mov esi, 0xee
and edx, 0xf4
inc eax
dec edx
sbb ebx, 0x5f
sbb edi, 0x9e
imul esi
neg ebx
mov eax, 1
bswap edx
add edx, 0xab
inc edi
inc esi
not edx
ror ebx, 0xab
inc ebx
rol eax, 0xe7
not esi
and edi, 0xf6
neg edx
bswap ebx
dec esi
mov edi, dword [ebp + 8]
xor esi, eax
xor esi, eax
xor esi, eax
mov esi, esi
xor esi, eax
mov ebx, eax
xor ebx, eax
mov eax, ebx
xor ebx, ebx
mov esi, ebx
xor ebx, esi
xor esi, esi
not byte [edi]
xor ebx, ebx
xor esi, esi
xor ebx, eax
xor ebx, esi
mov esi, eax
xor ebx, esi
xor eax, esi
xor eax, ebx
xor eax, eax
sub byte [edi], 0x89
mov eax, eax
xor esi, eax
mov esi, eax
mov eax, esi
mov ebx, esi
xor eax, esi
mov ebx, esi
mov ebx, esi
mov esi, eax
add byte [edi], 0x57
xor esi, eax
xor esi, esi
xor esi, ebx
mov eax, esi
xor esi, ebx
xor esi, esi
xor ebx, ebx
mov esi, eax
mov esi, esi
imul byte [edi]
inc edi
loop 0x402d66
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x40723d
Capabilities:
Parse pe header

Disassembly:
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
je 0x40727c
mov ecx, 0x5a4d
cmp word [eax], cx
jne 0x40727c
mov ecx, dword [eax + 0x3c]
add ecx, eax
cmp dword [ecx], 0x4550
jne 0x40727c
mov eax, 0x10b
cmp word [ecx + 0x18], ax
jne 0x40727c
cmp dword [ecx + 0x74], 0xe
jbe 0x40727c
cmp dword [ecx + 0xe8], 0
setne al
ret
xor al, al
ret
Function at 0x40e678
Capabilities:
Query environment variable

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov esi, eax
test esi, esi
je 0x40e715
push ebx
push esi
call fcn.0040e641
xor ebx, ebx
sub eax, esi
push ebx
push ebx
push ebx
push ebx
sar eax, 1
push eax
push esi
push ebx
push ebx
mov dword [ebp - 8], eax
call fcn.0040e5d5
add esp, 0x24
mov dword [ebp - 4], eax
test eax, eax
jne 0x40e6c2
push esi
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
xor eax, eax
jmp 0x40e714
push edi
push eax
call fcn.0040cfdb
mov edi, eax
pop ecx
push ebx
test edi, edi
jne 0x40e6e2
call fcn.0040d029
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
xor eax, eax
jmp 0x40e713
push ebx
push dword [ebp - 4]
push edi
push dword [ebp - 8]
push esi
push ebx
push ebx
call fcn.0040e5d5
add esp, 0x20
test eax, eax
jne 0x40e701
push edi
call fcn.0040d029
jmp 0x40e709
push ebx
call fcn.0040d029
mov ebx, edi
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov eax, ebx
pop edi
pop ebx
pop esi
leave
ret

Function at 0x40f924
Capabilities:
Allocate thread local storage

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push esi
push 0x418a70
push 0x418a68
push str.FlsAlloc
push 0x1f
call fcn.0040f7e3
mov esi, eax
add esp, 0x10
test esi, esi
je 0x40f958
push dword [ebp + 8]
mov ecx, esi
call dword [0x416130]
call esi
jmp 0x40f95e
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
pop esi
pop ebp
ret 4

Function at 0x40f9a2
Capabilities:
Get thread local storage value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push esi
push 0x418a80
push 0x418a78
push str.FlsGetValue
push 0x21
call fcn.0040f7e3
mov esi, eax
add esp, 0x10
test esi, esi
je 0x40f9d9
push dword [ebp + 8]
mov ecx, esi
call dword [0x416130]
call esi
pop esi
pop ebp
ret 4
pop esi
pop ebp
jmp dword [sym.imp.KERNEL32.dll_TlsGetValue]

Function at 0x40f9e1
Capabilities:
Set thread local storage value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push esi
push 0x418a88
push 0x418a80
push str.FlsSetValue
push 0x22
call fcn.0040f7e3
mov esi, eax
add esp, 0x10
test esi, esi
je 0x40fa1b
push dword [ebp + 0xc]
mov ecx, esi
push dword [ebp + 8]
call dword [0x416130]
call esi
pop esi
pop ebp
ret 8
pop esi
pop ebp
jmp dword [sym.imp.KERNEL32.dll_TlsSetValue]
Function at 0x414de0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
mov ecx, 0x5a4d
cmp word [eax], cx
jne 0x414e0d
mov ecx, dword [eax + 0x3c]
add ecx, eax
cmp dword [ecx], 0x4550
jne 0x414e0d
mov edx, 0x10b
xor eax, eax
cmp word [ecx + 0x18], dx
sete al
pop ebp
ret
xor eax, eax
pop ebp
ret
Function at 0x10005460
Capabilities:
Set registry value

Disassembly:
sub esp, 8
mov eax, dword [0x10020ae4]
xor eax, esp
mov dword [esp + 4], eax
push esi
mov esi, dword [esp + 0x10]
lea eax, [esp + 4]
push str.Version
push 0x2001f
push eax
mov dword [esp + 0x10], 0
call fcn.10004010
add esp, 0xc
test al, al
jne 0x100054a6
pop esi
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.10005b76
add esp, 8
ret
mov eax, esi
lea edx, [eax + 2]
jmp 0x100054b0
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x100054b0
sub eax, edx
sar eax, 1
lea eax, [eax*2 + 2]
push eax
push esi
push 1
push 0
push 0x10017614
push dword [esp + 0x18]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [esp + 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [esp + 8]
mov al, 1
pop esi
xor ecx, esp
call fcn.10005b76
add esp, 8
ret

Function at 0x432000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
call 0x43200c
nop
nop
nop
nop
pop eax
nop
nop
add eax, 0x40729f
nop
sub eax, 0x407245
mov ebx, dword [eax]
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [eax + 4]
nop
mov edx, dword [eax + 8]
nop
nop
xor dword [ebx], edx
nop
nop
nop
nop
nop
nop
nop
add ebx, 4
nop
nop
nop
cmp ebx, ecx
nop
nop
nop
nop
nop
jl 0x432030
add eax, 0xc
nop
nop
nop
nop
cmp dword [eax], 0
nop
nop
jne 0x43201e
nop
nop
nop
nop
popal
nop
nop
nop
nop
nop
jmp 0x431219
Function at 0x10008e60
Capabilities:
Contain obfuscated stackstrings
Create thread
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
cmp dword [ebp + 0xc], 1
jne 0x10008ec4
lea eax, [ebp - 0xc]
mov dword [ebp - 0xc], 0x75676d69
push eax
mov dword [ebp - 8], 0x6e692e69
mov word [ebp - 4], 0x69
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push 0
push 0
push 0
push 0x10008c60
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0
push 0
push 0
push 0x10007200
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
push 0x190
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Beep]
mov eax, 1
mov esp, ebp
pop ebp
ret 0xc