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

Disassembly:
sub esp, 8
push ebx
push ebp
mov ebp, dword [esp + 0x1c]
push esi
mov eax, ebp
mov esi, dword [esp + 0x1c]
cdq
and edx, 7
push edi
add eax, edx
mov edi, ecx
mov ebx, eax
sar ebx, 3
test esi, esi
je 0x1018e412
test ebx, ebx
jl 0x1018e412
jle 0x1018e3e4
mov eax, dword [esp + 0x1c]
push 1
push eax
call fcn.1018e6c0
test ebx, ebx
jle 0x1018e3e4
add esi, 6
mov ebp, ebx
xor eax, eax
xor ecx, ecx
mov al, byte [esi - 6]
mov cl, byte [esi - 5]
shl eax, 0x18
shl ecx, 0x10
xor edx, edx
or eax, ecx
mov dh, byte [esi - 4]
xor ecx, ecx
mov cl, byte [esi - 3]
or eax, edx
or eax, ecx
xor edx, edx
mov dl, byte [esi - 1]
mov dword [esp + 0x10], eax
xor eax, eax
xor ecx, ecx
mov al, byte [esi - 2]
mov ch, byte [esi]
shl eax, 0x18
shl edx, 0x10
or eax, edx
xor edx, edx
mov dl, byte [esi + 1]
or eax, ecx
or eax, edx
mov ecx, edi
mov dword [esp + 0x14], eax
lea eax, [edi + 4]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.1018ea60
mov eax, dword [esp + 0x10]
add esi, 8
mov ecx, eax
mov edx, eax
shr ecx, 0x18
mov byte [esi - 0xe], cl
mov ecx, eax
shr edx, 0x10
shr ecx, 8
mov byte [esi - 0xd], dl
mov byte [esi - 0xc], cl
mov byte [esi - 0xb], al
mov eax, dword [esp + 0x14]
mov edx, eax
mov ecx, eax
shr edx, 0x18
mov byte [esi - 0xa], dl
mov edx, eax
shr ecx, 0x10
shr edx, 8
mov byte [esi - 9], cl
mov byte [esi - 8], dl
mov byte [esi - 7], al
dec ebp
jne 0x1018e33d
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
shl ebx, 3
sub ebp, ebx
test ebp, ebp
lea eax, [ebx + esi]
jle 0x1018e403
mov ecx, dword [esp + 0x1c]
sub ecx, eax
mov dl, byte [ecx + eax]
mov bl, byte [eax]
xor bl, dl
mov byte [eax], bl
inc eax
dec ebp
jne 0x1018e3f6
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 8
ret 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 8
ret 0xc
Function at 0x1018e6c0
Capabilities:
Encrypt data using des

Disassembly:
sub esp, 0x178
push ebx
push ebp
mov dword [esp + 0xc], ecx
push esi
mov esi, dword [esp + 0x188]
push edi
xor ecx, ecx
xor eax, eax
mov al, byte [ecx + str.80_]
mov edx, eax
and eax, 7
sar edx, 3
mov bl, byte [eax*2 + 0x10266d08]
mov dl, byte [edx + esi]
test bl, dl
setne al
mov byte [esp + ecx + 0x50], al
inc ecx
cmp ecx, 0x38
jl 0x1018e6d7
mov eax, 0x1e
xor edx, edx
mov dword [esp + 0x10], eax
cmp dword [esp + 0x190], 1
je 0x1018e718
lea eax, [edx + edx]
lea edi, [esp + eax*4 + 0x8c]
lea ebp, [esp + eax*4 + 0x88]
xor eax, eax
xor ecx, ecx
mov cl, byte [edx + 0x10266db0]
mov dword [edi], 0
mov dword [ebp], 0
mov esi, ecx
cmp ecx, 0x1c
jge 0x1018e74a
mov bl, byte [esp + ecx + 0x50]
jmp 0x1018e74e
mov bl, byte [esp + ecx + 0x34]
mov byte [esp + eax + 0x18], bl
inc eax
inc ecx
cmp eax, 0x1c
jl 0x1018e73f
mov eax, 0x1c
lea ecx, [esi + 0x1c]
cmp ecx, 0x38
jge 0x1018e76c
mov bl, byte [esp + ecx + 0x50]
jmp 0x1018e770
mov bl, byte [esp + ecx + 0x34]
mov byte [esp + eax + 0x18], bl
inc eax
inc ecx
cmp eax, 0x38
jl 0x1018e761
xor ecx, ecx
mov eax, 0x10266d18
xor ebx, ebx
mov bl, byte [ecx + 0x10266dc0]
cmp byte [esp + ebx + 0x18], 0
je 0x1018e79b
mov esi, dword [eax]
mov ebx, dword [ebp]
or ebx, esi
mov dword [ebp], ebx
xor ebx, ebx
mov bl, byte [ecx + 0x10266dd8]
cmp byte [esp + ebx + 0x18], 0
je 0x1018e7b2
mov esi, dword [eax]
mov ebx, dword [edi]
or ebx, esi
mov dword [edi], ebx
add eax, 4
inc ecx
cmp eax, str.80_
jl 0x1018e782
mov eax, dword [esp + 0x10]
inc edx
sub eax, 2
cmp eax, 0xfffffffe
mov dword [esp + 0x10], eax
jg 0x1018e70b
lea esi, [esp + 0x88]
lea edi, [esp + 0x108]
mov dword [esp + 0x10], 0x10
mov edx, dword [esi + 4]
mov eax, esi
add esi, 4
mov ecx, edx
mov eax, dword [eax]
mov ebx, edx
shr ecx, 4
and ecx, 0xfc000
and ebx, 0xfc0
or ecx, ebx
mov ebx, eax
and ebx, 0xfc0
mov ebp, eax
shl ebx, 4
and ebp, 0xfc0000
add edi, 4
or ebx, ebp
add edi, 4
shr ecx, 6
shl ebx, 6
or ecx, ebx
add esi, 4
mov dword [edi - 8], ecx
mov ecx, eax
and ecx, 0x3f
and eax, 0x3f000
shl ecx, 4
or ecx, eax
mov eax, edx
shr eax, 4
shl ecx, 0xc
and eax, 0x3f00
and edx, 0x3f
or ecx, eax
mov eax, dword [esp + 0x10]
or ecx, edx
dec eax
mov dword [edi - 4], ecx
mov dword [esp + 0x10], eax
jne 0x1018e7e8
mov eax, dword [esp + 0x14]
lea edi, [eax + 4]
lea ecx, [eax + 0x84]
cmp edi, ecx
jae 0x1018e887
mov edx, edi
sub ecx, edi
sub edx, eax
add ecx, 3
shr ecx, 2
lea esi, [esp + edx + 0x104]
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x178
ret 8
Function at 0x1018ed90
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
mov edx, dword [esp + 8]
mov eax, dword [ecx + 0x400]
push esi
mov esi, dword [ecx + 0x404]
push edi
xor edi, edi
test edx, edx
jle 0x1018edf7
push ebx
push ebp
mov ebp, dword [esp + 0x14]
inc eax
and eax, 0xff
mov edx, dword [ecx + eax*4]
add esi, edx
and esi, 0xff
mov ebx, dword [ecx + esi*4]
mov dword [ecx + eax*4], ebx
add ebx, edx
and ebx, 0xff
mov dword [ecx + esi*4], edx
mov dl, byte [ecx + ebx*4]
mov bl, byte [edi + ebp]
xor bl, dl
mov edx, dword [esp + 0x18]
mov byte [edi + ebp], bl
inc edi
cmp edi, edx
jl 0x1018edae
pop ebp
pop ebx
mov dword [ecx + 0x404], esi
pop edi
mov dword [ecx + 0x400], eax
pop esi
ret 8
mov dword [ecx + 0x404], esi
pop edi
mov dword [ecx + 0x400], eax
pop esi
ret 8
Function at 0x1018ff30
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0xa0
mov eax, dword [esp + 0xa8]
xor ecx, ecx
xor edx, edx
push ebx
mov ch, byte [eax]
mov dl, byte [eax + 2]
mov cl, byte [eax + 1]
push ebp
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [eax + 3]
push esi
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [eax + 6]
mov esi, ecx
xor ecx, ecx
push edi
mov ch, byte [eax + 4]
mov cl, byte [eax + 5]
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [eax + 7]
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [eax + 0xa]
mov edi, ecx
xor ecx, ecx
mov ch, byte [eax + 8]
mov cl, byte [eax + 9]
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [eax + 0xb]
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [eax + 0xe]
mov ebp, ecx
xor ecx, ecx
mov ch, byte [eax + 0xc]
mov cl, byte [eax + 0xd]
shl ecx, 8
or ecx, edx
xor edx, edx
mov dl, byte [eax + 0xf]
shl ecx, 8
or ecx, edx
mov edx, dword [0x102676f8]
mov eax, ecx
mov ecx, dword [0x102676f4]
xor ecx, esi
mov esi, dword [esp + 0xb4]
xor edx, edi
mov dword [esp + 0x20], ecx
mov ecx, dword [0x102676fc]
mov dword [esp + 0x24], edx
mov edx, dword [0x10267700]
xor ecx, ebp
xor edx, eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
xor ecx, ecx
mov eax, dword [ecx + 0x10267704]
mov edx, dword [esp + ecx + 0x24]
mov ebp, dword [esp + ecx + 0x2c]
mov ebx, dword [esp + ecx + 0x28]
xor eax, edx
add ecx, 4
xor eax, ebp
xor eax, ebx
mov edx, eax
shr edx, 0x18
mov byte [esp + 0x10], dl
mov edx, eax
shr edx, 0x10
mov byte [esp + 0x11], dl
mov edx, eax
shr edx, 8
mov byte [esp + 0x12], dl
and eax, 0xff
mov edi, dword [esp + 0x11]
mov edx, dword [esp + 0x10]
mov al, byte [eax + 0x102675f4]
and edi, 0xff
and edx, 0xff
mov byte [esp + 0x1b], al
mov bl, byte [edi + 0x102675f4]
mov edi, dword [esp + 0x12]
mov dl, byte [edx + 0x102675f4]
and edi, 0xff
mov byte [esp + 0x19], bl
xor eax, eax
mov bl, byte [edi + 0x102675f4]
mov ah, dl
mov byte [esp + 0x1a], bl
mov edx, dword [esp + 0x19]
and edx, 0xff
or eax, edx
mov edx, dword [esp + 0x1a]
shl eax, 8
and edx, 0xff
or eax, edx
mov edx, dword [esp + 0x1b]
shl eax, 8
and edx, 0xff
or edx, eax
mov eax, edx
mov edi, edx
shr eax, 0x13
shl edi, 0xd
or eax, edi
mov edi, edx
mov ebx, edx
shl edi, 0x17
shr ebx, 9
or edi, ebx
mov ebx, dword [esp + ecx + 0x1c]
xor eax, edi
xor eax, ebx
xor eax, edx
cmp ecx, 0x80
mov dword [esp + ecx + 0x2c], eax
mov dword [ecx + esi - 4], eax
jb 0x1018fff1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret
Function at 0x101903a0
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [esp + 8]
sub esp, 0x10
cmp eax, 1
mov eax, dword [esp + 0x1c]
push ebx
push ebp
push esi
push edi
jne 0x10190439
test eax, eax
jle 0x101904c8
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
add eax, 0xf
shr eax, 4
mov dword [esp + 0x2c], eax
mov ebp, esi
sub ecx, edi
mov eax, edi
sub ebp, edi
mov edx, 0x10
mov bl, byte [ecx + eax]
xor bl, byte [eax]
inc eax
dec edx
mov byte [eax + ebp - 1], bl
jne 0x101903e3
mov eax, dword [esp + 0x24]
push esi
add eax, 4
push esi
push eax
call fcn.10190160
mov ecx, dword [esp + 0x3c]
mov edx, esi
mov eax, ecx
add esp, 0xc
mov ebx, dword [edx]
add edi, 0x10
mov dword [eax], ebx
add esi, 0x10
mov ebx, dword [edx + 4]
mov dword [eax + 4], ebx
mov ebx, dword [edx + 8]
mov dword [eax + 8], ebx
mov edx, dword [edx + 0xc]
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x2c]
dec eax
mov dword [esp + 0x2c], eax
jne 0x101903d6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret
test eax, eax
jle 0x101904c8
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
add eax, 0xf
add ecx, 4
shr eax, 4
mov dword [esp + 0x24], ecx
mov dword [esp + 0x2c], eax
mov edx, edi
push esi
push edi
mov ebx, dword [edx]
mov eax, dword [edx + 4]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [edx + 8]
push eax
mov dword [esp + 0x24], ecx
mov edx, dword [edx + 0xc]
mov dword [esp + 0x28], edx
call fcn.10190160
mov ecx, dword [esp + 0x3c]
add esp, 0xc
mov eax, esi
sub ecx, esi
mov ebp, 0x10
mov dl, byte [ecx + eax]
xor byte [eax], dl
inc eax
dec ebp
jne 0x10190493
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
add edi, 0x10
mov dword [eax], ebx
add esi, 0x10
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov eax, dword [esp + 0x2c]
dec eax
mov dword [esp + 0x2c], eax
jne 0x1019045e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret

Function at 0x101904d0
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [esp + 0x18]
push edi
mov edi, dword [esp + 0x14]
xor ecx, ecx
cmp dword [eax], edi
jae 0x101904e3
xor eax, eax
pop edi
ret
test edi, edi
jbe 0x10190515
push ebx
mov ebx, dword [esp + 0x14]
push ebp
mov ebp, dword [esp + 0x20]
push esi
sub ebx, ebp
mov eax, ecx
xor edx, edx
div dword [esp + 0x18]
mov eax, dword [esp + 0x14]
lea esi, [ecx + ebp]
mov dl, byte [edx + eax]
mov al, byte [ebx + esi]
xor dl, al
inc ecx
cmp ecx, edi
mov byte [esi], dl
jb 0x101904f4
pop esi
pop ebp
pop ebx
mov eax, dword [esp + 0x1c]
mov dword [eax], edi
mov eax, 1
pop edi
ret
Function at 0x10191b20
Capabilities:
Access peb ldr_data
Enumerate pe sections

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x102593e0
push eax
mov dword fs:[0], esp
sub esp, 0xc
push ebx
push esi
mov esi, dword [esp + 0x24]
push edi
mov ecx, esi
xor edi, edi
call fcn.10097920
cmp eax, 0x1c
jb 0x10191ca8
mov ecx, esi
call fcn.10098020
mov ebx, eax
mov al, byte [ebx + 6]
cmp al, 2
ja 0x10191cc6
cmp al, 1
je 0x10191b74
test al, al
je 0x10191b74
xor eax, eax
mov ah, byte [ebx + 5]
jmp 0x10191b76
xor eax, eax
xor ecx, ecx
mov cl, byte [ebx + 4]
add ecx, eax
je 0x10191ce0
push ebp
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x34], edi
lea edi, [ebx + 0x1a]
mov al, byte [ebx + 6]
cmp al, 1
je 0x10191ba1
test al, al
je 0x10191ba1
xor eax, eax
mov ah, byte [ebx + 5]
jmp 0x10191ba3
xor eax, eax
xor edx, edx
mov dl, byte [ebx + 4]
add edx, eax
mov eax, dword [esp + 0x34]
cmp eax, edx
jge 0x10191c90
mov eax, dword [esp + 0x38]
lea esi, [edi - 0x12]
push eax
push 1
push esi
call fcn.10193230
mov eax, dword [0x1025e6e4]
add esp, 0xc
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
xor ecx, ecx
xor edx, edx
mov cl, byte [edi - 0x10]
mov dx, word [edi]
shl ecx, 0x10
mov dword [esp + 0x24], 0
lea eax, [ecx + edx]
test eax, eax
je 0x10191c24
lea esi, [eax + ebx]
push 0xfde9
lea ecx, [esp + 0x18]
lea eax, [esi + 8]
push eax
call fcn.10087960
xor ecx, ecx
push 0xfde9
mov cx, word [esi + 4]
lea edx, [ecx + esi + 9]
lea ecx, [esp + 0x1c]
push edx
call fcn.10087960
mov esi, dword [ebp + 4]
push 0xffffffffffffffff
mov ecx, ebp
lea eax, [esi + 1]
push eax
call fcn.10193830
mov edx, dword [ebp]
mov eax, dword [esp + 0x10]
lea ecx, [esi + esi*2]
lea esi, [edx + ecx*4]
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esi + 4]
mov dword [esi], eax
call fcn.100836f0
lea edx, [esp + 0x18]
lea ecx, [esi + 8]
push edx
call fcn.100836f0
lea ecx, [esp + 0x18]
mov dword [esp + 0x24], 1
call fcn.10083560
lea ecx, [esp + 0x14]
mov dword [esp + 0x24], 0xffffffff
call fcn.10083560
mov ecx, dword [esp + 0x34]
inc ecx
add edi, 0x14
mov dword [esp + 0x34], ecx
jmp 0x10191b8f
pop ebp
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
add esp, 0x18
ret
mov eax, dword [esp + 0x30]
mov dword [eax], 1
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
add esp, 0x18
ret
mov ecx, dword [esp + 0x30]
mov eax, edi
mov dword [ecx], edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc]
mov dword fs:[0], ecx
add esp, 0x18
ret
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
mov eax, edi
pop edi
mov dword [edx], 1
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x18
ret
Function at 0x10193230
Capabilities:
Print debug messages

Disassembly:
mov edx, dword [esp + 4]
sub esp, 0x838
test edx, edx
push ebx
je 0x101933a4
mov ebx, dword [esp + 0x848]
test ebx, ebx
je 0x101933a4
mov eax, dword [esp + 0x844]
push ebp
mov ebp, dword [edx + 4]
push esi
test eax, eax
push edi
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 2
mov dword [esp + 0x18], 4
mov dword [esp + 0x1c], 8
mov dword [esp + 0x20], 0x20
mov dword [esp + 0x24], 0x40
mov dword [esp + 0x28], 0x80
mov dword [esp + 0x2c], 0x100
mov dword [esp + 0x30], 0x200
mov dword [esp + 0x34], 0x400
mov dword [esp + 0x38], 0x800
mov dword [esp + 0x3c], 0x1000
mov dword [esp + 0x40], 0x100000
mov dword [esp + 0x44], 0x200000
je 0x1019331b
lea esi, [esp + 0x10]
mov edi, 7
cmp ebx, 1
jne 0x101932fd
mov eax, dword [esi]
mov ecx, dword [edx + 4]
test ecx, eax
je 0x101932f3
not eax
and eax, ecx
mov dword [edx + 4], eax
jmp 0x10193313
mov eax, dword [esi + 4]
or eax, ecx
mov dword [edx + 4], eax
jmp 0x10193313
cmp ebx, 2
jne 0x10193313
mov eax, dword [edx + 4]
mov ecx, dword [esi]
test eax, ecx
jne 0x10193313
mov ecx, dword [esi + 4]
or ecx, eax
mov dword [edx + 4], ecx
add esi, 8
dec edi
jne 0x101932dc
jmp 0x10193354
lea esi, [esp + 0x14]
mov edi, 7
cmp ebx, 1
jne 0x10193339
mov eax, dword [esi]
mov ecx, dword [edx + 4]
test ecx, eax
jne 0x10193347
mov eax, dword [esi - 4]
or eax, ecx
jmp 0x1019334b
cmp ebx, 2
jne 0x1019334e
mov eax, dword [esi]
mov ecx, dword [edx + 4]
test ecx, eax
je 0x1019334e
not eax
and eax, ecx
mov dword [edx + 4], eax
add esi, 8
dec edi
jne 0x10193324
mov ecx, 0x1ff
xor eax, eax
lea edi, [esp + 0x4a]
mov word [esp + 0x48], 0
rep stosd dword es:[edi], eax
mov ecx, dword [edx + 4]
mov edx, dword [esp + 0x850]
push ecx
push ebp
stosw word es:[edi], ax
push edx
lea eax, [esp + 0x54]
push str.CFilePolicyMgr::ChangeTwoState_bSet__d__dwOldPolicy_0x_x__dwPolicy_0x_x_
push eax
call fcn.1006ca01
add esp, 0x14
lea ecx, [esp + 0x48]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x838
ret
xor eax, eax
pop ebx
add esp, 0x838
ret
Function at 0x10193b90
Capabilities:
Get user security identifier

Disassembly:
mov eax, dword [0x102fa58c]
sub esp, 0x120
push ebx
xor ebx, ebx
push ebp
cmp eax, ebx
push edi
jne 0x10193bdc
mov ecx, 0x44
xor eax, eax
lea edi, [esp + 0x1c]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 0x114
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov ecx, dword [esp + 0x28]
mov eax, 1
cmp ecx, 2
jne 0x10193bd7
mov dword [0x102fa590], eax
mov dword [0x102fa58c], eax
cmp dword [0x102fa590], ebx
jne 0x10193bf0
pop edi
pop ebp
xor eax, eax
pop ebx
add esp, 0x120
ret
mov ebp, dword [esp + 0x130]
mov edi, dword [esp + 0x134]
lea ecx, [esp + 0x14]
lea edx, [esp + 0x10]
push ecx
push edx
lea eax, [esp + 0x14]
push ebx
push eax
push ebx
push ebp
push ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [edi], ebx
call dword [sym.imp.ADVAPI32.dll_LookupAccountNameW]
test eax, eax
jne 0x10193c3c
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
je 0x10193c3c
pop edi
pop ebp
xor eax, eax
pop ebx
add esp, 0x120
ret
mov ecx, dword [esp + 0xc]
push esi
push ecx
call fcn.1023d8fc
mov edx, dword [esp + 0x18]
mov dword [edi], eax
lea eax, [edx + edx]
push eax
call fcn.1023d8fc
mov esi, eax
mov eax, dword [edi]
add esp, 8
test eax, eax
je 0x10193c81
test esi, esi
je 0x10193c92
lea ecx, [esp + 0x18]
lea edx, [esp + 0x14]
push ecx
push edx
lea ecx, [esp + 0x18]
push esi
push ecx
push eax
push ebp
push 0
call dword [sym.imp.ADVAPI32.dll_LookupAccountNameW]
mov ebx, eax
test esi, esi
je 0x10193c8e
push esi
call fcn.1023d925
add esp, 4
test ebx, ebx
jne 0x10193ca1
mov edi, dword [edi]
test edi, edi
je 0x10193ca1
push edi
call fcn.1023d925
add esp, 4
pop esi
pop edi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x120
ret
Function at 0x101943b0
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x102595d8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x150
mov eax, dword [0x102fa534]
push ebx
push esi
xor esi, esi
push edi
cmp eax, esi
mov dword [ebp - 0x10], esp
jne 0x1019459b
push 1
push 0x102fa540
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
push esi
push esi
push 1
push 0x102fa540
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
lea ecx, [ebp - 0x34]
mov dword [0x102fa558], 0xc
mov dword [0x102fa560], esi
mov dword [0x102fa55c], 0x102fa540
call fcn.101b5bf0
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], esi
call fcn.1023cf04
mov eax, dword [0x102fa594]
mov byte [ebp - 4], 1
cmp eax, esi
mov dword [ebp - 0x24], str.S_1_1_0
mov dword [ebp - 0x20], str.S_1_15_2_1
mov dword [ebp - 0x1c], str.S_1_15_2_2
mov ebx, 3
jne 0x101944b1
mov ecx, 0x44
xor eax, eax
lea edi, [ebp - 0x158]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x15c]
mov dword [ebp - 0x15c], 0x114
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov eax, dword [ebp - 0x14c]
mov ecx, 2
cmp eax, ecx
jne 0x101944a7
mov eax, dword [ebp - 0x158]
cmp eax, 6
ja 0x1019449d
jne 0x101944a7
cmp dword [ebp - 0x154], ecx
jb 0x101944a7
mov dword [0x102fa598], 1
mov dword [0x102fa594], 1
cmp dword [0x102fa598], esi
jne 0x101944be
mov ebx, 1
cmp ebx, esi
jle 0x10194505
lea esi, [ebp - 0x24]
mov edi, ebx
mov ecx, dword [esi]
push ecx
lea ecx, [ebp - 0x14]
call fcn.101ae670
mov edx, dword [ebp - 0x30]
push eax
push edx
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 2
call fcn.101b6350
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 1
call fcn.101aeee0
mov eax, dword [ebp - 0x40]
push 0xffffffffffffffff
push eax
lea ecx, [ebp - 0x48]
call fcn.1023d128
add esi, 4
dec edi
jne 0x101944c7
xor esi, esi
lea ecx, [ebp - 0x48]
lea edx, [ebp - 0x34]
push ecx
push edx
push 0x102fa578
mov byte [ebp - 4], 3
call fcn.10193f70
add esp, 0xc
cmp eax, esi
jne 0x10194559
lea eax, [ebp - 0x18]
push 0x10294280
push eax
mov dword [ebp - 0x18], esi
call fcn.1006bcbd
push 1
push 0x102fa578
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
push 0
push 0
push 1
push 0x102fa578
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
mov eax, 0x10194557
ret
mov eax, 1
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], eax
mov dword [0x102fa568], 0xc
mov dword [0x102fa570], esi
mov dword [0x102fa56c], 0x102fa578
mov dword [0x102fa534], eax
mov byte [ebp - 4], 0
call fcn.1023cf37
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0xffffffff
call fcn.101b5c00
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret
Function at 0x101958e0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x1025967f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x30
mov ecx, dword [0x1025e6e4]
push ebx
xor eax, eax
push esi
push edi
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov ecx, 9
lea edi, [esp + 0x16]
mov ebx, dword [esp + 0x50]
mov word [esp + 0x14], ax
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, ebx
lea edx, [esp + 0x14]
push 0xa
push edx
shr eax, 0x18
push eax
mov dword [esp + 0x50], 1
call fcn.1006d60d
add esp, 0xc
lea ecx, [esp + 0xc]
push eax
call fcn.100841b0
push 0x102ab568
lea ecx, [esp + 0x10]
call fcn.100841b0
xor edx, edx
lea ecx, [esp + 0x14]
mov dl, byte [esp + 0x52]
push 0xa
push ecx
push edx
call fcn.1006d60d
add esp, 0xc
lea ecx, [esp + 0xc]
push eax
call fcn.100841b0
push 0x102ab568
lea ecx, [esp + 0x10]
call fcn.100841b0
xor ecx, ecx
lea eax, [esp + 0x14]
push 0xa
mov cl, bh
push eax
push ecx
call fcn.1006d60d
add esp, 0xc
lea ecx, [esp + 0xc]
push eax
call fcn.100841b0
push 0x102ab568
lea ecx, [esp + 0x10]
call fcn.100841b0
lea edx, [esp + 0x14]
push 0xa
and ebx, 0xff
push edx
push ebx
call fcn.1006d60d
add esp, 0xc
lea ecx, [esp + 0xc]
push eax
call fcn.100841b0
mov esi, dword [esp + 0x4c]
lea eax, [esp + 0xc]
push eax
mov ecx, esi
call fcn.10082b60
mov dword [esp + 0x10], 1
lea ecx, [esp + 0xc]
mov byte [esp + 0x44], 0
call fcn.10083560
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
add esp, 0x3c
ret

Function at 0x10195b50
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x102596df
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x30
mov ecx, dword [0x1025e6e4]
push ebx
xor eax, eax
push esi
push edi
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
mov ecx, 9
lea edi, [esp + 0x16]
mov ebx, dword [esp + 0x50]
mov word [esp + 0x14], ax
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov eax, ebx
lea edx, [esp + 0x14]
push 0xa
push edx
shr eax, 0x18
push eax
mov dword [esp + 0x50], 1
call fcn.1006d60d
add esp, 0xc
lea ecx, [esp + 0xc]
push eax
call fcn.100841b0
push 0x102ab568
lea ecx, [esp + 0x10]
call fcn.100841b0
xor edx, edx
lea ecx, [esp + 0x14]
mov dl, byte [esp + 0x52]
push 0xa
push ecx
push edx
call fcn.1006d60d
add esp, 0xc
lea ecx, [esp + 0xc]
push eax
call fcn.100841b0
push 0x102ab568
lea ecx, [esp + 0x10]
call fcn.100841b0
xor ecx, ecx
lea eax, [esp + 0x14]
push 0xa
mov cl, bh
push eax
push ecx
call fcn.1006d60d
add esp, 0xc
lea ecx, [esp + 0xc]
push eax
call fcn.100841b0
push 0x102ab568
lea ecx, [esp + 0x10]
call fcn.100841b0
lea edx, [esp + 0x14]
push 0xa
and ebx, 0xff
push edx
push ebx
call fcn.1006d60d
add esp, 0xc
lea ecx, [esp + 0xc]
push eax
call fcn.100841b0
mov esi, dword [esp + 0x4c]
lea eax, [esp + 0xc]
push eax
mov ecx, esi
call fcn.10082b60
mov dword [esp + 0x10], 1
lea ecx, [esp + 0xc]
mov byte [esp + 0x44], 0
call fcn.10083560
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
add esp, 0x3c
ret