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

Disassembly:
sub esp, 0x40
push ebp
push esi
mov esi, dword [esp + 0x4c]
xor eax, eax
mov ecx, esi
mov edx, 5
or eax, dword [ecx]
add ecx, 4
dec edx
jne 0x45d202
test eax, eax
jne 0x45d238
mov esi, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
push esi
push eax
call fcn.0045a290
push esi
call fcn.0045a230
lea ecx, [esi + 0x14]
push ecx
push esi
call fcn.0045a290
add esp, 0x14
pop esi
xor eax, eax
pop ebp
add esp, 0x40
ret
lea edx, [esp + 0x34]
push edx
push esi
call fcn.0045aa60
lea eax, [esp + 0x3c]
push eax
call fcn.0045a1f0
mov eax, dword [esp + 0x5c]
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x44]
push edx
push eax
call fcn.0045a6d0
lea ecx, [esp + 0x38]
push ecx
call fcn.0045a230
add esp, 0x1c
xor eax, eax
lea ecx, [esp + 0x20]
mov edx, 5
push ebx
lea ebx, [ebx]
xor eax, dword [ecx]
add ecx, 4
dec edx
jne 0x45d280
mov dword [esp + 0xc], 0x10
mov dx, word [esp + 0xc]
or esi, 0xffffffff
push edi
lea esp, [esp]
movsx ecx, dx
shr esi, cl
mov edi, eax
shr edi, cl
sar dx, 1
mov ecx, esi
and ecx, eax
xor edi, ecx
test dx, dx
mov eax, edi
jg 0x45d2a0
test eax, eax
je 0x45d2e0
mov esi, dword [esp + 0x5c]
push esi
call fcn.0045a270
add esi, 0x14
push esi
call fcn.0045a270
add esp, 8
pop edi
pop ebx
pop esi
mov eax, 1
pop ebp
add esp, 0x40
ret
lea edx, [esp + 0x14]
push edx
call fcn.0045a270
add esp, 4
mov edi, 1
xor eax, eax
mov ebp, 0x9e
lea esp, [esp]
mov edx, eax
shr edx, 5
lea ebx, [eax + 1]
mov ecx, 4
sub ecx, edx
movsx edx, cx
mov eax, ebx
shr eax, 5
shl edx, 2
mov esi, 4
sub esi, eax
mov eax, dword [esp + edx + 0x14]
xor eax, dword [esp + edx + 0x28]
and eax, edi
cmp si, cx
jne 0x45d346
movsx ecx, si
mov esi, dword [esp + ecx*4 + 0x14]
lea ecx, [esp + ecx*4 + 0x14]
lea edx, [eax + eax]
or esi, edx
mov dword [ecx], esi
shl edi, 1
jmp 0x45d356
test eax, eax
mov edi, 1
je 0x45d356
movsx eax, si
mov dword [esp + eax*4 + 0x14], edi
dec ebp
mov eax, ebx
jne 0x45d300
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x5c]
xor ecx, edx
test ecx, 0x20000000
push esi
je 0x45d390
call fcn.0045a270
add esi, 0x14
push esi
call fcn.0045a270
add esp, 8
pop edi
pop ebx
pop esi
mov eax, 2
pop ebp
add esp, 0x40
ret
mov edi, dword [esp + 0x58]
lea edx, [esp + 0x18]
push edx
push edi
call fcn.0045a6d0
lea eax, [esi + 0x14]
push eax
call fcn.0045a270
mov ecx, edi
add esp, 0x10
mov eax, esi
sub ecx, esi
mov edx, 5
mov esi, dword [ecx + eax]
xor esi, dword [eax]
mov dword [eax + 0x14], esi
add eax, 4
dec edx
jne 0x45d3b6
pop edi
pop ebx
pop esi
xor eax, eax
pop ebp
add esp, 0x40
ret
Function at 0x45d3d0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x28
push ebx
push esi
mov esi, dword [esp + 0x34]
push edi
lea eax, [esp + 0xc]
push eax
push esi
call fcn.0045a290
lea ecx, [esp + 0x14]
push ecx
call fcn.0045a1f0
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x1c]
push eax
push esi
call fcn.0045a6d0
mov edi, dword [esp + 0x54]
mov esi, dword [esp + 0x58]
add esp, 0x18
cmp word [edi], 0
push esi
je 0x45d424
lea ecx, [edi + 2]
push ecx
lea edx, [esp + 0x14]
push edx
call fcn.0045a6d0
add esp, 0xc
jmp 0x45d42c
call fcn.0045a270
add esp, 4
lea edx, [esp + 0x20]
mov eax, esi
sub edx, esi
lea ecx, [edi + 0x16]
mov esi, 5
lea esp, [esp]
mov ebx, dword [eax]
mov edi, dword [edx + eax]
xor edi, ebx
xor edi, dword [ecx]
mov dword [eax], edi
add ecx, 4
add eax, 4
dec esi
jne 0x45d440
pop edi
pop esi
pop ebx
add esp, 0x28
ret
Function at 0x45d460
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x68
push ebx
push ebp
push esi
lea eax, [esp + 0x10]
push edi
push eax
call fcn.0045a270
lea ecx, [esp + 0x54]
push ecx
call fcn.0045a270
mov ebx, dword [esp + 0x84]
mov esi, dword [esp + 0x88]
mov edi, ebx
lea edx, [esp + 0x1c]
add esp, 8
sub edi, esi
sub ebx, edx
lea eax, [esi + 0x14]
xor ecx, ecx
mov dword [esp + 0x10], 5
lea edx, [esp + ecx + 0x14]
mov ebp, dword [ebx + edx]
xor ebp, dword [eax - 0x14]
add eax, 4
mov dword [edx], ebp
mov edx, dword [edi + eax - 4]
mov ebp, dword [eax - 4]
xor edx, ebp
mov dword [esp + ecx + 0x50], edx
mov edx, dword [esp + 0x10]
add ecx, 4
dec edx
mov dword [esp + 0x10], edx
jne 0x45d4a3
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x18]
push ecx
call fcn.0045aa60
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x74]
push ecx
call fcn.0045a6d0
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x54]
push eax
call fcn.0045a290
lea ecx, [esp + 0x44]
push ecx
call fcn.0045a1f0
mov ecx, dword [esp + 0xa8]
add esp, 0x20
cmp word [ecx], 0
mov eax, esi
je 0x45d565
mov ebp, dword [esp + 0x84]
lea edx, [esp + 0x28]
lea ebx, [esp + 0x3c]
add ecx, 2
sub edx, esi
sub ebx, esi
sub ebp, esi
mov dword [esp + 0x88], 5
mov edi, edi
mov esi, dword [ebx + eax]
xor esi, dword [edx + eax]
add eax, 4
xor esi, dword [eax + edi - 4]
add ecx, 4
xor esi, dword [eax - 4]
xor esi, dword [ecx - 4]
mov dword [eax + ebp - 4], esi
dec dword [esp + 0x88]
jne 0x45d540
jmp 0x45d597
mov ebx, dword [esp + 0x84]
lea ecx, [esp + 0x28]
lea edx, [esp + 0x3c]
sub ecx, esi
sub edx, esi
sub ebx, esi
mov esi, 5
nop
mov ebp, dword [eax + edi]
xor ebp, dword [eax + edx]
add eax, 4
xor ebp, dword [eax + ecx - 4]
xor ebp, dword [eax - 4]
dec esi
mov dword [eax + ebx - 4], ebp
jne 0x45d580
mov edi, dword [esp + 0x84]
mov esi, dword [esp + 0x7c]
lea ecx, [esp + 0x14]
sub esi, edi
mov eax, edi
sub ecx, edi
mov edx, 5
mov ebx, dword [esi + eax]
xor ebx, dword [eax]
mov dword [ecx + eax], ebx
add eax, 4
dec edx
jne 0x45d5b1
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x1c]
push ecx
call fcn.0045a6d0
add esp, 0xc
lea ecx, [esp + 0x28]
lea eax, [edi + 0x14]
mov edx, 5
mov edi, dword [esi + eax]
mov ebp, dword [eax - 0x14]
mov ebx, dword [ecx]
xor edi, ebp
xor edi, ebx
mov dword [eax], edi
add ecx, 4
add eax, 4
dec edx
jne 0x45d5e2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret

Function at 0x45d610
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x28
push esi
mov esi, dword [esp + 0x34]
lea eax, [esp + 4]
push eax
push esi
call fcn.0045a290
lea ecx, [esp + 0x20]
push ecx
call fcn.0045a270
lea ecx, [esp + 0x24]
add esp, 0xc
mov eax, esi
sub ecx, esi
mov edx, 5
lea ecx, [ecx]
mov esi, dword [eax + 0x14]
xor esi, dword [eax]
mov dword [ecx + eax], esi
add eax, 4
dec edx
jne 0x45d640
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0x34]
push eax
lea ecx, [esp + 0xc]
push ecx
push edx
call fcn.0045d460
add esp, 0x10
pop esi
add esp, 0x28
ret
Function at 0x45d6c0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x64
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x78]
lea eax, [esp + 0x38]
push eax
push edi
call fcn.0045aa60
lea ecx, [esp + 0x18]
push ecx
lea edx, [edi + 0x14]
push edx
lea eax, [esp + 0x48]
push eax
call fcn.0045a6d0
mov edx, edi
lea ecx, [esp + 0x24]
add esp, 0x14
sub edx, ecx
xor eax, eax
mov esi, 5
jmp 0x45d700
mov ebp, dword [esp + eax + 0x10]
lea ecx, [esp + eax + 0x10]
mov ebx, dword [edx + ecx]
xor ebx, ebp
mov dword [esp + eax + 0x24], ebx
add eax, 4
dec esi
jne 0x45d700
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x28]
push eax
call fcn.0045a290
lea ecx, [esp + 0x54]
push ecx
call fcn.0045a1f0
mov eax, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
add esp, 0xc
cmp word [eax], 0
je 0x45d76b
lea ecx, [eax + 2]
xor eax, eax
mov edx, 5
mov ebp, dword [esp + eax + 0x24]
mov ebx, dword [esp + eax + 0x4c]
xor ebx, ebp
xor ebx, dword [ecx]
mov dword [eax + esi], ebx
add ecx, 4
add eax, 4
dec edx
jne 0x45d751
jmp 0x45d783
xor eax, eax
mov ecx, 5
mov edx, dword [esp + eax + 0x4c]
xor edx, dword [esp + eax + 0x24]
mov dword [eax + esi], edx
add eax, 4
dec ecx
jne 0x45d772
or ecx, 0xffffffff
mov eax, ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
and eax, 0x3fffffff
mov dword [esp + 0x20], ecx
mov dword [esp + 0x10], eax
xor eax, eax
mov ecx, 5
jmp 0x45d7b0
mov ebp, dword [esp + eax + 0x10]
mov edx, dword [esp + eax + 0x24]
xor ebp, edx
mov dword [esp + eax + 0x10], ebp
add eax, 4
dec ecx
jne 0x45d7b0
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x14]
push esi
push ecx
call fcn.0045a6d0
lea edx, [esp + 0x44]
push edx
push edi
call fcn.0045a290
lea eax, [esp + 0x4c]
push eax
call fcn.0045a1f0
add esp, 0x18
lea ecx, [esi + 0x14]
xor eax, eax
mov edx, 5
mov esi, dword [esp + eax + 0x60]
xor esi, dword [esp + eax + 0x38]
mov dword [ecx], esi
add eax, 4
add ecx, 4
dec edx
jne 0x45d7f6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret

Function at 0x45f16c
Capabilities:
Terminate process

Disassembly:
cmp ecx, dword [0x47fea0]
jne 0x45f176
repz ret
jmp fcn.0045f659
Function at 0x433000
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
nop
nop
nop
nop
nop
mov eax, section..text
nop
nop
nop
nop
push 4
nop
nop
nop
pop edi
nop
nop
nop
cmp eax, 0
nop
nop
nop
nop
nop
nop
je 0x433072
nop
nop
mov ebx, 0x40de38
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
mov eax, ecx
nop
nop
nop
nop
nop
nop
div edi
nop
nop
nop
nop
nop
nop
xchg ecx, eax
nop
nop
nop
nop
nop
pop eax
nop
nop
mov esi, 0x3e045d0f
nop
xor dword [eax], esi
nop
nop
nop
nop
nop
nop
nop
add eax, edi
nop
loop 0x433060
nop
nop
nop
nop
mov eax, section..data
nop
nop
cmp eax, 0
nop
nop
nop
nop
nop
je 0x4330d2
nop
mov ebx, 0x4304d8
nop
nop
mov ecx, ebx
nop
nop
sub ecx, eax
nop
nop
nop
nop
nop
nop
xor edx, edx
nop
nop
nop
nop
nop
nop
push eax
nop
nop
mov eax, ecx
nop
nop
nop
nop
nop
div edi
nop
nop
nop
nop
nop
xchg ecx, eax
nop
nop
nop
nop
nop
nop
nop
pop eax
mov esi, 0x66a85968
nop
nop
xor dword [eax], esi
nop
nop
nop
add eax, edi
nop
nop
nop
nop
nop
loop 0x4330c0
nop
nop
nop
nop
popal
nop
nop
nop
nop
jmp 0x431219
Function at 0x433005
Capabilities:
Encode data using xor
Packed with generic packer

Disassembly:
pushal
call 0x43300c
nop
pop eax
nop
nop
nop
nop
nop
add eax, 0x40a063
nop
sub eax, 0x40a009
nop
mov ebx, dword [eax]
nop
nop
nop
nop
nop
mov ecx, dword [eax + 4]
nop
nop
nop
nop
mov edx, dword [eax + 8]
nop
nop
nop
nop
xor dword [ebx], edx
add ebx, 4
nop
nop
nop
nop
cmp ebx, ecx
nop
nop
nop
nop
jl 0x433030
nop
nop
nop
nop
add eax, 0xc
nop
nop
nop
nop
nop
cmp dword [eax], 0
nop
nop
jne 0x43301e
nop
nop
nop
nop
nop
popal
nop
nop
jmp 0x431219
Function at 0x402170
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x90
mov esi, esp
mov dword [esi + 8], ebp
lea eax, [ebp + 8]
mov edx, esp
mov dword [esi + 0x7c], edx
mov dword [esi + 0x88], 0xffffffff
lea edx, [esi + 0x80]
mov dword [esi + 0x84], 0x4081f0
mov edi, dword fs:[0]
mov dword [esi + 0x80], edi
mov dword fs:[0], edx
mov edx, eax
add edx, 0xc
mov dword [esi + 0xc], edx
add eax, 0x30
mov dword [esi + 0x10], eax
mov dword [esi + 0x78], ecx
mov byte [esi + 0x77], 1
mov byte [esi + 0x76], 1
mov dword [esi + 0x88], 1
mov eax, esp
mov dword [eax], 0x418d91
lea ecx, [esi + 0x5c]
call fcn.004082d0
sub esp, 4
jmp 0x4021f5
mov byte [esi + 0x5b], 0
mov dword [esi + 0x88], 2
mov eax, esp
mov dword [eax], str.yuwpuvzoshrocikhjkrwbxlbm
lea ecx, [esi + 0x40]
call fcn.004082d0
sub esp, 4
jmp 0x40221b
mov dword [esi + 0x3c], 0x9a4
mov dword [esi + 0x34], 0x40d064c0
mov dword [esi + 0x30], 0
mov dword [esi + 0x88], 3
mov eax, esp
mov dword [eax], str.uixfkz
lea ecx, [esi + 0x18]
call fcn.004082d0
sub esp, 4
jmp 0x402252
mov dword [esi + 0x14], 0x260
lea ecx, [esi + 0x18]
call fcn.00408390
lea ecx, [esi + 0x40]
call fcn.00408390
lea ecx, [esi + 0x5c]
call fcn.00408390
mov ecx, dword [esi + 0xc]
call fcn.00408390
mov ecx, dword [esi + 0x10]
call fcn.00408390
mov eax, dword [esi + 0x80]
mov dword fs:[0], eax
fld dword [0x418194]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x5c
Function at 0x402320
Capabilities:
Access peb ldr_data
Get kernel32 base address
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x78
mov esi, esp
mov dword [esi + 8], ebp
lea eax, [ebp + 8]
mov dword [esi + 0xc], eax
mov edx, esp
mov dword [esi + 0x64], edx
mov dword [esi + 0x70], 0xffffffff
lea edx, [esi + 0x68]
mov dword [esi + 0x6c], 0x408210
mov edi, dword fs:[0]
mov dword [esi + 0x68], edi
mov dword fs:[0], edx
mov edx, dword [eax]
mov dword [esi + 0x10], edx
mov edx, eax
add edx, 0x10
mov dword [esi + 0x14], edx
mov edx, eax
add edx, 0x2c
mov dword [esi + 0x18], edx
mov edx, eax
add edx, 0x50
mov dword [esi + 0x1c], edx
add eax, 0x68
mov dword [esi + 0x20], eax
mov dword [esi + 0x60], ecx
mov dword [esi + 0x5c], 0x40d7f7c0
mov dword [esi + 0x58], 0
mov dword [esi + 0x54], 0x40b77400
mov dword [esi + 0x50], 0
mov dword [esi + 0x4c], 0x40e37620
mov dword [esi + 0x48], 0
mov dword [esi + 0x70], 3
mov eax, esp
mov dword [eax], str.fkhwspzxcltffhtnfixxtrvpyouiltjnpiwlcdfcaayfjpriuhfrwfvwfkuqgkjcfmbzmbmfscwirsyjiltbqe
lea ecx, [esi + 0x30]
call fcn.004082d0
sub esp, 4
jmp 0x4023cd
vmovsd xmm0, qword [0x418198]
vmovsd qword [esi + 0x28], xmm0
mov dword [esi + 0x24], 0x22
cmp dword [esi + 0x24], 0
jle 0x4023f9
mov eax, dword [esi + 0x24]
add eax, 0xffffffff
mov dword [esi + 0x24], eax
jmp 0x4023e1
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x70], 4
mov eax, esp
mov dword [eax], str.rmkuitnqmoige
call fcn.004082d0
sub esp, 4
jmp 0x402418
lea ecx, [esi + 0x30]
call fcn.00408390
mov ecx, dword [esi + 0x14]
call fcn.00408390
mov ecx, dword [esi + 0x18]
call fcn.00408390
mov ecx, dword [esi + 0x1c]
call fcn.00408390
mov ecx, dword [esi + 0x20]
call fcn.00408390
mov eax, dword [esi + 0xc]
mov eax, dword [eax]
mov ecx, dword [esi + 0x68]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x80
Function at 0x402500
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xb0
mov esi, esp
mov dword [esi + 0xc], ebp
lea eax, [ebp + 8]
mov edx, esp
mov dword [esi + 0x9c], edx
mov dword [esi + 0xa8], 0xffffffff
lea edx, [esi + 0xa0]
mov dword [esi + 0xa4], 0x408230
mov edi, dword fs:[0]
mov dword [esi + 0xa0], edi
mov dword fs:[0], edx
mov edx, eax
add edx, 4
mov dword [esi + 0x14], edx
mov edx, eax
add edx, 0x24
mov dword [esi + 0x18], edx
add eax, 0x40
mov dword [esi + 0x1c], eax
mov dword [esi + 0x98], ecx
mov dword [esi + 0xa8], 2
mov eax, esp
mov dword [eax], str.wfgiykwqdsdqqegpdjvftklcevbzev
lea ecx, [esi + 0x80]
call fcn.004082d0
sub esp, 4
jmp 0x40258e
mov dword [esi + 0x7c], 0x40dd4f80
mov dword [esi + 0x78], 0
mov dword [esi + 0x74], 0x40cbb200
mov dword [esi + 0x70], 0
mov dword [esi + 0xa8], 3
mov eax, esp
mov dword [eax], str.psfxaszgczajhymdkwftkwfrqvfayabhlyssalqazgusegiycskrcscfapcfelcdpjksjmzmpjounhzzwstyhulqplhtkohnf
lea ecx, [esi + 0x58]
call fcn.004082d0
sub esp, 4
jmp 0x4025cc
mov byte [esi + 0x57], 1
mov byte [esi + 0x56], 1
mov dword [esi + 0xa8], 4
mov eax, esp
mov dword [eax], str.wfgiykwqdsdqqegpdjvftklcevbzev
lea ecx, [esi + 0x3c]
call fcn.004082d0
sub esp, 4
jmp 0x4025f6
mov dword [esi + 0xa8], 5
mov eax, esp
mov dword [eax], str.wfgiykwqdsdqqegpdjvftklcevbzev
lea ecx, [esi + 0x24]
call fcn.004082d0
sub esp, 4
jmp 0x402618
lea ecx, [esi + 0x24]
lea eax, [esi + 0x3c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004083c0
mov byte [esi + 0x13], al
lea ecx, [esi + 0x24]
call fcn.00408390
lea ecx, [esi + 0x3c]
call fcn.00408390
mov al, byte [esi + 0x13]
test al, 1
jne 0x40264d
jmp 0x402671
mov dword [esi + 0x20], 0x39
cmp dword [esi + 0x20], 0
jle 0x40266c
mov eax, dword [esi + 0x20]
add eax, 0xffffffff
mov dword [esi + 0x20], eax
jmp 0x402654
jmp 0x402671
lea ecx, [esi + 0x58]
call fcn.00408390
lea ecx, [esi + 0x80]
call fcn.00408390
mov ecx, dword [esi + 0x14]
call fcn.00408390
mov ecx, dword [esi + 0x18]
call fcn.00408390
mov ecx, dword [esi + 0x1c]
call fcn.00408390
mov eax, dword [esi + 0xa0]
mov dword fs:[0], eax
mov eax, 0x1016d
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x68
Function at 0x403840
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
dec eax
dec esi
rcl edi, 0x32
not ebx
not edx
sub ebx, 0xa2
ror ebx, 0x38
and eax, 0x56
ror edi, 0x32
or edi, 0x66
imul edx
neg edi
sbb ebx, 0xa5
dec ebx
dec edi
bswap ebx
sub eax, 0xd8
and ebx, 0x12
or ebx, 0x74
neg edi
not edi
dec ebx
imul edx
rcr edi, 0xc2
dec edx
not edx
sbb esi, 0x3c
mov ebx, 0x68
sub edx, 0x53
not esi
not esi
sbb esi, 0xb8
not edi
mov esi, 0xe
rcr esi, 0xbb
inc edi
and edx, 0x18
not esi
bswap ebx
ror edx, 0x1b
imul esi
not edx
imul edi
sbb edx, 0x7d
dec esi
imul ebx
rcr edi, 0xf3
neg edi
dec edi
add edi, 0xa1
xor ecx, ecx
xor edi, edi
rcl edi, 0x78
sub edi, 0xf5
rol edi, 0x5e
dec eax
sbb ebx, 0x89
mov eax, 0xf3
dec eax
sbb eax, 0x2b
dec edx
sub eax, 0x5c
sbb esi, 0x45
imul edx
bswap eax
sbb edi, 0x46
neg ebx
rcr edx, 0x48
imul eax
dec ebx
bswap eax
sbb edx, 0x15
mov edx, 0x85
sbb ebx, 0x4c
neg ebx
inc eax
not ebx
rol esi, 0xae
inc edi
not edx
add ebx, 0xad
neg eax
add esi, 0xd9
rcr edx, 0x5c
add edx, 0xed
bswap edi
and eax, 0x71
and eax, 0x60
imul esi
imul esi
and ebx, 0x5a
inc edi
inc ebx
dec esi
bswap edx
and esi, 0xc0
rol eax, 0x86
and ebx, 0xb8
and edi, 0x1d
mov edi, 0x4a
imul eax
imul esi
mov ecx, dword [ebp + 0xc]
neg edi
imul edx
mov esi, 0x45
inc ebx
bswap esi
not edi
rol esi, 0xb4
sub eax, 0x83
neg edx
imul ebx
not eax
dec eax
and edx, 0xa8
neg ebx
bswap edx
bswap ebx
not eax
dec edi
dec edi
neg edi
rcl esi, 0xe8
add esi, 0x6a
imul esi
dec ebx
bswap esi
bswap edx
and eax, 0x7c
dec esi
or edi, 0xa
not eax
neg ebx
sub esi, 0x50
neg edi
add eax, 0xb5
or esi, 0x22
neg eax
inc edi
neg edi
and ebx, 0xfd
bswap edx
sbb edi, 0xb1
rcr ebx, 0xf7
neg edi
bswap eax
inc edx
mov esi, 0xdc
dec ebx
dec esi
not edi
rol edx, 0x54
mov edi, dword [ebp + 8]
mov esi, ebx
xor ebx, esi
xor esi, eax
mov esi, esi
mov eax, ebx
mov esi, ebx
mov ebx, esi
xor eax, eax
mov ebx, ebx
mov eax, ebx
mov eax, esi
mov ebx, eax
not byte [edi]
mov esi, eax
xor esi, ebx
xor esi, eax
mov esi, ebx
xor eax, eax
xor eax, esi
xor esi, ebx
xor esi, eax
mov ebx, ebx
sub byte [edi], 0x98
xor esi, eax
xor ebx, eax
xor eax, ebx
mov ebx, ebx
xor eax, esi
mov eax, ebx
xor eax, esi
mov ebx, eax
xor eax, esi
add byte [edi], 0x53
mov esi, eax
xor esi, ebx
mov eax, eax
mov esi, eax
mov esi, esi
xor eax, ebx
mov esi, ebx
mov esi, ebx
xor eax, eax
imul byte [edi]
inc edi
loop 0x4039ea
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x409b33
Capabilities:
Parse pe header

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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ecx
push esi
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStringsW]
mov esi, eax
test esi, esi
je 0x410fb8
push ebx
push esi
call fcn.00410ee4
xor ebx, ebx
sub eax, esi
push ebx
push ebx
push ebx
push ebx
sar eax, 1
push eax
push esi
push ebx
push ebx
mov dword [ebp - 8], eax
call fcn.00410e2d
add esp, 0x24
mov dword [ebp - 4], eax
test eax, eax
jne 0x410f65
push esi
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
xor eax, eax
jmp 0x410fb7
push edi
push eax
call fcn.0040f8fb
mov edi, eax
pop ecx
push ebx
test edi, edi
jne 0x410f85
call fcn.0040f949
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
xor eax, eax
jmp 0x410fb6
push ebx
push dword [ebp - 4]
push edi
push dword [ebp - 8]
push esi
push ebx
push ebx
call fcn.00410e2d
add esp, 0x20
test eax, eax
jne 0x410fa4
push edi
call fcn.0040f949
jmp 0x410fac
push ebx
call fcn.0040f949
mov ebx, edi
pop ecx
push esi
call dword [sym.imp.KERNEL32.dll_FreeEnvironmentStringsW]
mov eax, ebx
pop edi
pop ebx
pop esi
leave
ret

Function at 0x4121b2
Capabilities:
Allocate thread local storage

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push esi
push 0x41b4b8
push 0x41b4b0
push str.FlsAlloc
push 0x1e
call fcn.00412073
mov esi, eax
add esp, 0x10
test esi, esi
je 0x4121e6
push dword [ebp + 8]
mov ecx, esi
call dword [0x418130]
call esi
jmp 0x4121ec
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
pop esi
pop ebp
ret 4

Function at 0x412230
Capabilities:
Get thread local storage value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push esi
push 0x41b4c8
push 0x41b4c0
push str.FlsGetValue
push 0x20
call fcn.00412073
mov esi, eax
add esp, 0x10
test esi, esi
je 0x412267
push dword [ebp + 8]
mov ecx, esi
call dword [0x418130]
call esi
pop esi
pop ebp
ret 4
pop esi
pop ebp
jmp dword [sym.imp.KERNEL32.dll_TlsGetValue]
Function at 0x417650
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
mov eax, dword [ebp + 8]
mov ecx, 0x5a4d
cmp word [eax], cx
jne 0x41767d
mov ecx, dword [eax + 0x3c]
add ecx, eax
cmp dword [ecx], 0x4550
jne 0x41767d
mov edx, 0x10b
xor eax, eax
cmp word [ecx + 0x18], dx
sete al
pop ebp
ret
xor eax, eax
pop ebp
ret
Function at 0x401000
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov ebx, 0x8e
add eax, 0x12
sub esi, 0x19
rol esi, 0x31
dec edi
rcr edi, 0xed
imul eax
imul edi
not ebx
inc edx
inc eax
bswap esi
and esi, 0x13
sub eax, 0x9f
rol esi, 0x15
dec esi
sub eax, 0xdd
and eax, 0x54
and ebx, 0x5a
not edx
inc eax
and edx, 0x26
ror eax, 0xe8
ror eax, 3
not esi
rol esi, 0x6b
not edx
bswap ebx
inc edi
rol edi, 0x7b
rol edi, 0x3f
ror eax, 0x55
mov ebx, 0x8f
imul edx
neg eax
not ebx
rcl edi, 4
add ebx, 0xd8
dec edi
imul edx
dec ebx
rcr edx, 0x16
bswap edx
ror esi, 0xed
rol edi, 0xcb
not esi
not edx
sbb ebx, 0xbd
not edx
inc edx
xor ecx, ecx
xor edi, edi
mov esi, 0
sub edi, 0x36
neg esi
ror eax, 0x83
neg esi
rcr esi, 0xb9
mov edx, 0xe0
not eax
sub ebx, 0x70
dec eax
neg edi
neg edi
ror ebx, 0x9c
imul edi
rol eax, 0xa1
not eax
rcl esi, 0xc6
not ebx
bswap edx
dec edx
neg esi
rol edx, 0xae
mov edi, 0xe3
inc edi
rcr ebx, 0xe5
dec edi
neg edi
and ebx, 0x14
not ebx
rcl ebx, 0x39
rcr ebx, 0x5a
neg eax
ror eax, 5
and eax, 0xc3
rol edi, 0xd6
rcl ebx, 0x19
neg ebx
dec edx
neg edi
bswap esi
rcr ebx, 0x24
bswap edx
dec edx
bswap eax
and eax, 0x11
dec eax
ror edx, 0xb1
or edi, 0xd5
or ebx, 0xab
mov edi, 0x13
mov ecx, dword [ebp + 0xc]
not eax
bswap edi
add ebx, 0xfd
inc esi
sub edx, 0x1f
sub ebx, 8
neg ebx
dec esi
dec eax
mov ebx, 0x76
rol eax, 0x7c
rol edi, 0x24
dec eax
neg edi
bswap eax
inc edi
dec edx
dec edi
and ebx, 0xf0
neg edi
or edx, 0x50
sbb edi, 0xd8
neg esi
imul edi
dec ebx
mov esi, 0x85
neg eax
dec esi
or esi, 0xd0
dec edx
rol ebx, 0x28
ror eax, 0xd1
and edx, 0x57
or edx, 0xe8
bswap edi
not eax
neg esi
not eax
rcl edx, 0xda
imul ebx
and eax, 0xe8
inc edi
inc edi
bswap edi
inc eax
and esi, 0x55
bswap eax
not eax
rcl eax, 0x49
inc ebx
mov edi, dword [ebp + 8]
mov eax, eax
mov eax, esi
mov eax, ebx
mov eax, ebx
mov ebx, eax
mov esi, ebx
xor eax, esi
mov ebx, ebx
mov ebx, esi
mov eax, eax
mov esi, esi
mov eax, eax
not byte [edi]
mov eax, esi
mov ebx, esi
xor ebx, esi
mov eax, esi
xor ebx, ebx
xor ebx, eax
xor ebx, eax
xor eax, esi
xor ebx, ebx
sub byte [edi], 0x76
mov esi, eax
mov esi, esi
xor ebx, esi
xor ebx, esi
xor ebx, esi
xor esi, ebx
xor ebx, eax
mov esi, eax
xor ebx, ebx
add byte [edi], 0x45
xor eax, eax
xor eax, ebx
mov ebx, eax
xor eax, esi
mov esi, eax
mov eax, esi
xor eax, eax
xor eax, ebx
mov ebx, eax
imul byte [edi]
inc edi
loop 0x4011a2
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x404916
Capabilities:
Parse pe header

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