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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x1108
call fcn.0040cd30
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
mov esi, 0xfffffffe
nop
nop
cmp word [eax + esi + 2], 0
lea esi, [esi + 2]
jne 0x41cd80
sar esi, 1
lea ecx, [esp + 0x2c]
push ecx
push 0
push 0
push esi
push eax
push 0
call dword [0x45143c]
mov ebx, dword [esp + 0x2c]
mov edi, 0xffffffff
test ebx, ebx
jns 0x41cdb4
mov eax, 0xffffffff
jmp 0x41cdb7
lea eax, [ebx + ebx]
push eax
call fcn.0040cdd0
add esp, 4
lea ecx, [esp + 0x2c]
push ecx
push ebx
mov dword [esp + 0x30], eax
push eax
push esi
mov eax, dword [ebp + 0xc]
push dword [eax + 4]
push 0
call dword [0x45143c]
mov eax, dword [esp + 0x2c]
mov ecx, eax
add ecx, 0xd
js 0x41cdec
lea edi, [eax*2 + 0x1a]
push edi
call fcn.0040cdd0
add esp, 4
mov edi, eax
mov dword [esp + 0x104], 0x13c611b4
mov dword [esp + 0x108], 0xef5ded4d
mov dword [esp + 0x10c], 0xeb0ae964
mov dword [esp + 0x110], 0xe75be54a
mov dword [esp + 0x114], 0xe351e152
mov dword [esp + 0x118], 0xff49fd45
mov dword [esp + 0x11c], 0xfbfaf94e
mov byte [esp + 0x120], 0
mov eax, 0x634b16fc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x634b15f8]
xor ecx, eax
lea edx, [ecx + 0xf888d13]
mov esi, edx
and esi, 1
and ecx, 1
and edx, 0xfe
or edx, ecx
lea ecx, [edx + esi*2]
mov byte [esp + eax - 0x634b15f8], cl
inc eax
cmp eax, 0x634b1719
jne 0x41ce60
mov edx, dword [esp + 0x28]
movzx ecx, word [edx]
mov eax, edi
test cx, cx
je 0x41cec1
add edx, 2
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41ceb0
mov word [eax], 0
movzx ecx, word [esp + 0x104]
test cx, cx
je 0x41cef1
lea edx, [esp + 0x106]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x41cee0
mov word [eax], 0
lea eax, [esp + 0x90]
push 0x60
push 3
push 0x120089
push eax
push edi
call fcn.00444c30
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44c3d8]
Function at 0x425d60
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x34
mov ebp, dword [esp + 0x5c]
mov edi, dword [esp + 0x54]
mov esi, dword [esp + 0x50]
movzx eax, byte [esp + 0x60]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], ebp
mov byte [esp + 0x30], al
test ebp, ebp
setg cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x44ca90]

Function at 0x428ca0
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x8c
mov dword [esp + 8], 0x296d2b0f
mov dword [esp + 0xc], 0x2dbe2fb8
mov dword [esp + 0x10], 0x51355368
mov dword [esp + 0x14], 0x553157c4
mov dword [esp + 0x18], 0x59265b7f
mov dword [esp + 0x1c], 0x5d365f2c
mov dword [esp + 0x20], 0x41d043c7
mov dword [esp + 0x24], 0x452d4724
mov dword [esp + 0x28], 0x492c4bd2
mov dword [esp + 0x2c], 0x4dd84f27
mov dword [esp + 0x30], 0x710e7328
mov dword [esp + 0x34], 0x75e07700
mov dword [esp + 0x38], 0x79107be5
mov dword [esp + 0x3c], 0x7d127f17
mov dword [esp + 0x40], 0x61f76317
lea eax, [esp + 0x44]
mov dword [esp], eax
mov word [esp + 0x44], 0x6760
mov dword [esp + 0x46], 0
mov byte [esp + 0x4a], 0
mov ecx, 0x37
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x2f]
lea esi, [ecx - 0x72626d00]
mov ebx, ecx
and ebx, edx
mov ebp, ebx
and ebp, 0xfffffffd
mov eax, ebx
and eax, 2
mov edi, ebx
or edi, 0xfffffffd
inc edi
imul edi, ebp
or ebx, 2
imul ebx, eax
sub edi, ebx
mov eax, esi
and eax, edx
xor esi, edx
lea eax, [esi + eax*2]
add eax, edi
mov edx, eax
and edx, 0x5f
xor eax, 0xdf
lea eax, [eax + edx*2]
add al, 0xe
mov byte [esp + ecx - 0x2f], al
inc ecx
cmp ecx, 0x7a
jne 0x428d50
lea ebx, [esp + 0x4e]
lea eax, [esp + 8]
mov edi, ebx
mov ecx, 0xf
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0x8a]
mov ecx, 1
mov eax, dword [esp]
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea edi, [esp + 4]
push edi
push 0
push 0
push 0x1e
push ebx
push 0
call dword [0x45143c]
mov ebp, dword [esp + 4]
test ebp, ebp
jns 0x428de8
mov eax, 0xffffffff
jmp 0x428def
lea eax, [ebp*2]
push eax
call fcn.0040cdd0
add esp, 4
mov esi, eax
push edi
push ebp
push eax
push 0x1e
push ebx
push 0
call dword [0x45143c]
mov dword [esp + 8], 0x21be2748
mov dword [esp + 0xc], 0x5db423af
mov dword [esp + 0x10], 0x59c15fc0
mov dword [esp + 0x14], 0x55385bca
mov dword [esp + 0x18], 0x51c457cf
mov dword [esp + 0x1c], 0x4d5253cc
mov eax, 0x53cca4b9
nop
nop
nop
movzx edx, byte [esp + eax - 0x53cca4b1]
xor edx, eax
mov ecx, edx
xor ecx, 0x9d
or edx, 0x62
and ecx, edx
add ecx, edx
inc cl
mov byte [esp + eax - 0x53cca4b1], cl
inc eax
cmp eax, 0x53cca4d1
jne 0x428e40
push 0
push 0
lea eax, [esp + 0x10]
push eax
push esi
push dword [esp + 0xb0]
call fcn.00423fc0
add esp, 0x14
jmp dword [0x44d160]
Function at 0x428eb0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
mov eax, 0x21ec
call fcn.0040cd30
mov dword [esp + 0x11ec], 0x912c9f30
mov dword [esp + 0x11f0], 0x952b9357
mov dword [esp + 0x11f4], 0x8923972f
mov dword [esp + 0x11f8], 0x8d388b3c
mov dword [esp + 0x11fc], 0x81228f27
mov dword [esp + 0x1200], 0x85378337
mov dword [esp + 0x1204], 0x79348743
mov dword [esp + 0x1208], 0x7b78
mov eax, 0x1ee092e5
mov ecx, 0x1a
movzx esi, byte [esp + eax - 0x1ee080f9]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
mov edi, edx
xor edi, 0x9a62de79
mov esi, edx
or esi, 0x4800186
and esi, edi
mov ebx, edx
and ebx, 2
mov edi, esi
or esi, 2
imul esi, ebx
xor ebx, 2
and edi, 0xfd
imul edi, ebx
xor edx, 0x86
add edx, edi
add edx, esi
inc dl
mov byte [esp + eax - 0x1ee080f9], dl
inc eax
dec ecx
cmp eax, 0x1ee09305
jne 0x428f20
lea eax, [esp + 0x2c]
lea ecx, [esp + 0x11ec]
push 0
push 0
push 0x20019
push eax
mov dword [esp + 0x10], ecx
push ecx
call fcn.00445390
add esp, 0x14
shr eax, 0x1f
jmp dword [eax*4 + 0x44d168]
Function at 0x42ede0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xb8
mov dword [esp + 0x1c], 0x71bd7f9b
mov dword [esp + 0x20], 0x75c273c0
mov dword [esp + 0x24], 0x49d577b0
mov dword [esp + 0x28], 0x4de94bfc
mov dword [esp + 0x2c], 0x41e24fab
mov dword [esp + 0x30], 0x45f3439e
mov dword [esp + 0x34], 0x59e147f0
mov dword [esp + 0x38], 0x5df95be8
mov dword [esp + 0x3c], 0x51a35ff8
mov dword [esp + 0x40], 0x55fe53ad
mov dword [esp + 0x44], 0x29f157e1
mov dword [esp + 0x48], 0x2d9f2b9d
mov dword [esp + 0x4c], 0x219f2f97
mov dword [esp + 0x50], 0x25dc239e
mov dword [esp + 0x54], 0x399927ac
mov dword [esp + 0x58], 0x3d3a3b84
lea eax, [esp + 0x5c]
mov byte [esp + 0x5c], 0
mov ecx, 0x95
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + ecx - 0x79]
lea edx, [ecx - 0x7763fa00]
mov edi, ecx
and edi, esi
or edx, esi
xor edx, edi
add edx, 0xfdbbd687
mov esi, edx
xor esi, 0xa8c7f771
and edx, 0xd738088e
add edx, edx
sub edx, esi
add edx, 0xa23f091b
mov esi, edx
and esi, 1
xor edx, 1
lea edx, [edx + esi*2]
add dl, 0xe5
mov byte [esp + ecx - 0x79], dl
inc ecx
cmp ecx, 0xd6
jne 0x42ee80
lea ebp, [esp + 0x78]
lea edx, [esp + 0x1c]
mov edi, ebp
mov ecx, 0x10
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xb8]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea esi, [esp + 0x74]
push esi
push 0
push 0
push 0x1f
push ebp
push 0
call dword [0x45143c]
mov edi, dword [esp + 0x74]
test edi, edi
jns 0x42ef12
mov eax, 0xffffffff
jmp 0x42ef15
lea eax, [edi + edi]
push eax
call fcn.0040cdd0
add esp, 4
mov ebx, eax
push esi
push edi
push eax
push 0x1f
push ebp
push 0
call dword [0x45143c]
lea eax, [esp + 0x14]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0x80], ebx
push ebx
call fcn.00444c30
add esp, 0x14
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44db00]
Function at 0x437510
Capabilities:
Open clipboard
Read clipboard data

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x14
call fcn.0040e5f0
sub esp, 0x10
mov edi, esp
push eax
mov esi, esp
xor eax, eax
sub esp, 4
mov dword [esp], 0
call dword [sym.imp.USER32.dll_OpenClipboard]
cmp eax, 0
setne al
xor ebx, ebx
test al, 1
jne 0x437549
jmp 0x4376b3
xor eax, eax
sub esp, 8
mov dword [esp], 0
mov dword [esp + 4], 0
call dword [sym.imp.USER32.dll_GetWindowLongW]
sub esp, 4
mov dword [esp], 0xd
call dword [sym.imp.USER32.dll_GetClipboardData]
cmp eax, 0
setne cl
jmp 0x43757b
jmp 0x43757d
xor ebx, ebx
test cl, 1
jne 0x437589
jmp 0x4376ad
mov dword [ebp - 0x18], esi
sub esp, 4
mov dword [ebp - 0x20], eax
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
mov esi, eax
sub esp, 4
mov dword [esp], esi
call fcn.00433070
add esp, 4
cmp eax, 0
setne cl
xor ebx, ebx
test cl, 1
jne 0x4375bd
jmp 0x43769e
mov dword [ebp - 0x1c], eax
mov ebx, eax
add ebx, 1
sub esp, 4
mov dword [esp], ebx
call fcn.0040cdd0
sub esp, 8
mov dword [ebp - 0x14], eax
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
call fcn.0040d760
add esp, 0xc
mov eax, dword [ebp - 0x18]
mov al, byte [eax]
mov byte [ebp - 0x10], al
mov byte [edi], 0x49
mov byte [edi + 1], 0xa3
mov byte [edi + 2], 0xa5
mov byte [edi + 3], 0xe1
mov byte [edi + 4], 0xd2
mov byte [edi + 5], 0xe2
mov byte [edi + 6], 0xd1
mov byte [edi + 7], 0xe7
mov byte [edi + 8], 0xd0
mov byte [edi + 9], 0x19
mov byte [edi + 0xa], 0xe2
mov byte [edi + 0xb], 0xe1
mov byte [edi + 0xc], 0xec
mov byte [edi + 0xd], 0x7b
mov eax, 0xe
mov byte [edi + eax], 0
add eax, 1
cmp eax, 0x10
jne 0x43762d
xor eax, eax
mov ecx, dword [ebp + 8]
cmp eax, 0x10
jae 0x43766c
movzx esi, byte [edi + eax]
mov ebx, 0x42
sub ebx, eax
or ebx, esi
mov edx, 0x42
sub edx, eax
and edx, esi
mov ecx, dword [ebp + 8]
xor ebx, 0xffffffff
or edx, ebx
add dl, 0x4f
mov byte [edi + eax], dl
add eax, 1
jmp 0x43763e
sub esp, 0xc
mov dword [esp], edi
mov esi, dword [ebp - 0x14]
mov dword [esp + 4], esi
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
call fcn.0040d8f0
mov bl, al
and bl, 1
jmp 0x43768c
sub esp, 4
mov dword [esp], esi
call fcn.0040cde0
add esp, 4
jmp 0x43769c
jmp 0x43769e
sub esp, 4
mov eax, dword [ebp - 0x20]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
call dword [sym.imp.USER32.dll_CloseClipboard]
and bl, 1
movzx eax, bl
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x43c970
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x14
mov eax, esp
push 0
push 0
push 0x20219
push eax
push dword [esp + 0x38]
call fcn.00445390
add esp, 0x14
test eax, eax
js 0x43cac6
lea ebx, [esp + 0xc]
lea eax, [esp + 0x10]
push ebx
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x20]
call fcn.004457b0
add esp, 0x24
xor edi, edi
mov esi, 0
test eax, eax
js 0x43ca0a
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0xc]
mov ecx, eax
inc ecx
jns 0x43c9d8
mov eax, 0xffffffff
jmp 0x43c9df
lea eax, [eax*2 + 2]
push eax
call fcn.0040cdd0
add esp, 4
mov esi, eax
push ebx
push eax
push 0
push ebp
push dword [esp + 0x10]
call fcn.00445de0
add esp, 0x14
test eax, eax
jns 0x43ca0a
push esi
call fcn.0040cde0
add esp, 4
xor esi, esi
mov eax, dword [esp]
mov dword [esp + 4], 0x2c2d2e2f
mov word [esp + 8], 0
mov ecx, 0x47
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + edi + 4]
mov ebp, ecx
and ebp, 0x45
mov ebx, edi
and ebx, 2
or ebx, ebp
xor ebx, 0x45
or ebx, edi
or ebx, 0xb8
and ebx, edx
or edx, edi
or edx, 0xb8
xor edx, ebx
add dl, 0x68
mov byte [esp + edi + 4], dl
inc edi
dec ecx
cmp edi, 6
jne 0x43ca30
mov ecx, dword [0x451440]
test ecx, ecx
je 0x43caaa
mov edx, dword [esp + 4]
xor edi, edi
mov ebx, dword [0x451444]
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xb62b8d10
je 0x43ca90
inc edi
cmp ecx, edi
jne 0x43ca80
jmp 0x43caaa
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je 0x43caaa
push eax
push 1
push ecx
push dword [0x451448]
call fcn.004417a0
add esp, 0x10
test esi, esi
jne 0x43cac8
lea eax, [esp + 4]
push eax
call fcn.00444a30
add esp, 4
test al, al
je 0x43cac6
cmp dword [esp + 4], 1
je 0x43cac8
xor esi, esi
mov eax, esi
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x43e770
Capabilities:
Encode data using xor

Disassembly:
push ebx
push edi
push esi
sub esp, 8
mov esi, dword [esp + 0x18]
xor eax, eax
test esi, esi
setne al
jmp dword [eax*4 + 0x44f1dc]
Function at 0x43eab0
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 0x43eb90
xor eax, eax
cmp dword [ecx], 0
jne 0x43ebeb
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], 0x2c2d2e2f
mov word [esp + 0x1c], 0
lea eax, [esp + 0x18]
xor esi, esi
xor edx, edx
nop
nop
movzx ebp, byte [eax]
mov ebx, esi
and ebx, 0xeb4a490
mov edi, edx
xor edi, 0xf8a5adb7
sub edi, ebx
mov ebx, 0xfe
sub ebx, edi
inc edi
xor ebx, edi
and ebx, ebp
xor ebx, edi
add ebx, 0x24c39b67
mov edi, ebx
and edi, 1
xor ebx, 1
lea ebx, [ebx + edi*2]
mov byte [eax], bl
inc eax
dec edx
add esi, 0xfffffffe
cmp edx, 0xfffffffa
jne 0x43eb20
mov eax, dword [esp + 0x18]
mov esi, dword [0x451440]
test esi, esi
je 0x43ebeb
xor edi, edi
mov ebx, dword [0x451444]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xef01f5a1
je 0x43ebf5
inc edi
cmp esi, edi
jne 0x43eb80
jmp 0x43ebeb
mov dword [esp], 0xb10e0f04
mov word [esp + 4], 0
mov byte [esp + 6], 0
mov eax, 0x7d02067d
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x7d02067d]
lea edx, [eax - 0x7d020600]
and edx, ecx
or ecx, eax
xor ecx, edx
mov edx, ecx
not edx
or edx, 0xe
add edx, ecx
xor ecx, 0x8e
lea ecx, [ecx + edx*2]
add cl, 3
mov byte [esp + eax - 0x7d02067d], cl
inc eax
cmp eax, 0x7d020684
jne 0x43ebb0
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 0x43ebeb
lea eax, [esp + 0x20]
mov edx, esp
push eax
push edx
push dword [esp + 0x44]
push ecx
push 4
push esi
push dword [0x451448]
call fcn.004417a0
add esp, 0x1c
jmp 0x43ebeb

Function at 0x43ec30
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [ecx]
test eax, eax
je 0x43ecfd
push ebp
push ebx
push edi
push esi
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0x2c2d2e2f
mov word [esp + 8], 0
lea edx, [esp + 4]
xor esi, esi
xor eax, eax
nop
nop
nop
nop
nop
movzx ebp, byte [edx]
mov ebx, esi
and ebx, 0xeb4a490
mov edi, eax
xor edi, 0xf8a5adb7
sub edi, ebx
mov ebx, 0xfe
sub ebx, edi
inc edi
xor ebx, edi
and ebx, ebp
xor ebx, edi
add ebx, 0x24c39b67
mov edi, ebx
and edi, 1
xor ebx, 1
lea ebx, [ebx + edi*2]
mov byte [edx], bl
inc edx
dec eax
add esi, 0xfffffffe
cmp eax, 0xfffffffa
jne 0x43ec60
mov edx, dword [0x451440]
test edx, edx
je 0x43ecf0
mov esi, dword [esp + 4]
xor edi, edi
mov ebx, dword [0x451444]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xb62b8d10
je 0x43ecd0
inc edi
cmp edx, edi
jne 0x43ecc0
jmp 0x43ecf0
mov edx, dword [ebx + edi*8 + 4]
cmp edx, esi
je 0x43ecf0
push dword [esp]
push 1
push edx
push dword [0x451448]
mov esi, ecx
call fcn.004417a0
mov ecx, esi
add esp, 0x10
mov dword [ecx], 0
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x43ed00
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x20
mov dword [esp + 0xc], ecx
cmp dword [ecx + 8], 0
je 0x43edb3
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
test eax, eax
je 0x43edb3
mov dword [esp + 8], eax
mov dword [esp], 0x2c2d2e2f
mov word [esp + 4], 0
mov eax, esp
xor ebx, ebx
xor edx, edx
movzx ecx, byte [eax]
mov esi, ebx
and esi, 0xeb4a490
mov edi, edx
xor edi, 0xf8a5adb7
sub edi, esi
mov esi, 0xfe
sub esi, edi
inc edi
xor esi, edi
and esi, ecx
xor esi, edi
add esi, 0x24c39b67
mov ecx, esi
and ecx, 1
xor esi, 1
lea ecx, [esi + ecx*2]
mov byte [eax], cl
inc eax
dec edx
add ebx, 0xfffffffe
cmp edx, 0xfffffffa
jne 0x43ed40
mov eax, dword [esp]
mov edi, dword [0x451440]
test edi, edi
je 0x43ee3e
xor esi, esi
mov ebx, dword [0x451444]
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0x2dedf0b8
je 0x43ee1e
inc esi
cmp edi, esi
jne 0x43eda0
jmp 0x43ee3e
mov dword [esp], 0x19dadbdc
mov dword [esp + 4], 0
mov eax, 0x4a374f
mov ecx, 0x3fb5c8b0
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x4a374f]
mov edi, ecx
and edi, 0x279040ac
mov edx, eax
and edx, 0x482353
or edx, edi
xor edx, esi
mov esi, edx
xor esi, 0xac
add esi, 0xf4
and edx, 1
xor esi, 0x81
lea edx, [esi + edx*2]
mov byte [esp + eax - 0x4a374f], dl
inc eax
dec ecx
cmp eax, 0x4a3757
jne 0x43edd0
mov eax, dword [esp]
jmp 0x43ef45
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, eax
je 0x43ee3e
push dword [ebp + 8]
push dword [esp + 0xc]
push 2
push ecx
push dword [0x451448]
call fcn.004417a0
add esp, 0x14
mov edi, dword [ebp + 0xc]
cmp edi, 1
mov esi, dword [ebp + 0x10]
mov ecx, esi
sbb ecx, 0
jl 0x43ef34
cmp eax, 0xc000010a
jne 0x43ef34
mov ecx, 0xffffd8f0
mov eax, edi
mul ecx
sub edx, edi
imul ecx, esi, 0xffffd8f0
add ecx, edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov dword [esp + 8], eax
mov dword [esp], 0x2c2d2e2f
mov word [esp + 4], 0
mov eax, esp
xor esi, esi
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [eax]
mov ebx, esi
and ebx, 0xeb4a490
mov ecx, edi
xor ecx, 0xf8a5adb7
sub ecx, ebx
mov ebx, 0xfe
sub ebx, ecx
inc ecx
xor ebx, ecx
and ebx, edx
xor ebx, ecx
add ebx, 0x24c39b67
mov ecx, ebx
and ecx, 1
xor ebx, 1
lea ecx, [ebx + ecx*2]
mov byte [eax], cl
inc eax
dec edi
add esi, 0xfffffffe
cmp edi, 0xfffffffa
jne 0x43eea0
mov eax, dword [esp]
mov esi, dword [0x451440]
test esi, esi
je 0x43ef34
xor edi, edi
mov ebx, dword [0x451444]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x4e66b5a3
je 0x43ef10
inc edi
cmp esi, edi
jne 0x43ef00
jmp 0x43ef34
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, eax
je 0x43ef34
lea eax, [esp + 0x10]
push eax
push 0
push dword [esp + 0x10]
push 3
push ecx
push dword [0x451448]
call fcn.004417a0
add esp, 0x18
test eax, eax
js 0x43ef45
mov ecx, dword [esp + 0xc]
mov esi, eax
call fcn.0043ec30
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc
Function at 0x43ef50
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x10
mov esi, ecx
mov ebx, dword [esp + 0x2c]
mov eax, dword [ecx + 4]
test eax, eax
jne 0x43efdc
push 0xbbf966b4
push dword [0x451434]
call fcn.004442e0
add esp, 8
test eax, eax
je 0x43efa1
mov ecx, dword [esi]
test ecx, ecx
je 0x43efd9
mov dword [esp], 0
mov edx, esp
push edx
push ecx
call eax
test eax, eax
je 0x43efb5
cmp dword [esp], 0
je 0x43efb5
mov dword [esi + 4], 3
jmp 0x43efd9
mov ecx, ebx
mov dword [esi + 4], 1
mov eax, dword [esi]
mov dword [esp + 8], eax
jmp 0x43f087
lea eax, [esp + 0xc]
push eax
call fcn.00444a30
add esp, 4
test al, al
je 0x43efd9
mov eax, dword [esp + 0xc]
mov ecx, 2
cmp eax, 3
je 0x43efd6
mov ecx, eax
mov dword [esi + 4], ecx
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov dword [esp + 8], ecx
mov ecx, ebx
cmp eax, 2
jne 0x43f087
mov dword [esp], 0x2c2d2e2f
mov word [esp + 4], 0
mov eax, esp
xor edx, edx
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebp, byte [eax]
mov ebx, edx
and ebx, 0xeb4a490
mov esi, edi
xor esi, 0xf8a5adb7
sub esi, ebx
mov ebx, 0xfe
sub ebx, esi
inc esi
xor ebx, esi
and ebx, ebp
xor ebx, esi
add ebx, 0x24c39b67
mov esi, ebx
and esi, 1
xor ebx, 1
lea ebx, [ebx + esi*2]
mov byte [eax], bl
inc eax
dec edi
add edx, 0xfffffffe
cmp edi, 0xfffffffa
jne 0x43f010
mov eax, dword [esp]
mov edx, dword [0x451440]
test edx, edx
je 0x43f13a
xor esi, esi
mov ebx, dword [0x451444]
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0xc3cdc4a6
je 0x43f110
inc esi
cmp edx, esi
jne 0x43f070
jmp 0x43f13a
mov dword [esp], 0x2c2d2e2f
mov word [esp + 4], 0
mov eax, esp
xor edx, edx
xor esi, esi
nop
nop
nop
nop
nop
movzx edi, byte [eax]
mov ebx, edx
and ebx, 0xeb4a490
mov ebp, esi
xor ebp, 0xf8a5adb7
sub ebp, ebx
mov ebx, 0xfe
sub ebx, ebp
inc ebp
xor ebx, ebp
and ebx, edi
xor ebx, ebp
add ebx, 0x24c39b67
mov edi, ebx
and edi, 1
xor ebx, 1
lea ebx, [ebx + edi*2]
mov byte [eax], bl
inc eax
dec esi
add edx, 0xfffffffe
cmp esi, 0xfffffffa
jne 0x43f0a0
mov eax, dword [esp]
mov edx, dword [0x451440]
test edx, edx
je 0x43f13a
xor esi, esi
mov ebx, dword [0x451444]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0xae6e2b0b
je 0x43f110
inc esi
cmp edx, esi
jne 0x43f100
jmp 0x43f13a
mov edx, dword [ebx + esi*8 + 4]
cmp edx, eax
je 0x43f13a
push dword [esp + 0x30]
push ecx
push dword [esp + 0x30]
push dword [esp + 0x30]
push dword [esp + 0x18]
push 5
push edx
push dword [0x451448]
call fcn.004417a0
add esp, 0x20
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret 0x10
Function at 0x43f520
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, ecx
mov edi, dword [ebp + 0x1c]
test edi, edi
jne 0x43f539
lea edi, [esp + 0x18]
mov eax, dword [esi + 4]
test eax, eax
mov dword [esp + 0xc], edi
je 0x43f54e
cmp eax, 2
je 0x43f5c4
jmp 0x43f5f5
push 0xbbf966b4
push dword [0x451434]
call fcn.004442e0
add esp, 8
test eax, eax
je 0x43f58f
mov ecx, dword [esi]
test ecx, ecx
je 0x43f5bc
mov dword [esp + 4], 0
lea edx, [esp + 4]
push edx
push ecx
call eax
test eax, eax
je 0x43f598
cmp dword [esp + 4], 0
je 0x43f598
mov dword [esi + 4], 3
jmp 0x43f5bc
mov dword [esi + 4], 1
jmp 0x43f5f5
lea eax, [esp + 0x14]
push eax
call fcn.00444a30
add esp, 4
test al, al
je 0x43f5bc
mov eax, dword [esp + 0x14]
mov ecx, 2
cmp eax, 3
je 0x43f5b9
mov ecx, eax
mov dword [esi + 4], ecx
mov eax, dword [esi + 4]
cmp eax, 2
jne 0x43f5f5
mov edi, dword [ebp + 0x18]
mov ebx, dword [ebp + 0xc]
push 0x732f71fd
push dword [0x45945c]
call fcn.004442e0
add esp, 8
push dword [esp + 0xc]
push edi
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push ebx
push dword [ebp + 8]
push dword [esi]
call eax
jmp 0x43f6ba
mov eax, dword [esi]
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x2c2d2e2f
mov word [esp + 8], 0
lea eax, [esp + 4]
xor edx, edx
xor edi, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [eax]
mov ebx, edx
and ebx, 0xeb4a490
mov esi, edi
xor esi, 0xf8a5adb7
sub esi, ebx
mov ebx, 0xfe
sub ebx, esi
inc esi
xor ebx, esi
and ebx, ecx
xor ebx, esi
add ebx, 0x24c39b67
mov ecx, ebx
and ecx, 1
xor ebx, 1
lea ecx, [ebx + ecx*2]
mov byte [eax], cl
inc eax
dec edi
add edx, 0xfffffffe
cmp edi, 0xfffffffa
jne 0x43f620
mov eax, dword [esp + 4]
mov edx, dword [0x451440]
test edx, edx
je 0x43f6ba
xor esi, esi
mov ebx, dword [0x451444]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + esi*8], 0xfd743ac4
je 0x43f690
inc esi
cmp edx, esi
jne 0x43f680
jmp 0x43f6ba
mov ecx, dword [ebx + esi*8 + 4]
cmp ecx, eax
je 0x43f6ba
push dword [esp + 0xc]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 8]
push dword [esp + 0x20]
push 5
push ecx
push dword [0x451448]
call fcn.004417a0
add esp, 0x20
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0x18