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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x28
mov esi, dword [ecx + 8]
test esi, esi
je 0x43de80
xor eax, eax
cmp dword [ecx], 0
jne 0x43ded7
mov edx, dword [esp + 0x3c]
mov dword [esp], 0x18
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x20], esi
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], 0x1c1d1a1b
mov byte [esp + 0x1c], 0
lea eax, [esp + 0x18]
mov esi, 0x27da70c5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [eax]
mov ebp, esi
or ebp, edi
not ebp
lea ebx, [esi - 0x27da7000]
and ebx, edi
or ebx, ebp
mov edi, ebx
not edi
add ebx, 0xdd
and edi, 1
or ebx, 1
add ebx, edi
mov byte [eax], bl
inc eax
dec esi
cmp esi, 0x27da70c0
jne 0x43de20
mov eax, dword [esp + 0x18]
mov esi, dword [0x44fd60]
test esi, esi
je 0x43ded7
xor edi, edi
mov ebx, dword [0x44fd64]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x3ba5404
je 0x43dee1
inc edi
cmp esi, edi
jne 0x43de70
jmp 0x43ded7
mov dword [esp], 0xc3828188
mov word [esp + 4], 0
mov eax, 0xccbaa9e0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x33455620]
xor ecx, eax
mov edx, 0x60
sub edx, ecx
add ecx, 0x9f
and edx, 0x56
and ecx, 0xa9
sub ecx, edx
add cl, 0x57
mov byte [esp + eax + 0x33455620], cl
inc eax
cmp eax, 0xccbaa9e6
jne 0x43dea0
mov eax, dword [esp]
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret 4
mov esi, dword [ebx + edi*8 + 4]
cmp esi, eax
je 0x43ded7
lea eax, [esp + 0x20]
mov edi, esp
push eax
push edi
push edx
push ecx
push 4
push dword [0x44fd68]
push esi
call fcn.004407f0
add esp, 0x1c
jmp 0x43ded7
Function at 0x43f5d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x44
mov dword [esp + 0x2c], 0xf966fb6e
mov dword [esp + 0x30], 0xe572e714
mov dword [esp + 0x34], 0xe130e370
mov dword [esp + 0x38], 0xed7aef0c
mov dword [esp + 0x3c], 0xe9eaeb78
mov byte [esp + 0x40], 0
mov eax, 0x6f457bab
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x6f457b7f]
lea ecx, [eax - 0x6f457b00]
and ecx, edx
mov esi, ecx
and esi, 0xfffffffd
mov edi, ecx
and edi, 2
or ecx, 2
imul ecx, edi
xor edi, 2
imul edi, esi
add ecx, edi
add edx, eax
mov esi, ecx
xor esi, edx
not ecx
and ecx, edx
add ecx, ecx
sub ecx, esi
mov edx, ecx
not edx
and edx, 0x58
mov esi, ecx
and esi, 0xa7
sub esi, edx
and ecx, 1
xor esi, 1
lea ecx, [esi + ecx*2]
mov byte [esp + eax - 0x6f457b7f], cl
inc eax
cmp eax, 0x6f457bc0
jne 0x43f610
mov edi, 0x6aa66a76
xor eax, eax
cmp edi, 0xfb0a2f0c
setl al
mov eax, dword [eax*4 + 0x44da84]
mov ecx, 0xc1a411be
xor ecx, dword [0x44da8c]
add eax, ecx
inc eax
jmp eax

Function at 0x440730
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 8
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
xor edx, edx
test eax, eax
sete dl
jmp dword [edx*4 + 0x44df00]
Function at 0x441c60
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xc
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x2c]
mov eax, ebx
and eax, ebp
mov ecx, eax
shr ecx, 0x1f
add eax, eax
mov edx, ebx
xor edx, ebp
add edx, eax
adc ecx, dword [esp + 0x24]
xor eax, eax
mov esi, 0xfffffffe
cmp esi, edx
mov edx, 0
sbb edx, ecx
mov esi, dword [esp + 0x28]
jb 0x441cdc
mov ecx, ebx
shr ecx, 2
mov edx, ebp
mov edi, esi
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov edx, ebx
and edx, 0xfffffffc
add esi, edx
add edx, ebp
mov ecx, ebx
shr ecx, 1
and ecx, 1
mov ebp, edx
mov edi, esi
xchg esi, ebp
rep movsw word es:[edi], word [esi]
xchg esi, ebp
test bl, 1
je 0x441e3e
and ebx, 2
movzx ecx, byte [edx + ebx]
mov byte [esi + ebx], cl
jmp 0x441e3e
mov dword [esp], 0x484b4a4d
mov word [esp + 4], 0
mov eax, 0x93
mov ecx, 0x6c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + eax - 0x93]
mov edx, ecx
xor edx, eax
and edx, edi
xor edx, eax
add dl, 0x21
mov byte [esp + eax - 0x93], dl
inc eax
dec ecx
cmp eax, 0x99
jne 0x441d00
mov eax, dword [esp]
mov ecx, dword [0x44fd60]
test ecx, ecx
je 0x441d7a
xor edx, edx
mov edi, dword [0x44fd64]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x7789b0cb
je 0x441d50
inc edx
cmp ecx, edx
jne 0x441d40
jmp 0x441d7a
mov ecx, dword [edi + edx*8 + 4]
cmp ecx, eax
je 0x441d7a
lea eax, [esp + 8]
push 2
push 0
push 0
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 7
push dword [0x44fd68]
push ecx
call fcn.004407f0
add esp, 0x28
test eax, eax
mov edi, dword [esp + 0x24]
js 0x441e3e
push 0x1e03da9a
push dword [0x457d74]
call fcn.00443090
add esp, 8
push 0
push 0
push ebx
push esi
push edi
push ebp
push dword [esp + 0x20]
call eax
mov ecx, dword [esp + 8]
mov dword [esp], 0x484b4a4d
mov word [esp + 4], 0
mov edx, 0x93
mov esi, 0x6c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + edx - 0x93]
mov ebx, esi
xor ebx, edx
and ebx, edi
xor ebx, edx
add bl, 0x21
mov byte [esp + edx - 0x93], bl
inc edx
dec esi
cmp edx, 0x99
jne 0x441dd0
mov edx, dword [0x44fd60]
test edx, edx
je 0x441e3e
mov esi, dword [esp]
xor edi, edi
mov ebx, dword [0x44fd64]
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x7e776f1
je 0x441e20
inc edi
cmp edx, edi
jne 0x441e10
jmp 0x441e3e
mov edx, dword [ebx + edi*8 + 4]
cmp edx, esi
je 0x441e3e
push ecx
push 1
push dword [0x44fd68]
push edx
mov esi, eax
call fcn.004407f0
mov eax, esi
add esp, 0x10
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x442b80
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x14
mov dword [esp + 4], 0x494a4b9c
mov dword [esp + 8], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
mov esi, eax
and esi, 6
mov edx, ecx
xor edx, 0x93
add edx, esi
xor dl, byte [esp + ecx + 4]
add dl, 0x21
mov byte [esp + ecx + 4], dl
inc ecx
add eax, 2
cmp ecx, 8
jne case.default.0x442bd4
mov eax, dword [esp + 4]
mov eax, dword fs:[eax]
xor ecx, ecx
cmp dword [esp + 0x28], 0
sete cl
jmp dword [ecx*4 + 0x44e794]
Function at 0x442f90
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 8
mov dword [esp], 0xf0e0938
mov byte [esp + 4], 0
mov ebp, 0x11b34142
mov edx, 0x64cbebe
nop
nop
nop
movzx esi, byte [esp + ebp - 0x11b34142]
lea ebx, [esi + esi]
not ebx
add ebx, esi
and ebx, 0x23
mov eax, ebp
or eax, 0x3f283c23
lea edi, [edx + eax]
mov ecx, ebp
and ecx, 0x4c
xor esi, 0x23
or esi, ebx
lea ebx, [edx + eax]
add ebx, 0xf9b34180
not eax
add eax, ebp
and eax, 0x50f6477b
and edi, 0x4083884
or edi, eax
xor edi, ecx
xor edi, 0x7b
and ebx, ecx
or ebx, edi
xor ebx, esi
add bl, 0xb6
mov byte [esp + ebp - 0x11b34142], bl
inc ebp
dec edx
cmp ebp, 0x11b34147
jne 0x442fb0
mov eax, dword [esp]
mov eax, dword fs:[eax]
xor ecx, ecx
mov edi, dword [esp + 0x1c]
test edi, edi
sete cl
jmp dword [ecx*4 + 0x44e854]

Function at 0x443090
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x38
mov eax, dword [ebp + 8]
Function at 0x443b30
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x28
mov edi, dword [esp + 0x4c]
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0x3c]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [esi + eax + 2], 0
lea eax, [eax + 2]
jne 0x443b50
mov ebx, eax
sar ebx, 1
cmp ebx, 0xfffffffb
jge 0x443b6b
mov eax, 0xffffffff
jmp 0x443b6e
add eax, 0xa
push eax
call fcn.0040c730
add esp, 4
mov dword [eax], 0x3f005c
mov dword [eax + 4], 0x5c003f
mov word [eax + 8], 0
mov ecx, eax
add ecx, 8
movzx edx, word [esi]
test dx, dx
je 0x443bb1
add esi, 2
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [esi]
add esi, 2
test dx, dx
jne 0x443ba0
mov word [ecx], 0
lea ecx, [ebx*2 + 8]
mov word [esp + 8], cx
lea ecx, [ebx*2 + 0xa]
mov word [esp + 0xa], cx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x18
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], 0x40
lea ecx, [esp + 8]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp], 0x484b4a4d
mov word [esp + 4], 0
mov ecx, 0x93
mov edx, 0x6c
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 0x93]
mov ebx, edx
xor ebx, ecx
and ebx, esi
xor ebx, ecx
add bl, 0x21
mov byte [esp + ecx - 0x93], bl
inc ecx
dec edx
cmp ecx, 0x99
jne 0x443c20
mov esi, dword [esp]
mov ecx, dword [0x44fd60]
test ecx, ecx
je 0x443ca1
xor edx, edx
mov ebx, dword [0x44fd64]
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edx*8], 0x266686e9
je 0x443c70
inc edx
cmp ecx, edx
jne 0x443c60
jmp 0x443ca1
mov ecx, dword [ebx + edx*8 + 4]
cmp ecx, esi
je 0x443ca1
mov edx, esp
lea esi, [esp + 0x10]
push edi
push ebp
push edx
push esi
push dword [esp + 0x54]
push dword [esp + 0x54]
push 6
push dword [0x44fd68]
push ecx
mov edi, eax
call fcn.004407f0
add esp, 0x24
mov esi, eax
mov eax, edi
push eax
call fcn.0040c740
add esp, 4
mov eax, esi
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x443cc0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x50
mov ebx, dword [ebp + 8]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebx + eax + 2], 0
lea eax, [eax + 2]
jne 0x443ce0
mov esi, eax
sar esi, 1
cmp esi, 0xfffffffb
jge 0x443cfb
mov eax, 0xffffffff
jmp 0x443cfe
add eax, 0xa
push eax
call fcn.0040c730
add esp, 4
mov dword [eax], 0x3f005c
mov dword [eax + 4], 0x5c003f
lea ecx, [esi + 4]
mov word [eax + 8], 0
mov edx, eax
add edx, 8
movzx edi, word [ebx]
test di, di
je 0x443d41
add ebx, 2
nop
nop
nop
mov word [edx], di
add edx, 2
movzx edi, word [ebx]
add ebx, 2
test di, di
jne 0x443d30
mov word [edx], 0
mov edx, ecx
and edx, 0xfffd
and esi, 2
mov edi, esi
xor edi, 2
imul edi, edx
or ecx, 2
imul ecx, esi
lea edx, [ecx + edi]
mov word [esp], dx
add ecx, edi
add ecx, 2
mov word [esp + 2], cx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x18
mov dword [esp + 0xc], 0
mov dword [esp + 0x14], 0x40
mov ecx, esp
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0x484b4a4d
mov word [esp + 0x24], 0
mov ecx, 0x93
mov edx, 0x6c
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 0x73]
mov ebx, edx
xor ebx, ecx
and ebx, esi
xor ebx, ecx
add bl, 0x21
mov byte [esp + ecx - 0x73], bl
inc ecx
dec edx
cmp ecx, 0x99
jne 0x443dc0
mov esi, dword [esp + 0x20]
mov ecx, dword [0x44fd60]
test ecx, ecx
je 0x443e39
xor edx, edx
mov edi, dword [0x44fd64]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x87573896
je 0x443e10
inc edx
cmp ecx, edx
jne 0x443e00
jmp 0x443e39
mov ecx, dword [edi + edx*8 + 4]
cmp ecx, esi
je 0x443e39
lea edx, [esp + 0x20]
lea esi, [esp + 8]
push edx
push esi
push 2
push dword [0x44fd68]
push ecx
mov edi, eax
call fcn.004407f0
add esp, 0x14
mov esi, eax
mov eax, edi
push eax
call fcn.0040c740
add esp, 4
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x443e4f
mov eax, dword [esp + 0x40]
mov dword [ecx], eax
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x443e60
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x28
mov esi, dword [ebp + 0x10]
mov edi, dword [ebp + 0xc]
mov dword [esp], 0x484b4a4d
mov word [esp + 4], 0
mov eax, 0x93
mov edx, 0x6c
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + eax - 0x93]
mov ecx, edx
xor ecx, eax
and ecx, ebx
xor ecx, eax
add cl, 0x21
mov byte [esp + eax - 0x93], cl
inc eax
dec edx
cmp eax, 0x99
jne 0x443e90
mov eax, dword [esp]
mov edx, dword [0x44fd60]
test edx, edx
je 0x443f08
xor ebx, ebx
mov ecx, dword [0x44fd64]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ecx + ebx*8], 0xa70a987f
je 0x443ee0
inc ebx
cmp edx, ebx
jne 0x443ed0
jmp 0x443f08
mov edx, dword [ecx + ebx*8 + 4]
cmp edx, eax
je 0x443f08
mov eax, esp
lea ecx, [esp + 0x1c]
push 5
push 0x18
push eax
push ecx
push dword [ebp + 8]
push 5
push dword [0x44fd68]
push edx
call fcn.004407f0
add esp, 0x20
test edi, edi
je 0x443f12
mov ecx, dword [esp + 8]
mov dword [edi], ecx
test esi, esi
je 0x443f1e
cmp byte [esp + 0x15], 0
setne byte [esi]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret

Function at 0x443f30
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x10
mov esi, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov dword [esp], 0x484b4a4d
mov word [esp + 4], 0
mov eax, 0x93
mov edi, 0x6c
nop
nop
nop
nop
nop
movzx ebp, byte [esp + eax - 0x93]
mov ebx, edi
xor ebx, eax
and ebx, ebp
xor ebx, eax
add bl, 0x21
mov byte [esp + eax - 0x93], bl
inc eax
dec edi
cmp eax, 0x99
jne 0x443f60
mov eax, dword [esp]
mov ebx, dword [0x44fd60]
test ebx, ebx
je 0x443fde
xor ebp, ebp
mov edi, dword [0x44fd64]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + ebp*8], 0xd41f89d1
je 0x443fb0
inc ebp
cmp ebx, ebp
jne 0x443fa0
jmp 0x443fde
mov ebx, dword [edi + ebp*8 + 4]
cmp ebx, eax
je 0x443fde
lea eax, [esp + 8]
push 0
push 0
push edx
push ecx
push eax
push 0
push 0
push 0
push dword [esp + 0x44]
push 9
push dword [0x44fd68]
push ebx
call fcn.004407f0
add esp, 0x30
cmp eax, 0x103
jne 0x444089
mov dword [esp], 0x484b4a4d
mov word [esp + 4], 0
mov eax, 0x93
mov ecx, 0x6c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + eax - 0x93]
mov edx, ecx
xor edx, eax
and edx, edi
xor edx, eax
add dl, 0x21
mov byte [esp + eax - 0x93], dl
inc eax
dec ecx
cmp eax, 0x99
jne 0x444010
mov eax, dword [esp]
mov ecx, dword [0x44fd60]
test ecx, ecx
je 0x444081
xor edx, edx
mov edi, dword [0x44fd64]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edi + edx*8], 0x53f09cfa
je 0x444060
inc edx
cmp ecx, edx
jne 0x444050
jmp 0x444081
mov ecx, dword [edi + edx*8 + 4]
cmp ecx, eax
je 0x444081
push 0
push 0
push dword [esp + 0x2c]
push 3
push dword [0x44fd68]
push ecx
call fcn.004407f0
add esp, 0x18
test eax, eax
js 0x444089
mov eax, dword [esp + 8]
test esi, esi
je 0x44409c
xor ecx, ecx
cmp eax, 0xc0000011
je 0x44409a
mov ecx, dword [esp + 0xc]
mov dword [esi], ecx
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x444220
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x28
mov eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
mov edi, dword [esp + 0x3c]
mov ebx, 0xfffffffe
nop
nop
nop
nop
cmp word [edi + ebx + 2], 0
lea ebx, [ebx + 2]
jne 0x444240
sar ebx, 1
mov ebp, ebx
and ebp, 0xfffd
mov ecx, ebx
and ecx, 2
or ebx, 2
imul ebx, ecx
xor ecx, 2
imul ecx, ebp
lea ebp, [ecx + ebx]
mov word [esp + 8], bp
add ecx, ebx
add ecx, 2
mov word [esp + 0xa], cx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], 0x18
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], 0x40
lea eax, [esp + 8]
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp], 0x484b4a4d
mov word [esp + 4], 0
mov eax, 0x93
mov edi, 0x6c
movzx ecx, byte [esp + eax - 0x93]
mov ebx, edi
xor ebx, eax
and ebx, ecx
xor ebx, eax
add bl, 0x21
mov byte [esp + eax - 0x93], bl
inc eax
dec edi
cmp eax, 0x99
jne 0x4442c0
mov eax, dword [esp]
mov edi, dword [0x44fd60]
test edi, edi
je 0x444335
xor ebx, ebx
mov ebp, dword [0x44fd64]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + ebx*8], 0x9ecf05eb
je 0x444311
inc ebx
cmp edi, ebx
jne 0x444300
jmp 0x444335
mov edi, dword [ebp + ebx*8 + 4]
cmp edi, eax
je 0x444335
lea eax, [esp + 0x10]
push esi
push eax
push edx
push dword [esp + 0x4c]
push 4
push dword [0x44fd68]
push edi
call fcn.004407f0
add esp, 0x1c
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x43a945
Capabilities:
Link many functions at runtime

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
push ebx
push esi
push edi
call fcn.0042f88a
and dword [ebp - 4], 0
cmp dword [0x454778], 0
mov ebx, eax
jne 0x43a9f6
push str.USER32.DLL
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov edi, eax
test edi, edi
je 0x43aaa7
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x447118
push edi
call esi
test eax, eax
je 0x43aaa7
push eax
call fcn.0042f818
mov dword [esp], 0x447108
push edi
mov dword [0x454778], eax
call esi
push eax
call fcn.0042f818
mov dword [esp], 0x4470f4
push edi
mov dword [0x45477c], eax
call esi
push eax
call fcn.0042f818
mov dword [esp], str.GetUserObjectInformationA
push edi
mov dword [0x454780], eax
call esi
push eax
call fcn.0042f818
pop ecx
mov dword [0x454788], eax
test eax, eax
je 0x43a9f6
push str.GetProcessWindowStation
push edi
call esi
push eax
call fcn.0042f818
pop ecx
mov dword [0x454784], eax
mov eax, dword [0x454784]
cmp eax, ebx
je 0x43aa4e
cmp dword [0x454788], ebx
je 0x43aa4e
push eax
call fcn.0042f893
push dword [0x454788]
mov esi, eax
call fcn.0042f893
pop ecx
pop ecx
mov edi, eax
test esi, esi
je 0x43aa4e
test edi, edi
je 0x43aa4e
call esi
test eax, eax
je 0x43aa45
lea ecx, [ebp - 8]
push ecx
push 0xc
lea ecx, [ebp - 0x14]
push ecx
push 1
push eax
call edi
test eax, eax
je 0x43aa45
test byte [ebp - 0xc], 1
jne 0x43aa4e
or dword [ebp + 0x10], 0x200000
jmp 0x43aa87
mov eax, dword [0x45477c]
cmp eax, ebx
je 0x43aa87
push eax
call fcn.0042f893
pop ecx
test eax, eax
je 0x43aa87
call eax
mov dword [ebp - 4], eax
test eax, eax
je 0x43aa87
mov eax, dword [0x454780]
cmp eax, ebx
je 0x43aa87
push eax
call fcn.0042f893
pop ecx
test eax, eax
je 0x43aa87
push dword [ebp - 4]
call eax
mov dword [ebp - 4], eax
push dword [0x454778]
call fcn.0042f893
pop ecx
test eax, eax
je 0x43aaa7
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebp - 4]
call eax
jmp 0x43aaa9
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret

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

Disassembly:
pushal
nop
nop
nop
nop
nop
nop
mov eax, section..text
nop
mov ebx, 0x408ecc
nop
mov ecx, 0x2c6740da
nop
nop
test eax, eax
nop
nop
nop
nop
nop
je 0x43004e
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
nop
nop
nop
inc eax
nop
nop
nop
nop
inc eax
nop
nop
cmp eax, ebx
nop
nop
nop
nop
jne 0x430024
nop
nop
nop
nop
nop
mov eax, section..rsrc
nop
mov ebx, 0x42e1d0
nop
mov ecx, 0x4dc7492d
nop
test eax, eax
nop
nop
nop
nop
nop
je 0x430084
nop
nop
nop
nop
xor dword [eax], ecx
nop
nop
nop
nop
nop
add eax, 4
cmp eax, ebx
nop
nop
nop
nop
nop
jne 0x43006c
nop
nop
nop
nop
nop
nop
nop
nop
popal
jmp 0x401219
Function at 0x412722
Capabilities:
Allocate thread local storage
Get thread local storage value
Set thread local storage value

Disassembly:
cmp dword [0x4186e0], 0
push ebx
push esi
mov esi, 0x4186e8
jne 0x41274e
call dword [sym.imp.KERNEL32.dll_TlsAlloc]
push esi
mov dword [0x418700], eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [0x4186e0], 1
push dword [0x418700]
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov ebx, eax
test ebx, ebx
jne 0x4127eb
push 0x14
push 8
push dword [0x418068]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ebx, eax
test ebx, ebx
je 0x412815
push esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x4186e4]
test eax, eax
je 0x412790
mov dword [eax], ebx
push edi
push esi
mov dword [ebx + 4], eax
mov dword [0x4186e4], ebx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
lea edi, [ebx + 0x10]
push 0
push 0
push 0x100000
push edi
call esi
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call esi
push eax
call dword [sym.imp.KERNEL32.dll_DuplicateHandle]
push 8
push 0xffffffffffffffff
push ebx
push 0x41281a
push dword [edi]
lea eax, [ebx + 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_RegisterWaitForSingleObject]
push ebx
push dword [0x418700]
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
pop edi
push 0xc
push 0
push dword [0x418068]
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
test eax, eax
je 0x412815
mov ecx, dword [esp + 0xc]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x10]
mov dword [eax + 8], ecx
mov ecx, dword [ebx + 8]
mov dword [eax], ecx
mov dword [ebx + 8], eax
pop esi
pop ebx
ret 8

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

Disassembly:
pushal
nop
nop
nop
nop
nop
nop
mov eax, section..text
nop
nop
nop
push 4
nop
pop edi
nop
nop
nop
nop
nop
nop
nop
cmp eax, 0
nop
nop
nop
nop
nop
je 0x430072
nop
mov ebx, 0x408e84
nop
nop
nop
mov ecx, ebx
nop
sub ecx, eax
nop
nop
nop
nop
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
push eax
nop
nop
nop
nop
nop
nop
mov eax, ecx
nop
nop
nop
div edi
nop
nop
nop
nop
nop
xchg ecx, eax
nop
nop
pop eax
nop
nop
nop
nop
mov esi, 0x26e64fa8
nop
nop
xor dword [eax], esi
nop
nop
nop
nop
add eax, edi
nop
nop
nop
nop
nop
loop 0x430060
nop
nop
mov eax, section..data
nop
nop
nop
nop
cmp eax, 0
nop
nop
nop
je 0x4300d2
nop
nop
mov ebx, 0x42e1d0
nop
nop
mov ecx, ebx
nop
nop
nop
nop
sub ecx, eax
nop
nop
nop
nop
nop
xor edx, edx
nop
push eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ecx
div edi
nop
nop
nop
nop
nop
nop
nop
nop
xchg ecx, eax
nop
pop eax
nop
nop
nop
nop
nop
nop
mov esi, 0x6247393a
nop
nop
nop
xor dword [eax], esi
nop
nop
nop
nop
add eax, edi
nop
nop
nop
nop
nop
loop 0x4300c0
nop
nop
popal
nop
nop
nop
jmp 0x401219
Function at 0x4035ac
Capabilities:
Generate random numbers using the delphi lcg

Disassembly:
push ebx
xor ebx, ebx
imul edx, dword [ebx + 0x1e4e008], 0x8088405
inc edx
mov dword [ebx + 0x1e4e008], edx
mul edx
mov eax, edx
pop ebx
ret

Function at 0x41d2ec
Capabilities:
Decompress data using aplib

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push ebp
mov esi, dword [ebp - 4]
mov edi, dword [ebp - 8]
cld
mov dl, 0x80
mov al, byte [esi]
add esi, 1
mov byte [edi], al
add edi, 1
mov ebx, 2
add dl, dl
jne 0x41d31d
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x41d305
add dl, dl
jne 0x41d328
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x41d379
xor eax, eax
add dl, dl
jne 0x41d335
mov dl, byte [esi]
inc esi
adc dl, dl
jae 0x41d416
add dl, dl
jne 0x41d344
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x41d34f
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x41d35a
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x41d365
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
je 0x41d36f
mov ebx, edi
sub ebx, eax
mov al, byte [ebx]
mov byte [edi], al
inc edi
mov ebx, 2
jmp 0x41d314
mov eax, 1
add dl, dl
jne 0x41d387
mov dl, byte [esi]
inc esi
adc dl, dl
adc eax, eax
add dl, dl
jne 0x41d392
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x41d37e
sub eax, ebx
mov ebx, 1
jne 0x41d3c5
mov ecx, 1
add dl, dl
jne 0x41d3ab
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x41d3b6
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x41d3a2
push esi
mov esi, edi
sub esi, ebp
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x41d314
dec eax
shl eax, 8
mov al, byte [esi]
inc esi
mov ebp, eax
mov ecx, 1
add dl, dl
jne 0x41d3dc
mov dl, byte [esi]
inc esi
adc dl, dl
adc ecx, ecx
add dl, dl
jne 0x41d3e7
mov dl, byte [esi]
inc esi
adc dl, dl
jb 0x41d3d3
cmp eax, 0x7d00
sbb ecx, 0xffffffff
cmp eax, 0x500
sbb ecx, 0xffffffff
cmp eax, 0x80
adc ecx, 0
cmp eax, 0x80
adc ecx, 0
push esi
mov esi, edi
sub esi, eax
rep movsb byte es:[edi], byte [esi]
pop esi
jmp 0x41d314
mov al, byte [esi]
inc esi
xor ecx, ecx
shr al, 1
je 0x41d437
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 0x41d314
pop ebp
sub edi, dword [ebp - 8]
mov dword [ebp - 0xc], edi
pop edi
pop esi
pop ebx
mov eax, dword [ebp - 0xc]
mov esp, ebp
pop ebp
ret