joyce8/EMBER2024-capa huggingface dataset:
Function at 0x100d2db0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, dword [esp + 0x14]
push esi
push edi
push ebp
xor edi, edi
call fcn.100ae0a0
push ebp
call fcn.100adfc0
mov esi, eax
add esp, 8
test esi, esi
je 0x100d2fb9
push ebx
mov ebx, dword [esp + 0x18]
mov eax, dword [ebx + 4]
add eax, eax
cmp eax, dword [esi + 8]
jg 0x100d2de5
mov eax, esi
jmp 0x100d2def
push eax
push esi
call fcn.1008d550
add esp, 8
test eax, eax
je 0x100d2fb8
mov ebp, dword [ebx + 4]
dec ebp
js 0x100d2f68
mov eax, dword [ebx]
mov edx, dword [eax + ebp*4]
mov ecx, edx
shr ecx, 1
mov eax, edx
and eax, 0x20000
and ecx, 0x8000
or ecx, eax
mov eax, edx
and eax, 0x40000
shr ecx, 1
or ecx, eax
mov eax, edx
and eax, 0x80000
shr ecx, 1
or ecx, eax
mov eax, edx
and eax, 0x100000
shr ecx, 1
or ecx, eax
mov eax, edx
and eax, 0x200000
shr ecx, 1
or ecx, eax
mov eax, edx
and eax, 0x400000
shr ecx, 1
or ecx, eax
mov eax, edx
and eax, 0x800000
shr ecx, 1
or ecx, eax
mov eax, edx
and eax, 0x1000000
shr ecx, 1
or ecx, eax
mov eax, edx
and eax, 0x2000000
shr ecx, 1
or ecx, eax
mov eax, edx
and eax, 0x4000000
shr ecx, 1
or ecx, eax
mov eax, edx
and eax, 0x8000000
shr ecx, 1
or ecx, eax
mov eax, edx
and eax, 0x10000000
shr ecx, 1
or ecx, eax
mov eax, edx
and eax, 0x20000000
shr ecx, 1
or ecx, eax
mov eax, edx
and eax, 0x40000000
shr ecx, 1
or ecx, eax
and edx, reloc.WS2_32.dll_accept
mov eax, dword [esi]
shr ecx, 1
or ecx, edx
shr ecx, 1
mov dword [eax + ebp*8 + 4], ecx
mov eax, dword [ebx]
mov ecx, dword [eax + ebp*4]
mov edx, ecx
and edx, 0x8000
mov eax, ecx
add edx, edx
and eax, 0x4000
or edx, eax
mov eax, ecx
add edx, edx
and eax, 0x2000
or edx, eax
mov eax, ecx
add edx, edx
and eax, 0x1000
or edx, eax
mov eax, ecx
add edx, edx
and eax, 0x800
or edx, eax
mov eax, ecx
add edx, edx
and eax, 0x400
or edx, eax
mov eax, ecx
add edx, edx
and eax, 0x200
or edx, eax
mov eax, ecx
add edx, edx
and eax, 0x100
or edx, eax
mov eax, ecx
add edx, edx
and eax, 0x80
or edx, eax
mov eax, ecx
add edx, edx
and eax, 0x40
or edx, eax
mov eax, ecx
add edx, edx
and eax, 0x20
or edx, eax
mov eax, ecx
add edx, edx
and eax, 0x10
or edx, eax
mov eax, ecx
add edx, edx
and eax, 8
or edx, eax
mov eax, ecx
add edx, edx
and eax, 4
or edx, eax
mov eax, ecx
add edx, edx
and eax, 2
or edx, eax
and ecx, 1
mov eax, dword [esi]
add edx, edx
or edx, ecx
mov dword [eax + ebp*8], edx
dec ebp
jns 0x100d2e01
mov eax, dword [ebx + 4]
add eax, eax
mov dword [esi + 4], eax
test eax, eax
jle 0x100d2f91
mov ecx, dword [esi]
lea edx, [eax - 1]
lea edx, [ecx + edx*4]
lea esp, [esp]
mov ecx, dword [edx]
lea edx, [edx - 4]
test ecx, ecx
jne 0x100d2f8e
dec eax
test eax, eax
jg 0x100d2f80
mov dword [esi + 4], eax
cmp dword [esi + 4], edi
jne 0x100d2f99
mov dword [esi + 0xc], edi
push dword [esp + 0x1c]
push esi
push dword [esp + 0x1c]
call fcn.100d1ec0
mov ebp, dword [esp + 0x2c]
add esp, 0xc
test eax, eax
mov ecx, 1
cmovne edi, ecx
pop ebx
push ebp
call fcn.100adf50
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebp
ret
Function at 0x100d5790
Capabilities:
Encode data using base64

Disassembly:
mov eax, dword [esp + 4]
push ebx
push esi
mov esi, dword [esp + 0x14]
xor ebx, ebx
test esi, esi
jle 0x100d587c
push edi
mov edi, dword [esp + 0x14]
inc edi
lea ebx, [ebx]
movzx edx, byte [edi - 1]
cmp esi, 3
jl 0x100d580e
movzx ecx, byte [edi]
shl edx, 8
or edx, ecx
movzx ecx, byte [edi + 1]
shl edx, 8
or edx, ecx
mov ecx, edx
shr ecx, 0x12
and ecx, 0x3f
movzx ecx, byte [ecx + 0x10102fd8]
mov byte [eax], cl
mov ecx, edx
shr ecx, 0xc
and ecx, 0x3f
movzx ecx, byte [ecx + 0x10102fd8]
mov byte [eax + 1], cl
mov ecx, edx
shr ecx, 6
and ecx, 0x3f
and edx, 0x3f
movzx ecx, byte [ecx + 0x10102fd8]
mov byte [eax + 2], cl
movzx ecx, byte [edx + 0x10102fd8]
mov byte [eax + 3], cl
jmp 0x100d585f
shl edx, 0x10
cmp esi, 2
jne 0x100d581e
movzx ecx, byte [edi]
shl ecx, 8
or edx, ecx
mov ecx, edx
shr ecx, 0x12
and ecx, 0x3f
movzx ecx, byte [ecx + 0x10102fd8]
mov byte [eax], cl
mov ecx, edx
shr ecx, 0xc
and ecx, 0x3f
movzx ecx, byte [ecx + 0x10102fd8]
mov byte [eax + 1], cl
cmp esi, 1
jne 0x100d584b
lea ecx, [esi + 0x3c]
jmp 0x100d5858
shr edx, 6
and edx, 0x3f
movzx ecx, byte [edx + 0x10102fd8]
mov byte [eax + 2], cl
mov byte [eax + 3], 0x3d
sub esi, 3
add eax, 4
add ebx, 4
add edi, 3
test esi, esi
jg 0x100d57b0
pop edi
mov byte [eax], 0
mov eax, ebx
pop esi
pop ebx
ret
mov byte [eax], bl
mov eax, ebx
pop esi
pop ebx
ret
Function at 0x407010
Capabilities:
Enumerate pe sections

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
xor edx, edx
push ebx
push esi
push edi
mov ecx, dword [eax + 0x3c]
add ecx, eax
movzx eax, word [ecx + 0x14]
movzx ebx, word [ecx + 6]
add eax, 0x18
add eax, ecx
test ebx, ebx
je 0x40704e
mov edi, dword [ebp + 0xc]
mov esi, dword [eax + 0xc]
cmp edi, esi
jb 0x407046
mov ecx, dword [eax + 8]
add ecx, esi
cmp edi, ecx
jb 0x407050
inc edx
add eax, 0x28
cmp edx, ebx
jb 0x407036
xor eax, eax
pop edi
pop esi
pop ebx
pop ebp
ret

Function at 0x407120
Capabilities:
Parse pe header

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov ecx, dword [ebp + 8]
mov eax, 0x5a4d
cmp word [ecx], ax
jne 0x407151
mov eax, dword [ecx + 0x3c]
add eax, ecx
cmp dword [eax], 0x4550
jne 0x407151
mov ecx, 0x10b
cmp word [eax + 0x18], cx
jne 0x407151
mov eax, 1
pop ebp
ret
xor eax, eax
pop ebp
ret

Function at 0x433c8c
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
mov eax, 0x401000
call 0x433c8c
lcall 0x5de5, 0x8b10c483
jmp int.007b54a8

Function at 0x7ffe5440
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
mov eax, dword fs:[0x30]
push eax
pop eax
add al, 4
sub al, 4
push eax
pop eax
pushf
popf
push es
pop ds
pushf
popf
push eax
pop eax
nop
call 0x7ffe5460
pop edx
add al, 0
push eax
pop eax
xor dx, dx
push edx
cdq
pop edx
add edx, 0xd5e0
add al, 0
xor ecx, ecx
push es
pop ds
inc esi
dec esi
cld
mov cl, 0x1e
pushf
popf
xor byte [ecx + edx], 0x9f
loop 0x7ffe5480
push eax
pop eax
push edx
cdq
pop edx
push dword fs:[0x24]
pop dword [edx + 0xa]
add al, 0
push eax
pop eax
clc
mov cl, 0xff
push edx
loop 0x7ffe549c
and al, 0xff
clc
mov dword [edx + 0x11], 0xffffacbb
mov ecx, dword [eax + 0x2c]
pushf
popf
cld
mov dword [edx + 0x1b], ecx
mov dword [edx + 0x100], ecx
lea esp, [esp]
mov dword [eax + 0x2c], esp
push 0
and al, 0xff
stc
push 0
push es
pop ds
push 0
add eax, 0
push 0
add al, 0
and al, 0xff
push 0x30
inc esi
dec esi
stc
push 0x20
inc esi
dec esi
push 0
add al, 0
cld
push 0
add edx, 0xffff7f35
cld
push edx
push edx
nop
push 0
inc esi
dec esi
call dword [edx + 0x820e]
nop
add esp, 0x3f8
pushf
popf
xor eax, eax
push es
pop ds
and bh, 0xff
inc eax
push es
pop ds
push es
pop ds
ret 0xc
Function at 0x430006
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
mov eax, section..text
nop
nop
nop
push 4
nop
nop
nop
nop
nop
nop
nop
pop edi
nop
nop
nop
cmp eax, 0
nop
nop
nop
nop
je 0x430072
mov ebx, 0x408f6c
nop
nop
nop
nop
nop
mov ecx, ebx
nop
sub ecx, eax
nop
nop
nop
nop
nop
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
push eax
nop
nop
nop
mov eax, ecx
nop
nop
nop
nop
nop
div edi
nop
xchg ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
mov esi, 0x332e0448
nop
nop
nop
xor dword [eax], esi
nop
nop
nop
nop
add eax, edi
nop
nop
nop
loop 0x430060
nop
nop
nop
nop
mov eax, section..data
nop
nop
nop
cmp eax, 0
je 0x4300d2
nop
nop
nop
nop
nop
mov ebx, 0x42e3d0
mov ecx, ebx
nop
nop
nop
nop
sub ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
xor edx, edx
push eax
nop
nop
nop
nop
nop
nop
mov eax, ecx
nop
nop
nop
nop
nop
div edi
nop
nop
nop
xchg ecx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
pop eax
nop
mov esi, 0x3aa51e76
nop
nop
nop
xor dword [eax], esi
nop
nop
nop
nop
add eax, edi
nop
nop
nop
loop 0x4300c0
nop
nop
nop
nop
nop
nop
popal
nop
jmp 0x401219
Function at 0x405d6b
Capabilities:
Encode data using xor
Hash data with crc32

Disassembly:
cmp dword [0x43ea0c], 0
push esi
jne 0x405da2
xor ecx, ecx
push 8
mov eax, ecx
pop esi
mov edx, eax
and dl, 1
neg dl
sbb edx, edx
and edx, 0xedb88320
shr eax, 1
xor eax, edx
dec esi
jne 0x405d7c
mov dword [ecx*4 + 0x43ea08], eax
inc ecx
cmp ecx, 0x100
jl 0x405d77
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 8]
test edx, edx
not eax
jbe 0x405dd3
mov ecx, dword [esp + 0xc]
push edi
movzx edi, byte [ecx]
mov esi, eax
and esi, 0xff
xor esi, edi
shr eax, 8
mov esi, dword [esi*4 + 0x43ea08]
xor eax, esi
inc ecx
dec edx
jne 0x405db5
pop edi
not eax
pop esi
ret 0xc

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

Disassembly:
pushal
nop
nop
nop
nop
nop
mov eax, section..text
nop
mov ebx, 0x407ef8
nop
nop
mov ecx, 0x571d0f05
nop
test eax, eax
nop
nop
nop
nop
je 0x42e04e
nop
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
inc eax
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
nop
inc eax
cmp eax, ebx
nop
nop
nop
nop
jne 0x42e024
nop
nop
nop
nop
nop
mov eax, section..data
mov ebx, 0x42cd70
nop
nop
mov ecx, 0x2ca06955
nop
nop
nop
nop
test eax, eax
nop
nop
je 0x42e084
nop
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
add eax, 4
nop
nop
cmp eax, ebx
nop
nop
nop
nop
nop
nop
jne 0x42e06c
nop
nop
nop
nop
popal
nop
nop
jmp 0x401219

Function at 0x404b33
Capabilities:
Acquire debug privileges

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
push 0x4016c6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push 0x2c
pop eax
call sub.MSVBVM60.DLL___vbaChkstk
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x14], 0x4011c8
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 4], 1
mov dword [ebp - 4], 2
push 0xffffffffffffffff
call sub.MSVBVM60.DLL___vbaOnError
mov dword [ebp - 4], 3
push 0x402d04
call fcn.00404c1c
mov dword [ebp - 4], 4
mov eax, dword [ebp + 0x10]
cmp word [eax], 0xffff
jne 0x404bb5
mov dword [ebp - 4], 5
mov dword [ebp - 0x24], 0x1d
jmp 0x404bc0
mov dword [ebp - 4], 7
and dword [ebp - 0x24], 0
mov dword [ebp - 4], 9
lea eax, [ebp - 0x24]
push eax
call sub.MSVBVM60.DLL_VarPtr
mov dword [ebp - 0x38], eax
push 4
push dword [ebp - 0x38]
push 0x1d
xor eax, eax
mov eax, dword [ebp + 0xc]
mov ax, word [eax]
push eax
call fcn.0040307c
call sub.MSVBVM60.DLL___vbaSetSystemError
push 0x404bfe
jmp 0x404bfd
ret
Function at 0x4091b5
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x210
mov eax, dword [0x4101e0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
lea eax, [ebp - 0x210]
mov dword [ebp - 0x210], 0x208
push eax
lea eax, [ebp - 0x20c]
mov esi, ecx
push eax
push 0
push 2
push str.CommonFilesDir
push str.SoftwareMicrosoftWindowsCurrentVersion
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegGetValueW]
test eax, eax
jne 0x409247
mov ecx, dword [ebp - 0x210]
cmp ecx, 4
jb 0x409247
shr ecx, 1
push 0xffffffffffffffff
cmp word [ebp + ecx*2 - 0x210], 0x5c
sete al
lea eax, [eax*2 + str.Microsoft_SharedOffice16_]
push eax
lea eax, [ebp - 0x20c]
push 0x104
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat_s]
add esp, 0x10
lea ecx, [ebp - 0x20c]
mov edx, esi
call fcn.004090f5
jmp 0x409249
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.00409d37
mov esp, ebp
pop ebp
ret

Function at 0x409278
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x210
mov eax, dword [0x4101e0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
lea eax, [ebp - 0x210]
mov dword [ebp - 0x210], 0x208
push eax
lea eax, [ebp - 0x20c]
mov esi, ecx
push eax
push 0
push 2
push esi
push str.SoftwareMicrosoftOffice16.0CommonFilesPaths
push 0x80000002
mov edi, edx
call dword [sym.imp.ADVAPI32.dll_RegGetValueW]
test eax, eax
jne 0x4092df
cmp dword [ebp - 0x210], 4
jb 0x4092df
test edi, edi
lea ecx, [ebp - 0x20c]
cmovne esi, edi
mov edx, esi
call fcn.004090f5
jmp 0x4092e1
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.00409d37
mov esp, ebp
pop ebp
ret

Function at 0x4093c6
Capabilities:
Query or enumerate registry value

Disassembly:
push esi
mov esi, ecx
call fcn.00409258
test eax, eax
jne 0x4093ea
mov ecx, esi
call fcn.004091b5
test eax, eax
jne 0x4093ea
mov edx, esi
mov ecx, 0x40d8a4
pop esi
jmp fcn.00409278
pop esi
ret
Function at 0x431006
Capabilities:
Encode data using xor

Disassembly:
mov eax, section..text
nop
nop
push 4
nop
nop
nop
pop edi
nop
nop
nop
nop
nop
nop
nop
cmp eax, 0
nop
nop
je 0x431072
nop
nop
nop
nop
mov ebx, 0x40915c
nop
mov ecx, ebx
nop
nop
nop
nop
nop
nop
sub ecx, eax
nop
xor edx, edx
nop
nop
nop
nop
nop
nop
push eax
nop
nop
nop
mov eax, ecx
nop
nop
nop
nop
nop
nop
nop
nop
div edi
nop
nop
nop
xchg ecx, eax
nop
nop
nop
pop eax
nop
nop
nop
nop
mov esi, 0x2a5d2dcf
nop
nop
xor dword [eax], esi
nop
nop
nop
nop
nop
add eax, edi
nop
nop
nop
nop
loop 0x431060
nop
nop
nop
mov eax, section..reloc
cmp eax, 0
nop
nop
nop
je 0x4310d2
nop
nop
nop
nop
mov ebx, 0x42f3f8
nop
nop
nop
nop
mov ecx, ebx
nop
nop
sub ecx, eax
nop
nop
nop
nop
nop
nop
nop
xor edx, edx
push eax
nop
nop
nop
nop
nop
nop
mov eax, ecx
nop
nop
nop
nop
nop
div edi
nop
nop
nop
xchg ecx, eax
nop
nop
nop
nop
pop eax
nop
nop
nop
nop
nop
mov esi, 0x6120780e
nop
nop
xor dword [eax], esi
nop
nop
nop
nop
nop
nop
nop
add eax, edi
nop
loop 0x4310c0
nop
nop
nop
nop
nop
nop
nop
popal
nop
jmp 0x401219
Function at 0x40b930
Capabilities:
Decompress data using quicklz

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x40bafe
sub esp, 0x38
mov eax, dword [esp + 0x3c]
cmp eax, 0x7000000
jle 0x40b95b
mov eax, 0x7000000
jmp 0x40b963
test eax, eax
je 0x40bad9
mov dword [esp + 0x14], eax
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0x18]
mov edx, dword [ecx + 0x94]
mov ebx, dword [ecx + 0x98]
mov dword [ecx + 0x94], ebx
mov ebp, edx
shl edx, 0x11
xor edx, ebp
mov ebp, ebx
xor ebx, edx
shr edx, 7
xor edx, ebx
mov ebx, ebp
shr ebp, 0x10
xor ebp, edx
mov dword [ecx + 0x98], ebp
lea ecx, [ebp + ebx]
shr ecx, 6
inc ecx
mov dword [esp], ecx
call fcn.00462c60
movsd xmm0, qword [esp + 4]
movsd qword [esp + 0x28], xmm0
mov eax, dword [esp + 0x2c]
mov ecx, eax
shr eax, 0x14
and eax, 0x7ff
mov edx, eax
add eax, 0xfffffc01
mov ebx, ecx
shr ecx, 0xf
and ecx, 0x1f
mov ebp, ecx
add ecx, 1
mov esi, 0
adc esi, 0
shl ebx, 5
mov edi, dword [esp + 0x28]
shr edi, 0x1b
or edi, ebx
lea ebx, [0x8c4c20]
movsd xmm0, qword [ebx + ebp*8]
test esi, esi
jne 0x40baf1
cmp ecx, 0x21
jae 0x40bae5
movsd qword [esp + 0x18], xmm0
mov dword [esp + 0x10], edi
add edx, 0xfffffc01
mov edx, 0xffffffff
adc edx, 0
movsd xmm0, qword [ebx + ecx*8]
movsd qword [esp + 0x20], xmm0
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0045d580
movsd xmm0, qword [esp + 8]
movsd qword [esp + 0x30], xmm0
mov dword [esp + 4], 0
mov eax, dword [esp + 0x10]
and eax, 0xfffff
mov dword [esp], eax
call fcn.0045d650
movsd xmm0, qword [esp + 0x30]
movsd xmm1, qword [esp + 0x18]
addsd xmm0, xmm1
movsd xmm2, qword [esp + 0x20]
subsd xmm2, xmm1
movsd xmm1, qword [esp + 8]
mulsd xmm1, xmm2
movsd xmm2, qword [0x747430]
mulsd xmm2, xmm1
addsd xmm0, xmm2
movsd xmm1, qword [0x7475a8]
subsd xmm0, xmm1
xorps xmm1, xmm1
ucomisd xmm0, xmm1
jbe 0x40bab4
xorps xmm0, xmm0
mov eax, dword [esp + 0x14]
cvtsi2sd xmm1, eax
movsd xmm2, qword [0x747660]
mulsd xmm1, xmm2
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
inc eax
mov dword [esp + 0x40], eax
add esp, 0x38
ret
mov dword [esp + 0x40], 0
add esp, 0x38
ret
mov eax, ecx
mov ecx, 0x21
call fcn.00462d40
mov eax, ecx
mov ecx, 0x21
call fcn.00462e20
nop
call fcn.004618a0
jmp fcn.0040b930
Function at 0x415180
Capabilities:
Check for software breakpoints

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x415394
sub esp, 0x18
mov eax, dword [0x91ddd0]
test eax, eax
jne 0x41537d
nop
lea eax, [0x91ddb8]
mov dword [esp], eax
call fcn.00409780
mov eax, dword [0x91ddbc]
test eax, eax
je 0x4151c9
cmp dword [eax + 8], 0xcc
jne 0x41523f
mov edx, dword [0x91ddb0]
test edx, edx
jne 0x415221
mov dword [esp], 0x1000
mov dword [esp + 4], 0
lea eax, [0x9229f0]
mov dword [esp + 8], eax
call fcn.0040bb10
mov eax, dword [esp + 0xc]
mov dword [0x91ddb0], eax
mov ecx, dword [0x91dd74]
mov dword [eax], ecx
mov eax, dword [0x91ddb0]
mov dword [0x91dd74], eax
movzx eax, byte [0x91e4e0]
test al, al
jne 0x415221
xor eax, eax
jmp 0x415329
mov edx, dword [0x91ddb0]
mov ebx, dword [edx + 4]
mov dword [0x91ddb0], ebx
mov ebx, dword [0x91ddbc]
mov dword [edx + 4], ebx
mov dword [0x91ddbc], edx
mov edx, dword [0x91ddbc]
mov eax, dword [edx + 8]
cmp eax, 0xcc
jae 0x415311
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
lea eax, [edx + 8]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.004020d0
mov eax, dword [esp + 0x10]
lea eax, [eax + eax*4]
mov ecx, dword [esp + 0x14]
lea edi, [ecx + eax*4 + 0x10]
mov edx, dword [0x91e100]
lea ebx, [ecx + eax*4 + 0x1c]
lea ebp, [ecx + eax*4 + 0x20]
lea esi, [ecx + eax*4 + 0x14]
test edx, edx
jne 0x41529d
mov edx, dword [esp + 0x20]
mov dword [ecx + eax*4 + 0x10], edx
jmp 0x4152aa
mov edx, eax
mov eax, dword [esp + 0x20]
call fcn.00462cb0
mov eax, edx
mov edx, dword [esp + 0x24]
mov dword [ecx + eax*4 + 0x18], edx
mov edx, dword [0x91e100]
test edx, edx
jne 0x4152d6
mov edx, dword [esp + 0x28]
mov dword [ecx + eax*4 + 0x1c], edx
mov edx, dword [esp + 0x2c]
mov dword [ecx + eax*4 + 0x20], edx
mov edx, dword [esp + 0x1c]
mov dword [ecx + eax*4 + 0x14], edx
jmp 0x4152f7
mov edi, ebx
mov eax, dword [esp + 0x28]
call fcn.00462cb0
mov edi, ebp
mov eax, dword [esp + 0x2c]
call fcn.00462cb0
mov edi, esi
mov eax, dword [esp + 0x1c]
call fcn.00462cb0
mov byte [0x91dcb3], 1
nop
lea eax, [0x91ddb8]
mov dword [esp], eax
call fcn.00409980
add esp, 0x18
ret
mov ecx, 0xcc
call fcn.00462d40
lea esi, [0x91e4e0]
xchg ebp, eax
mov byte [esi + ebx], al
xchg ebp, eax
lea eax, [ebx + 1]
cmp eax, 0x80
jge 0x415221
mov ecx, eax
mov eax, 0xcccccccd
imul ecx
add edx, ecx
sar edx, 2
mov eax, ecx
sar ecx, 0x1f
sub edx, ecx
lea edx, [edx + edx*4]
mov ebx, eax
sub eax, edx
cmp eax, 5
jae 0x415373
lea edx, [0x8bceb0]
movzx ebp, byte [edx + eax]
cmp ebx, 0x80
jb 0x41531b
mov eax, ebx
mov ecx, pe_nt_image_headers32
call fcn.00462d30
mov ecx, 5
call fcn.00462d30
lea eax, [0x6d85f5]
mov dword [esp], eax
mov dword [esp + 4], 0x18
call fcn.00437450
nop
call fcn.004618a0
jmp fcn.00415180
Function at 0x429150
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x42926c
sub esp, 0x14
mov eax, dword [esp + 0x18]
movzx ecx, byte [eax + 6]
cmp cl, 1
je 0x4291e5
cmp cl, 2
je 0x42918d
cmp cl, 3
jne 0x429255
mov byte [eax + 8], 1
jmp 0x429251
mov ecx, dword [eax + 8]
mov dword [esp], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 4], ecx
call fcn.0042e8e0
nop
lea eax, [0x902304]
mov dword [esp], eax
call fcn.00409780
nop
mov eax, dword [0x9022d0]
sub eax, dword [0x9022b4]
mov dword [0x9022d0], eax
mov eax, dword [0x9022c0]
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov dword [0x9022c0], ecx
nop
lea eax, [0x902304]
mov dword [esp], eax
call fcn.00409980
jmp 0x429251
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov ebx, dword [eax + 0x10]
mov ebp, dword [eax + 0x14]
mov esi, dword [esp + 0x1c]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.00415180
nop
lea eax, [0x902304]
mov dword [esp], eax
call fcn.00409780
nop
mov eax, dword [0x9022a8]
sub eax, dword [0x90228c]
mov dword [0x9022a8], eax
mov eax, dword [0x902298]
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov dword [0x902298], ecx
nop
nop
lea eax, [0x902304]
mov dword [esp], eax
call fcn.00409980
add esp, 0x14
ret
lea eax, [0x6d2548]
mov dword [esp], eax
mov dword [esp + 4], 0x10
call fcn.00437450
nop
call fcn.004618a0
jmp fcn.00429150
Function at 0x452600
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x452787
sub esp, 0x10
mov ecx, dword [esp + 0x18]
test ecx, ecx
jbe 0x45277d
mov edx, dword [esp + 0x14]
movzx ebx, byte [edx]
test ebx, ebx
jne 0x45265c
movzx ebp, byte [esp + 0x28]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x45265c
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov byte [esp + 0x38], 0
add esp, 0x10
ret
test ebx, 0x80
je 0x45266f
xor eax, eax
xor ebx, ebx
xor ebp, ebp
jmp 0x452752
mov eax, 1
mov ebp, ebx
and ebx, 1
neg ebx
shr ebp, 1
xor ebx, ebp
mov ebp, dword [esp + 0x24]
add dword [ebp], ebx
cmp ecx, eax
jb 0x452744
sub ecx, eax
mov ebx, dword [esp + 0x1c]
sub ebx, eax
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and eax, ebx
lea ebx, [edx + eax]
test ecx, ecx
jbe 0x45273b
movzx edx, byte [edx + eax]
test edx, 0x80
je 0x4526c6
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
xor eax, eax
xor edx, edx
xor esi, esi
jmp 0x45270f
mov eax, 1
cmp eax, ecx
ja 0x4526fd
mov esi, dword [esp + 0x20]
add dword [esi], edx
sub ebp, eax
mov edx, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, eax
add ebx, ebp
mov dword [esp + 0x2c], ebx
sub ecx, eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
mov byte [esp + 0x38], 1
add esp, 0x10
ret
call fcn.00462da0
lea esi, [ecx + 7]
mov ecx, dword [esp + 8]
mov eax, ebp
mov ebp, dword [esp + 0xc]
cmp eax, ecx
jae 0x452736
movzx edi, byte [eax + ebx]
lea ebp, [eax + 1]
mov eax, edi
and edi, 0x7f
mov ecx, esi
shl edi, cl
or edx, edi
test al, 0x80
jne 0x452702
mov ecx, dword [esp + 8]
mov eax, ebp
mov ebp, dword [esp + 0xc]
jmp 0x4526cb
call fcn.00462d40
xor eax, eax
mov ecx, eax
call fcn.00462d30
call fcn.00462da0
lea ebp, [ecx + 7]
mov ecx, dword [esp + 0x18]
mov eax, edi
cmp ecx, eax
jbe 0x452778
movzx esi, byte [eax + edx]
lea edi, [eax + 1]
mov eax, esi
and esi, 0x7f
mov ecx, ebp
shl esi, cl
or ebx, esi
test al, 0x80
jne 0x452749
mov ecx, dword [esp + 0x18]
mov eax, edi
jmp 0x452674
call fcn.00462d40
xor eax, eax
mov ecx, eax
call fcn.00462d30
nop
call fcn.004618a0
jmp fcn.00452600
Function at 0x45a1a0
Capabilities:
Access peb ldr_data
Get kernel32 base address

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x45a23f
sub esp, 0x30
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
mov dword [esp + 8], ecx
mov dword [esp + 4], 0
lea edi, [esp + 0xc]
xor eax, eax
call fcn.00462f37
lea ecx, [0x45a250]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x34]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x28], ecx
lea ecx, [esp + 4]
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0xc]
mov dword [esp], ecx
call fcn.00461790
mov ecx, dword [esp + 4]
mov dword [esp + 0x44], ecx
add esp, 0x30
ret
call fcn.004618a0
jmp fcn.0045a1a0