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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x20]
cmp eax, dword [ecx + 8]
jbe 0x500ce6
sub esp, 0xa0
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xa8]
cmp ecx, edx
jne 0x500ccd
cmp edx, 0x48
jg 0x500cb5
lea edi, [esp + 0x58]
xor eax, eax
call fcn.0045f75e
lea edi, [esp + 0x10]
call fcn.0045f75e
mov ecx, dword [esp + 0xb4]
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0xa4]
xor eax, eax
jmp 0x500b88
sub edx, eax
movzx edi, byte [ebp + edx - 1]
mov edx, ecx
sub ecx, eax
movzx esi, byte [ebx + ecx - 1]
xchg edi, ebx
mov byte [esp + eax + 0x58], bl
xchg edi, ebx
xchg esi, ebx
mov byte [esp + eax + 0x10], bl
xchg esi, ebx
inc eax
mov esi, dword [esp + 0xa8]
mov ecx, edx
mov edx, esi
cmp edx, eax
jg 0x500b5c
xor eax, eax
xor ecx, ecx
jmp 0x500c95
lea edx, [eax - 0x48]
neg edx
neg edx
sar edx, 0x1f
and edx, eax
movzx ebx, byte [esp + edx + 0x58]
movzx ebp, byte [esp + edx + 0x59]
mov esi, ebp
shl ebp, 8
or ebp, ebx
shr esi, 0x18
movzx ebx, byte [esp + edx + 0x5a]
mov edi, ebx
shl ebx, 0x10
or ebx, ebp
shr edi, 0x10
or edi, esi
movzx ebp, byte [esp + edx + 0x5b]
mov esi, ebp
shl ebp, 0x18
or ebp, ebx
shr esi, 8
or esi, edi
movzx ebx, byte [esp + edx + 0x5c]
or ebx, esi
movzx esi, byte [esp + edx + 0x5d]
shl esi, 8
or esi, ebx
movzx ebx, byte [esp + edx + 0x5e]
shl ebx, 0x10
or ebx, esi
movzx esi, byte [esp + edx + 0x5f]
shl esi, 0x18
or esi, ebx
mov dword [esp + 0xc], esi
movzx ebx, byte [esp + edx + 0x10]
movzx edi, byte [esp + edx + 0x11]
mov dword [esp + 8], edi
shl edi, 8
or edi, ebx
mov ebx, dword [esp + 8]
shr ebx, 0x18
movzx esi, byte [esp + edx + 0x12]
mov dword [esp + 8], esi
shr esi, 0x10
or esi, ebx
mov ebx, dword [esp + 8]
shl ebx, 0x10
or ebx, edi
movzx edi, byte [esp + edx + 0x13]
mov dword [esp + 8], edi
shr edi, 8
or edi, esi
mov esi, dword [esp + 8]
shl esi, 0x18
or esi, ebx
movzx ebx, byte [esp + edx + 0x14]
or ebx, edi
movzx edi, byte [esp + edx + 0x15]
shl edi, 8
or edi, ebx
movzx ebx, byte [esp + edx + 0x16]
shl ebx, 0x10
or ebx, edi
movzx edx, byte [esp + edx + 0x17]
shl edx, 0x18
or edx, ebx
sub ebp, esi
mov ebx, dword [esp + 0xc]
mov esi, ebx
sbb ebx, edx
sub ebp, ecx
sbb ebx, 0
add eax, 8
nop
mov ecx, esi
not ecx
and ecx, edx
xor esi, edx
xchg esi, ebx
not ebx
xchg esi, ebx
and ebx, esi
or ecx, ebx
shr ecx, 0x1f
cmp eax, 0x48
jl 0x500b95
cmp ecx, 1
sete al
and eax, 1
mov byte [esp + 0xbc], al
add esp, 0xa0
ret
lea eax, [0x67e720]
mov dword [esp], eax
lea eax, [0x894d28]
mov dword [esp + 4], eax
call fcn.00433690
lea eax, [0x67e720]
mov dword [esp], eax
lea eax, [0x894d48]
mov dword [esp + 4], eax
call fcn.00433690
nop
call fcn.0045e260
jmp fcn.00500af0
Function at 0x58bc20
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x58bd72
sub esp, 0x28
lea eax, [esp + 0x2c]
mov dword [esp], eax
mov dword [esp + 4], eax
mov byte [esp + 8], 0x30
call fcn.00544870
movzx eax, byte [esp + 0xc]
test al, al
jne 0x58bc8a
lea eax, [0x687ca0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x27
lea ecx, [0x6c69b5]
mov dword [eax], ecx
lea ecx, [0x895524]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
add esp, 0x28
ret
mov eax, dword [esp + 0x30]
test eax, eax
je 0x58bd5e
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov byte [esp + 0x1b], 0
lea eax, [esp + 0x2c]
mov dword [esp], eax
lea ecx, [esp + 0x1c]
mov dword [esp + 4], ecx
lea ecx, [esp + 0x1b]
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 1
call fcn.00544f50
movzx eax, byte [esp + 0x10]
test al, al
je 0x58bd2b
mov edx, dword [esp + 0x38]
mov eax, dword [edx]
movzx ecx, byte [esp + 0x1b]
xor ecx, 0xffffff80
movzx ecx, cl
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test eax, eax
je 0x58bc8a
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], ebx
add esp, 0x28
ret
lea eax, [0x687ca0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x26
lea ecx, [0x6c6461]
mov dword [eax], ecx
lea ecx, [0x895524]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
add esp, 0x28
ret
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
add esp, 0x28
ret
call fcn.0045e260
jmp fcn.0058bc20
Function at 0x596cd0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x596eff
sub esp, 0x6c
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x1c], 0
lea edi, [esp + 0x40]
xor eax, eax
call fcn.0045f765
lea ecx, [0x596f10]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x4c], ecx
lea ecx, [esp + 0x80]
mov dword [esp + 0x50], ecx
lea ecx, [esp + 0x94]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x58], ecx
lea edx, [esp + 0x28]
mov dword [esp + 0x5c], edx
lea edx, [esp + 0x1c]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x64], edx
lea ebx, [esp + 0x88]
mov dword [esp + 0x68], ebx
mov ebx, dword [edx + 0xc]
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.005891e0
mov ecx, dword [esp + 8]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x18], edx
xor eax, eax
jmp 0x596df5
mov dword [esp + 0x14], eax
mov ebx, dword [ecx + eax*4]
mov ebp, dword [esp + 0x40]
mov dword [esp], 2
mov dword [esp + 4], ebx
lea edx, [esp + 0x40]
call ebp
mov eax, dword [esp + 0x14]
inc eax
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x18]
cmp eax, edx
jl 0x596dcc
mov eax, dword [esp + 0x84]
mov eax, dword [eax + 8]
mov dword [esp], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
call fcn.005891e0
mov eax, dword [esp + 8]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x18], ecx
xor edx, edx
jmp 0x596e52
mov dword [esp + 0x14], edx
mov ecx, dword [eax + edx*4]
mov ebx, dword [esp + 0x40]
mov dword [esp], 1
mov dword [esp + 4], ecx
lea edx, [esp + 0x40]
call ebx
mov eax, dword [esp + 0x14]
lea edx, [eax + 1]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
cmp edx, ecx
jl 0x596e27
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x596e77
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov eax, dword [esp + 0x8c]
test eax, eax
jne 0x596efb
mov eax, dword [esp + 0x94]
test eax, eax
jne 0x596efb
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 0x70]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x3c], eax
lea eax, [0x69c420]
mov dword [esp], eax
lea eax, [esp + 0x30]
mov dword [esp + 4], eax
call fcn.00408750
mov eax, dword [esp + 8]
lea ecx, [0x8959fc]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
add esp, 0x6c
ret
call fcn.0045e260
jmp fcn.00596cd0
Function at 0x5caa50
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5cabfa
sub esp, 0x48
movzx eax, word [esp + 0x78]
cmp ax, 0x303
jb 0x5caa7e
movzx ecx, byte [esp + 0x80]
jmp 0x5caa8b
movzx ecx, byte [esp + 0x80]
cmp cl, 0xe4
jne 0x5caac3
mov edx, dword [esp + 0x6c]
test edx, edx
je 0x5cabe1
cmp cl, 0xe4
je 0x5caaa2
cmp ax, 0x303
jmp 0x5caac7
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
add esp, 0x48
ret
cmp ax, 0x303
jae 0x5cab55
cmp cl, 0xe3
jne 0x5cab1f
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov eax, dword [eax + 0x1c]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], edx
add esp, 0x48
ret
lea edi, [esp]
lea esi, [esp + 0x4c]
call fcn.0045fbfe
call fcn.005ca730
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], edx
add esp, 0x48
ret
mov eax, dword [esp + 0x84]
mov dword [esp], eax
call fcn.0049bcd0
mov eax, dword [esp + 4]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x44], ecx
mov edx, dword [eax + 0x20]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call edx
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x1c]
mov ecx, dword [esp + 0x44]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], edx
add esp, 0x48
ret
lea eax, [0x67e720]
mov dword [esp], eax
lea eax, [0x894e20]
mov dword [esp + 4], eax
call fcn.00433690
nop
call fcn.0045e260
jmp fcn.005caa50
Function at 0x608ee0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x609073
sub esp, 0x64
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x78]
mov eax, dword [eax + 0x7c]
test ecx, ecx
jne 0x608f14
nop
mov eax, dword [0xa1c3bc]
lea ecx, [0x896768]
mov ecx, dword [ecx + 0x1c]
mov dword [esp], eax
lea eax, [0x682040]
mov dword [esp + 4], eax
lea eax, [0xa43ac4]
mov dword [esp + 8], eax
call ecx
mov eax, dword [esp + 0x10]
lea ecx, [0x68ba20]
cmp dword [esp + 0xc], ecx
je 0x608f42
xor eax, eax
test eax, eax
je 0x60906f
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x60906f
mov dword [esp + 0x1c], eax
lea edi, [esp + 0x3c]
xor eax, eax
call fcn.0045f76b
mov ecx, dword [esp + 0x6c]
mov edx, dword [ecx + 4]
mov ebx, dword [ecx + 8]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], ebx
movzx edx, byte [esp + 0x70]
mov byte [esp + 0x44], dl
lea ebx, [ecx + 0x34]
mov dword [esp + 0x24], ebx
mov dword [esp], ebx
call fcn.00466530
mov ecx, dword [esp + 0x6c]
mov edx, dword [ecx + 0x64]
test edx, edx
je 0x608f9d
mov eax, dword [edx]
jmp 0x608f9f
xor eax, eax
test eax, eax
sete al
movzx edx, byte [esp + 0x70]
and edx, eax
mov byte [esp + 0x45], dl
test dl, dl
je 0x609048
lea esi, [ecx + 0x7c]
mov dword [esp + 0x20], esi
lea edi, [esp + 0x28]
call fcn.0045fc4e
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
test ecx, 0x80000000
je 0x608ffb
shl ecx, 1
mov edx, eax
shr eax, 0x1f
or ecx, eax
mov eax, edx
shl edx, 1
mov ebx, ecx
shl ecx, 1
shr edx, 0x1f
or ecx, edx
shr ebx, 0x1f
add ecx, 0xd7b17f80
adc ebx, 0xd
jmp 0x609003
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
test ecx, ecx
sete cl
test ebx, ebx
sete dl
and edx, ecx
test dl, dl
je 0x60901a
test eax, 0x3fffffff
je 0x609048
lea edi, [esp + 0x50]
mov esi, dword [esp + 0x20]
call fcn.0045fc4e
lea edi, [esp]
lea esi, [esp + 0x50]
call fcn.0045fc4e
call fcn.00480880
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.004668b0
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 4]
mov eax, dword [edx]
lea edi, [esp]
lea esi, [esp + 0x3c]
call fcn.0045fc4e
call eax
add esp, 0x64
ret
add esp, 0x64
ret
call fcn.0045e260
jmp fcn.00608ee0
Function at 0x403d61
Capabilities:
Encode data using xor

Disassembly:
push eax
push ebx
mov eax, 0x499
mov ecx, 0x404498
mov bl, byte [ecx]
sub bl, 0xf2
rol bl, 2
sub bl, cl
ror bl, 1
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d6d
mov eax, 0x261d
mov ecx, 0x403764
mov bl, byte [ecx]
rol bl, 7
ror bl, 2
sub bl, cl
xor bl, 0x91
mov byte [ecx], bl
dec ecx
dec eax
jne 0x403d8a
pop ebx
pop eax
add ecx, 0x2c1a
jmp ecx

Function at 0x10002190
Capabilities:
Encode data using xor

Disassembly:
arpl word [esi], si
xchg ecx, eax
movsd dword es:[edi], dword [esi]
push ds
call 0x4fea7bda
mov ebp, 0xab885b81
dec edi
out dx, al
invalid

Function at 0x103ca058
Capabilities:
Decompress data using aplib

Disassembly:
call 0x103ca1a8
push ebx
mov ebx, esp
push ebx
mov esi, dword [ebx + 8]
mov edi, dword [ebx + 0x10]
cld
mov dl, 0x80
mov al, byte [esi]
inc esi
mov byte [edi], al
inc edi
mov ebx, 2
add dl, dl
jne 0x103ca07e
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x103ca06a
add dl, dl
jne 0x103ca089
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x103ca0dc
xor eax, eax
add dl, dl
jne 0x103ca096
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x103ca17d
add dl, dl
jne 0x103ca0a5
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x103ca0b0
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x103ca0bb
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x103ca0c6
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
je 0x103ca0d2
push edi
mov eax, eax
sub edi, eax
mov al, byte [edi]
pop edi
mov byte [edi], al
inc edi
mov ebx, 2
jmp 0x103ca075
mov eax, 1
add dl, dl
jne 0x103ca0ea
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x103ca0f5
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x103ca0e1
sub eax, ebx
mov ebx, 1
jne 0x103ca128
mov ecx, 1
add dl, dl
jne 0x103ca10e
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x103ca119
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x103ca105
push esi
mov esi, edi
sub esi, ebp
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x103ca075
dec eax
shl eax, 8
mov al, byte [esi]
inc esi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x103ca13f
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x103ca14a
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x103ca136
cmp eax, 0x7d00
jae 0x103ca16d
cmp eax, 0x500
jb 0x103ca168
inc ecx
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x103ca075
cmp eax, 0x7f
ja 0x103ca170
add ecx, 2
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x103ca075
mov al, byte [esi]
inc esi
xor ecx, ecx
shr al, 1
je 0x103ca19e
adc ecx, 2
mov ebp, eax
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
mov ebx, 1
jmp 0x103ca075
pop ebx
sub edi, dword [ebx + 0x10]
mov eax, edi
pop ebx
ret 0x10
Function at 0x1001cc6a
Capabilities:
Create pipe

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x54
movzx eax, byte [ebp + 0x1c]
test eax, eax
je 0x1001cd8c
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 8]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
push 2
mov ecx, dword [ebp - 0x18]
call fcn.1001778d
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [ecx]
cmp dword [eax], ecx
jge 0x1001ccf0
mov dword [ebp - 0x14], 1
jmp 0x1001ccf4
and dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
cmp dword [ebp - 0x14], eax
jg 0x1001cd07
mov dword [ebp - 0x1c], 1
jmp 0x1001cd0b
and dword [ebp - 0x1c], 0
push 0
mov ecx, dword [ebp - 0x18]
call fcn.1001778d
mov ecx, dword [ebp - 0x1c]
cmp ecx, dword [eax]
jg 0x1001cd25
mov dword [ebp - 0x20], 1
jmp 0x1001cd29
and dword [ebp - 0x20], 0
mov eax, dword [ebp - 8]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x20]
jge 0x1001cd3c
mov dword [ebp - 0xc], 1
jmp 0x1001cd40
and dword [ebp - 0xc], 0
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xc]
mov dword [eax], ecx
cmp dword [ebp - 0xc], 0xf341
je 0x1001cd5a
mov dword [ebp - 0x28], 1
jmp 0x1001cd5e
and dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
cmp dword [ebp - 0x28], eax
jl 0x1001cd71
mov dword [ebp - 0x10], 1
jmp 0x1001cd75
and dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x10]
mov dword [eax], ecx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x10]
sub ecx, dword [eax]
mov eax, dword [ebp - 0x4c]
mov dword [eax], ecx
jmp 0x1001cda9
mov byte [ebp - 1], 0
movzx eax, byte [ebp - 1]
test eax, eax
je 0x1001cda9
push 0x16f6
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreatePipe]
mov esp, ebp
pop ebp
ret
Function at 0x100337e3
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
and dword [ebp - 4], 0
push 0x40b7
push 0x5a33
push 1
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 8]
push eax
call fcn.10032ee8
add esp, 0x14
mov eax, dword [ebp - 0x10]
movzx eax, word [eax]
cmp eax, 0x5a4d
je 0x1003381d
xor eax, eax
jmp 0x1003398f
lea eax, [ebp - 0x10]
push eax
push 0x694b
push 0x61af
push 0x13b2
push 0xa6
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 8]
push eax
push 0x7352
push 1
call fcn.10032f7a
add esp, 0x24
mov eax, dword [ebp - 8]
cmp dword [eax], 0x4550
je 0x1003385e
xor eax, eax
jmp 0x1003398f
push 0x52f1
push dword [ebp - 8]
lea eax, [ebp - 0xc]
push eax
push 0x798a
push 1
call fcn.10032660
add esp, 0x14
cmp dword [ebp - 0xc], 0
jne 0x10033886
xor eax, eax
jmp 0x1003398f
lea eax, [ebp - 0x24]
push eax
push 0x490f
lea eax, [ebp - 0x10]
push eax
push 0x1d69
push 1
push 0x3004
lea eax, [ebp - 4]
push eax
push 0x5b6a
lea eax, [ebp - 0xc]
push eax
push 0x4c3
lea eax, [ebp - 8]
push eax
call fcn.1003349b
add esp, 0x2c
push 0x4f8c
push dword [ebp + 8]
push 0
push dword [ebp - 8]
push dword [ebp - 4]
push 0x3b21
call fcn.1002e889
add esp, 0x18
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
sub ecx, dword [eax + 0x34]
mov dword [ebp - 0x1c], ecx
push 0x249d
push 0x2ebd
push 1
push 0x2b95
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 4]
push eax
push 0x36a4
call fcn.10033667
add esp, 0x1c
push dword [ebp - 4]
call fcn.10032535
pop ecx
test eax, eax
jne 0x1003391d
xor eax, eax
jmp 0x1003398f
push 1
push 0x795f
lea eax, [ebp - 4]
push eax
push 0x4377
call fcn.1003375f
add esp, 0x10
mov eax, dword [ebp - 4]
mov eax, dword [eax]
cmp dword [eax + 0x28], 0
je 0x10033977
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov ecx, dword [ebp - 0xc]
add ecx, dword [eax + 0x28]
mov dword [ebp - 0x14], ecx
jne 0x10033954
xor eax, eax
jmp 0x1003398f
push 0
push 1
push 0xdeadbeef
call dword [ebp - 0x14]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
jne 0x1003396d
xor eax, eax
jmp 0x1003398f
mov eax, dword [ebp - 4]
mov dword [eax + 0x10], 1
mov eax, dword [ebp - 4]
cmp dword [eax + 0x10], 0
je 0x10033988
mov eax, dword [ebp - 4]
mov dword [ebp - 0x18], eax
jmp 0x1003398c
and dword [ebp - 0x18], 0
mov eax, dword [ebp - 0x18]
mov esp, ebp
pop ebp
ret
Function at 0x10049aed
Capabilities:
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
movzx eax, byte [ebp + 0x20]
test eax, eax
je 0x10049b27
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
movzx eax, byte [eax]
test eax, eax
je 0x10049b22
push 0
push 0x1ab5
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
jmp 0x10049c35
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
push 2
mov ecx, dword [ebp - 0x14]
call fcn.1001778d
mov ecx, dword [ebp - 0x28]
mov ecx, dword [ecx]
cmp dword [eax], ecx
jge 0x10049b9b
mov dword [ebp - 0x10], 1
jmp 0x10049b9f
and dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
cmp dword [ebp - 0x10], eax
jg 0x10049bb2
mov dword [ebp - 0x18], 1
jmp 0x10049bb6
and dword [ebp - 0x18], 0
push 0
mov ecx, dword [ebp - 0x14]
call fcn.1001778d
mov ecx, dword [ebp - 0x18]
cmp ecx, dword [eax]
jg 0x10049bd0
mov dword [ebp - 0x1c], 1
jmp 0x10049bd4
and dword [ebp - 0x1c], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax]
cmp eax, dword [ebp - 0x1c]
jge 0x10049be7
mov dword [ebp - 8], 1
jmp 0x10049beb
and dword [ebp - 8], 0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 8]
mov dword [eax], ecx
cmp dword [ebp - 8], 0xf341
je 0x10049c05
mov dword [ebp - 0x24], 1
jmp 0x10049c09
and dword [ebp - 0x24], 0
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
cmp dword [ebp - 0x24], eax
jl 0x10049c1c
mov dword [ebp - 0xc], 1
jmp 0x10049c20
and dword [ebp - 0xc], 0
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0xc]
mov dword [eax], ecx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0xc]
sub ecx, dword [eax]
mov eax, dword [ebp - 0x50]
mov dword [eax], ecx
mov esp, ebp
pop ebp
ret
Function at 0x1004a709
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
movzx eax, byte [ebp + 0x14]
test eax, eax
je 0x1004a754
mov eax, dword [ebp + 0xc]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
shl eax, 2
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx]
sub ecx, eax
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
mov dword [eax + 0x20], ecx
jmp 0x1004a785
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
movzx eax, byte [eax]
test eax, eax
je 0x1004a785
push 0x864
push 0
push 0xd2a
push 0xd30
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esp, ebp
pop ebp
ret