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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x1c
mov eax, ecx
mov edi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x30]
mov dword [esp], 0
mov dword [esp + 0xc], eax
mov eax, dword [eax + 8]
mov dword [esp + 0x18], eax
mov dword [esp + 4], 0x484b4a4d
mov byte [esp + 8], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, eax
add dl, 0x93
xor dl, byte [esp + eax + 4]
add dl, 0x21
mov byte [esp + eax + 4], dl
inc eax
cmp eax, 5
jne 0x4416f0
mov eax, dword [esp + 4]
mov edx, dword [0x451f80]
test edx, edx
je 0x441761
xor ebx, ebx
mov ebp, dword [0x451f84]
nop
nop
nop
nop
cmp dword [ebp + ebx*8], 0xf3285e74
je 0x441731
inc ebx
cmp edx, ebx
jne 0x441720
jmp 0x441761
mov edx, dword [ebp + ebx*8 + 4]
cmp edx, eax
je 0x441761
lea eax, [esp + 0x18]
mov ebx, esp
push 4
push 0x3000
push eax
push 0
push ebx
push 0xffffffffffffffff
push 6
push dword [0x451f88]
push edx
mov ebx, ecx
call fcn.00442960
mov ecx, ebx
add esp, 0x24
test eax, eax
js 0x4417c7
push 0
push 0
mov eax, dword [esp + 0x14]
push dword [eax + 8]
push dword [esp + 0xc]
push dword [eax + 4]
push dword [eax]
call fcn.00440b10
test eax, eax
jns 0x441797
mov ecx, eax
xor eax, eax
mov edx, 0
cmp ecx, 0x8000000d
jne 0x44183f
mov ecx, dword [esp]
mov eax, dword [esp + 0xc]
mov ebx, dword [eax + 8]
add ebx, ecx
sub ebx, dword [esp + 0x38]
xor eax, eax
mov edx, 0
mov dword [esp + 0x10], ecx
cmp ebx, ecx
jbe 0x44183f
mov eax, dword [esp + 0x38]
lea ebp, [eax - 1]
mov ecx, dword [esp + 0x10]
jmp 0x4417de
xor eax, eax
xor edx, edx
jmp 0x4418d0
add ecx, eax
inc ecx
xor eax, eax
mov edx, 0
cmp ecx, ebx
jae 0x44183f
test edi, edi
je 0x4417e7
cmp byte [edi], 0x3f
je 0x4417f2
movzx eax, byte [ecx]
mov edx, dword [esp + 0x34]
cmp al, byte [edx]
jne 0x4417d2
cmp dword [esp + 0x38], 2
jb 0x441821
xor eax, eax
jmp 0x441814
movzx edx, byte [ecx + eax + 1]
mov esi, dword [esp + 0x34]
cmp dl, byte [esi + eax + 1]
jne 0x4417d0
inc eax
cmp ebp, eax
je 0x441821
test edi, edi
je 0x441800
cmp byte [edi + eax + 1], 0x3f
jne 0x441800
jmp 0x44180f
test ecx, ecx
je 0x44183b
sub ecx, dword [esp + 0x10]
mov edx, ecx
sar edx, 0x1f
mov eax, dword [esp + 0xc]
add ecx, dword [eax]
adc edx, dword [eax + 4]
mov eax, ecx
jmp 0x44183f
xor eax, eax
xor edx, edx
mov dword [esp + 0x14], 0
mov dword [esp + 4], 0x484b4a4d
mov byte [esp + 8], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, ecx
add bl, 0x93
xor bl, byte [esp + ecx + 4]
add bl, 0x21
mov byte [esp + ecx + 4], bl
inc ecx
cmp ecx, 5
jne 0x441860
mov ecx, dword [0x451f80]
test ecx, ecx
je 0x4418d0
mov esi, dword [esp + 4]
xor edi, edi
mov ebx, dword [0x451f84]
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x731cdbf3
je 0x4418a0
inc edi
cmp ecx, edi
jne 0x441890
jmp 0x4418d0
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, esi
je 0x4418d0
lea esi, [esp + 0x14]
mov edi, esp
push 0x8000
push esi
push edi
push 0xffffffffffffffff
push 4
push dword [0x451f88]
push ecx
mov esi, eax
mov edi, edx
call fcn.00442960
mov edx, edi
mov eax, esi
add esp, 0x1c
add esp, 0x1c
pop esi
pop edi
pop ebx
pop ebp
ret 0x10
Function at 0x4418e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x64
mov dword [esp + 0x30], 0x4fda49da
mov dword [esp + 0x34], 0x43de4da8
mov dword [esp + 0x38], 0x479441dc
mov dword [esp + 0x3c], 0x7be645a0
mov dword [esp + 0x40], 0x7f7e79e4
mov dword [esp + 0x44], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
mov esi, eax
and esi, 0x24
mov edx, ecx
xor edx, 0x12
add edx, esi
xor dl, byte [esp + ecx + 0x30]
add dl, 0xa6
mov byte [esp + ecx + 0x30], dl
inc ecx
add eax, 2
cmp ecx, 0x18
jne 0x441920
lea eax, [esp + 0x30]
push eax
call fcn.00444d30
add esp, 4
mov dword [0x459f94], eax
mov dword [esp + 0xc], 0x6b23fd84
test eax, eax
je 0x441966
mov dword [esp + 0xc], 0x69947797
mov edi, 0x3297aeec
xor eax, eax
cmp edi, 0x31c057bc
setl al
mov eax, dword [eax*4 + 0x44fbac]
mov ecx, 0x98bf9cb8
xor ecx, dword [str.kwFg]
add eax, ecx
inc eax
jmp eax
Function at 0x443c90
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xc
mov edx, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
mov ebx, dword [esp + 0x2c]
mov ecx, ebx
add ecx, ebp
adc edx, 0
xor eax, eax
mov esi, 0xfffffffe
cmp esi, ecx
mov ecx, 0
sbb ecx, edx
mov esi, dword [esp + 0x28]
jb 0x443d06
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, ebx
mov ebx, edx
mov edi, esi
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ebx, ebp
test bl, 1
je 0x443ebe
and ebx, 2
movzx ecx, byte [edx + ebx]
mov byte [esi + ebx], cl
jmp 0x443ebe
mov dword [esp], 0x504f4e4d
mov word [esp + 4], 0
mov eax, 0x7ee03a6d
mov edi, 0x1fc592
nop
nop
movzx ebx, byte [esp + eax - 0x7ee03a6d]
mov ecx, edi
and ecx, 0x1f4507
mov edx, eax
and edx, 0x6c603218
or edx, ecx
xor edx, ebx
mov ecx, edx
xor ecx, 0x67
mov ebx, edx
xor ebx, 0x98
and edx, 0xde
xor edx, 0x46
or ebx, 0x21
add ebx, ecx
add ebx, edx
add bl, 0xe0
mov byte [esp + eax - 0x7ee03a6d], bl
inc eax
dec edi
cmp eax, 0x7ee03a73
jne 0x443d20
mov eax, dword [esp]
mov ecx, dword [0x451f80]
test ecx, ecx
je 0x443dca
xor edx, edx
mov ebx, dword [0x451f84]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edx*8], 0x7789b0cb
je 0x443da0
inc edx
cmp ecx, edx
jne 0x443d90
jmp 0x443dca
mov ecx, dword [ebx + edx*8 + 4]
cmp ecx, eax
je 0x443dca
lea eax, [esp + 8]
push 2
push 0
push 0
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 7
push dword [0x451f88]
push ecx
call fcn.00442960
add esp, 0x28
test eax, eax
mov edi, dword [esp + 0x2c]
js 0x443ebe
push 0x1e03da9a
push dword [0x459f94]
call fcn.004451d0
add esp, 8
push 0
push 0
push edi
push esi
push dword [esp + 0x34]
push ebp
push dword [esp + 0x20]
call eax
mov ecx, dword [esp + 8]
mov dword [esp], 0x504f4e4d
mov word [esp + 4], 0
mov edx, 0x7ee03a6d
mov esi, 0x1fc592
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + edx - 0x7ee03a6d]
mov ebp, esi
and ebp, 0x1f4507
mov edi, edx
and edi, 0x6c603218
or edi, ebp
xor edi, ebx
mov ebp, edi
xor ebp, 0x67
mov ebx, edi
xor ebx, 0x98
and edi, 0xde
xor edi, 0x46
or ebx, 0x21
add ebx, ebp
add ebx, edi
add bl, 0xe0
mov byte [esp + edx - 0x7ee03a6d], bl
inc edx
dec esi
cmp edx, 0x7ee03a73
jne 0x443e20
mov edx, dword [0x451f80]
test edx, edx
je 0x443ebe
mov esi, dword [esp]
xor edi, edi
mov ebx, dword [0x451f84]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0x7e776f1
je 0x443ea0
inc edi
cmp edx, edi
jne 0x443e90
jmp 0x443ebe
mov edx, dword [ebx + edi*8 + 4]
cmp edx, esi
je 0x443ebe
push ecx
push 1
push dword [0x451f88]
push edx
mov esi, eax
call fcn.00442960
mov eax, esi
add esp, 0x10
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x444ff0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
push eax
mov ebp, dword [esp + 0x18]
mov dword [esp], 0x57564978
mov eax, 0x8e
mov edx, 0x71
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x8e]
mov edi, edx
and edi, esi
mov ebx, eax
and ebx, esi
mov ecx, edx
xor ecx, esi
sub ecx, esi
add ecx, edi
or ecx, ebx
mov bl, 0x39
sub bl, cl
mov byte [esp + eax - 0x8e], bl
inc eax
dec edx
cmp edx, 0x6d
jne case.default.0x445049
mov eax, dword [esp]
mov eax, dword fs:[eax]
xor ecx, ecx
test ebp, ebp
sete cl
jmp dword [ecx*4 + 0x450a20]
mov edx, dword [eax + 0xc]
mov esi, dword [edx + 0xc]
add edx, 0xc
mov edi, dword [case.0x445049.9]
xor eax, eax
mov ebx, dword [case.0x445049.15]
xor ecx, ecx
cmp esi, edx
setne cl
jmp dword [ecx*4 + 0x450a28]
mov ebp, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov esi, dword [edx + 0xc]
add edx, 0xc
mov edi, dword [case.0x445049.9]
xor eax, eax
mov ebx, dword [case.0x445049.15]
xor ecx, ecx
cmp esi, edx
setne cl
jmp dword [ecx*4 + 0x450a28]
xor ecx, ecx
cmp dword [esi + 0x18], ebp
sete cl
jmp dword [ecx*4 + 0x450a30]
mov ecx, 1
jmp dword [ecx*4 + 0x450a48]
jmp edi
mov eax, dword [esi + 0x30]
xor ecx, ecx
jmp dword [ecx*4 + 0x450a48]
mov esi, dword [esi]
jmp ebx
xor ecx, ecx
cmp esi, edx
setne cl
jmp dword [ecx*4 + 0x450a28]
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret
xor ecx, ecx
cmp dword [edi + 0x18], ebp
sete cl
mov ebx, 1
jmp dword [ecx*4 + 0x450a70]
mov eax, dword [edi + 0x28]
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor ebx, ebx
jmp esi
jmp dword [ebx*4 + 0x450a88]
mov edi, dword [edi]
xor ebx, ebx
cmp edi, edx
setne bl
jmp dword [ebx*4 + 0x450a68]
push eax
inc esp
add byte [ebp + 0x50], dh
inc esp
add al, ah
push eax
inc esp
add byte [eax - 0x50ffbbb0], ah
push eax
inc esp
add al, al
push eax
inc esp
add al, al
push eax
inc esp
add al, al
push eax
inc esp
add dl, al
push eax
inc esp
add al, al
push eax
inc esp
add al, ah
push eax
inc esp
add dh, cl
push eax
inc esp
add al, dl
push eax
inc esp
add al, dl
push eax
inc esp
add dl, dl
push eax
inc esp
add al, dl
push eax
inc esp
add byte [edi + 0x51], bl
inc esp
add byte [ebx - 0x3effbbaf], bh
push ecx
inc esp
add byte [eax - 0x5bffbbaf], al
push ecx
inc esp
add byte [ecx + edx*2 + 0x51a00044], dl
inc esp
add byte [eax - 0x5bffbbaf], ah
push ecx
inc esp
add byte [eax - 0x3effbbaf], ah
push ecx
inc esp
add byte [ebx + 0x15004451], ch
push edx
inc esp
add byte [edx], ah
push ebp
inc esp
add byte [ecx + 0x52], dh
push edx

Function at 0x4450f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
push eax
mov ebp, dword [esp + 0x18]
mov dword [esp], 0xc1c6c714
mov eax, esp
mov edx, 6
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [eax]
mov edi, esi
and edi, 0xffffffd8
xor edi, 0x556a2ed8
mov ebx, esi
xor ebx, 0x556a2ed8
or esi, 0x27
and esi, ebx
or esi, edi
mov ebx, edx
xor ebx, 0x6b1129ef
mov edi, esi
and edi, ebx
add ebx, esi
add edi, edi
sub ebx, edi
add bl, 0xb
mov byte [eax], bl
inc eax
dec edx
cmp edx, 2
jne case.default.0x445158
mov eax, dword [esp]
mov eax, dword fs:[eax]
xor edx, edx
test ebp, ebp
sete dl
jmp dword [edx*4 + 0x450a60]
Function at 0x4451d0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x34
mov esi, dword [esp + 0x48]
movzx eax, word [esi]
mov dword [esp], 0xfffe0735
mov word [esp + 4], 0
xor ecx, ecx
nop
nop
mov edx, ecx
add dl, 0x2a
xor dl, byte [esp + ecx]
add dl, 0x2e
mov byte [esp + ecx], dl
inc ecx
cmp ecx, 6
jne case.default.0x44520e
xor ecx, ecx
cmp dword [esp], eax
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x450a90]

Function at 0x4452f4
Capabilities:
Encode data using xor

Disassembly:
mov dword [esp], 0x3e3e384f
mov word [esp + 4], 0
mov ecx, 0xb5
mov edx, 0x4a
nop
nop
nop
nop
movzx eax, byte [esp + edx - 0x4a]
lea esi, [eax + eax]
not esi
add esi, eax
mov edi, esi
and edi, eax
xor eax, esi
sub eax, esi
add eax, edi
or eax, ecx
lea edi, [ecx - 0xa0]
and edi, 0x1e
mov ebx, edx
and ebx, 0x41
or ebx, edi
xor ebx, 0x1e
or ebx, esi
and ebx, eax
mov al, 0x8d
sub al, bl
mov byte [esp + edx - 0x4a], al
dec ecx
inc edx
cmp ecx, 0xaf
jne 0x445310
jmp case.0x44526a.11

Function at 0x44536f
Capabilities:
Encode data using xor

Disassembly:
mov edx, 0xfb520141
mov ebp, dword [esp + 0x48]
jmp dword [0x450ac8]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 8]
mov ecx, dword [eax + ecx*4]
add ecx, ebp
mov ebx, 0xffffffff
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, eax
cmp byte [ecx + ebx + 1], 0
lea ebx, [ebx + 1]
lea eax, [eax + 1]
jne 0x445390
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], ecx
mov dword [esp], 0x3e3e384f
mov word [esp + 4], 0
mov ecx, 0xb5
mov esi, 0x4a
nop
movzx edx, byte [esp + esi - 0x4a]
lea ebp, [edx + edx]
not ebp
add ebp, edx
mov eax, ebp
and eax, edx
xor edx, ebp
sub edx, ebp
add edx, eax
or edx, ecx
lea edi, [ecx - 0xa0]
and edi, 0x1e
mov eax, esi
and eax, 0x41
or eax, edi
xor eax, 0x1e
or eax, ebp
and eax, edx
mov dl, 0x8d
sub dl, al
mov byte [esp + esi - 0x4a], dl
dec ecx
inc esi
cmp ecx, 0xaf
jne 0x4453c0
test ebx, ebx
je 0x445360
mov esi, dword [esp]
cmp ebx, 4
jae 0x445420
mov ecx, 0xfb520141
mov ebp, dword [esp + 0x48]
mov edi, dword [esp + 0xc]
jmp 0x44545f
mov edx, dword [esp + 0x10]
and edx, 0xfffffffc
mov ecx, 0xfb520141
mov edi, dword [esp + 0xc]
movsx eax, byte [edi]
xor eax, ecx
imul eax, esi
movsx ecx, byte [edi + 1]
xor ecx, eax
imul ecx, esi
movsx eax, byte [edi + 2]
xor eax, ecx
imul eax, esi
movsx ecx, byte [edi + 3]
add edi, 4
xor ecx, eax
imul ecx, esi
add edx, 0xfffffffc
jne 0x445430
mov ebp, dword [esp + 0x48]
mov edx, ecx
test bl, 3
mov eax, dword [esp + 0x10]
je 0x445480
and eax, 3
xor ebx, ebx
nop
movsx edx, byte [edi + ebx]
xor edx, ecx
imul edx, esi
inc ebx
mov ecx, edx
cmp eax, ebx
jne 0x445470
jmp dword [0x450ac8]

Function at 0x4456f8
Capabilities:
Encode data using xor

Disassembly:
mov edx, dword [ebp - 0x18]
xor ebx, ebx
cmp edx, dword [ebp - 0x10]
setne bl
xor eax, eax
jmp dword [ebx*4 + 0x450b20]
Function at 0x44579a
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
mov dword [ebp - 0x18], 0x4f4ea7b5
mov byte [ebp - 0x14], 0
mov eax, 0x7d561e12
mov ecx, 0x6d
nop
movzx esi, byte [ebp + eax - 0x7d561e2a]
mov edi, ecx
and edi, 0x66
mov edx, eax
and edx, 0x19
or edx, edi
xor edx, eax
xor edx, 0x99
and edx, esi
xor edx, eax
mov esi, edx
not esi
and esi, 0x3e
and edx, 0xc1
sub edx, esi
add dl, 0xe4
mov byte [ebp + eax - 0x7d561e2a], dl
inc eax
dec ecx
cmp eax, 0x7d561e17
jne 0x4457b0

Function at 0x4457f2
Capabilities:
Encode data using add xor sub operations
Encode data using xor

Disassembly:
push eax
push eax
mov ecx, esp
mov eax, dword [ebp + 8]
movzx eax, word [eax]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], 0x4f4ea7b5
mov byte [ebp - 0x14], 0
mov esi, 0x7d561e12
mov eax, 0x6d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [ebp + esi - 0x7d561e2a]
mov edi, eax
and edi, 0x66
mov edx, esi
and edx, 0x19
or edx, edi
xor edx, esi
xor edx, 0x99
and edx, ebx
xor edx, esi
mov edi, edx
not edi
and edi, 0x3e
and edx, 0xc1
sub edx, edi
add dl, 0xe4
mov byte [ebp + esi - 0x7d561e2a], dl
inc esi
dec eax
cmp esi, 0x7d561e17
jne 0x445820
jmp dword [0x450b18]

Function at 0x445885
Capabilities:
Encode data using xor

Disassembly:
sub esp, 8
mov ebx, esp
mov ecx, dword [ebp + 8]
movzx ecx, word [ecx]
mov dword [ebp - 0x10], ecx
mov dword [eax], 0xe3e20b3d
xor edx, edx
nop
nop
nop
nop
nop
movzx ecx, byte [eax + edx]
lea esi, [edx + 0x676569a8]
or esi, edx
or esi, 0x28
and esi, ecx
lea edi, [edx - 0x4c4d4b58]
or edi, ecx
lea ecx, [esi + esi]
not ecx
add ecx, esi
and ecx, edi
add cl, 0xb8
mov byte [eax + edx], cl
inc edx
cmp edx, 4
jne case.default.0x4458da
xor ecx, ecx
mov edx, dword [ebp - 0x10]
cmp dword [eax], edx
setne cl
xor eax, eax
jmp dword [ecx*4 + 0x450b88]
Function at 0x445c90
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 ebx, dword [esp + 0x3c]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebx + eax + 2], 0
lea eax, [eax + 2]
jne 0x445cb0
mov esi, eax
sar esi, 1
cmp esi, 0xfffffffb
jge 0x445ccb
mov eax, 0xffffffff
jmp 0x445cce
add eax, 0xa
push eax
call fcn.0040ca00
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 [ebx]
test dx, dx
je 0x445d11
add ebx, 2
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [ebx]
add ebx, 2
test dx, dx
jne 0x445d00
mov word [ecx], 0
lea ecx, [esi + 4]
mov edx, ecx
or edx, 2
and esi, 2
imul edx, esi
xor esi, 2
and ecx, 0xfffd
imul ecx, esi
lea esi, [edx + ecx]
mov word [esp + 8], si
add ecx, edx
add ecx, 2
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], 0x1c1d1a1b
mov dword [esp + 4], 0
mov ecx, 0x5df8893a
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x5df8893a]
xor edx, ecx
mov esi, edx
and esi, 0x5d
xor edx, 0xdd
lea edx, [edx + esi*2]
inc dl
mov byte [esp + ecx - 0x5df8893a], dl
inc ecx
cmp ecx, 0x5df88942
jne 0x445d90
mov esi, dword [esp]
mov ecx, dword [0x451f80]
test ecx, ecx
je 0x445e11
xor edx, edx
mov ebx, dword [0x451f84]
nop
cmp dword [ebx + edx*8], 0x266686e9
je 0x445de0
inc edx
cmp ecx, edx
jne 0x445dd0
jmp 0x445e11
mov ecx, dword [ebx + edx*8 + 4]
cmp ecx, esi
je 0x445e11
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 [0x451f88]
push ecx
mov edi, eax
call fcn.00442960
add esp, 0x24
mov esi, eax
mov eax, edi
push eax
call fcn.0040ca10
add esp, 4
mov eax, esi
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x445e30
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 0x445e50
mov esi, eax
sar esi, 1
cmp esi, 0xfffffffb
jge 0x445e6b
mov eax, 0xffffffff
jmp 0x445e6e
add eax, 0xa
push eax
call fcn.0040ca00
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 0x445eb1
add ebx, 2
nop
nop
nop
mov word [edx], di
add edx, 2
movzx edi, word [ebx]
add ebx, 2
test di, di
jne 0x445ea0
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], 0x1c1d1a1b
mov dword [esp + 0x24], 0
mov ecx, 0x5df8893a
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx - 0x5df8891a]
xor edx, ecx
mov esi, edx
and esi, 0x5d
xor edx, 0xdd
lea edx, [edx + esi*2]
inc dl
mov byte [esp + ecx - 0x5df8891a], dl
inc ecx
cmp ecx, 0x5df88942
jne 0x445f30
mov esi, dword [esp + 0x20]
mov ecx, dword [0x451f80]
test ecx, ecx
je 0x445fa9
xor edx, edx
mov edi, dword [0x451f84]
cmp dword [edi + edx*8], 0x87573896
je 0x445f80
inc edx
cmp ecx, edx
jne 0x445f70
jmp 0x445fa9
mov ecx, dword [edi + edx*8 + 4]
cmp ecx, esi
je 0x445fa9
lea edx, [esp + 0x20]
lea esi, [esp + 8]
push edx
push esi
push 2
push dword [0x451f88]
push ecx
mov edi, eax
call fcn.00442960
add esp, 0x14
mov esi, eax
mov eax, edi
push eax
call fcn.0040ca10
add esp, 4
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x445fbf
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 0x445fd0
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], 0x1c1d1a1b
mov dword [esp + 4], 0
mov eax, 0x5df8893a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x5df8893a]
xor ecx, eax
mov edx, ecx
and edx, 0x5d
xor ecx, 0xdd
lea ecx, [ecx + edx*2]
inc cl
mov byte [esp + eax - 0x5df8893a], cl
inc eax
cmp eax, 0x5df88942
jne 0x446000
mov eax, dword [esp]
mov edx, dword [0x451f80]
test edx, edx
je 0x446078
xor ebx, ebx
mov ecx, dword [0x451f84]
nop
nop
cmp dword [ecx + ebx*8], 0xa70a987f
je 0x446050
inc ebx
cmp edx, ebx
jne 0x446040
jmp 0x446078
mov edx, dword [ecx + ebx*8 + 4]
cmp edx, eax
je 0x446078
mov eax, esp
lea ecx, [esp + 0x1c]
push 5
push 0x18
push eax
push ecx
push dword [ebp + 8]
push 5
push dword [0x451f88]
push edx
call fcn.00442960
add esp, 0x20
test edi, edi
je 0x446082
mov ecx, dword [esp + 8]
mov dword [edi], ecx
test esi, esi
je 0x44608e
cmp byte [esp + 0x15], 0
setne byte [esi]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret

Function at 0x4460a0
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], 0x1c1d1a1b
mov dword [esp + 4], 0
mov eax, 0x5df8893a
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + eax - 0x5df8893a]
xor edi, eax
mov ebx, edi
and ebx, 0x5d
xor edi, 0xdd
lea ebx, [edi + ebx*2]
inc bl
mov byte [esp + eax - 0x5df8893a], bl
inc eax
cmp eax, 0x5df88942
jne 0x4460d0
mov eax, dword [esp]
mov ebx, dword [0x451f80]
test ebx, ebx
je 0x44614e
xor ebp, ebp
mov edi, dword [0x451f84]
nop
nop
cmp dword [edi + ebp*8], 0xd41f89d1
je 0x446120
inc ebp
cmp ebx, ebp
jne 0x446110
jmp 0x44614e
mov ebx, dword [edi + ebp*8 + 4]
cmp ebx, eax
je 0x44614e
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 [0x451f88]
push ebx
call fcn.00442960
add esp, 0x30
cmp eax, 0x103
jne 0x4461e9
mov dword [esp], 0x1c1d1a1b
mov dword [esp + 4], 0
mov eax, 0x5df8893a
nop
nop
nop
movzx ecx, byte [esp + eax - 0x5df8893a]
xor ecx, eax
mov edx, ecx
and edx, 0x5d
xor ecx, 0xdd
lea ecx, [ecx + edx*2]
inc cl
mov byte [esp + eax - 0x5df8893a], cl
inc eax
cmp eax, 0x5df88942
jne 0x446170
mov eax, dword [esp]
mov ecx, dword [0x451f80]
test ecx, ecx
je 0x4461e1
xor edx, edx
mov edi, dword [0x451f84]
nop
nop
cmp dword [edi + edx*8], 0x53f09cfa
je 0x4461c0
inc edx
cmp ecx, edx
jne 0x4461b0
jmp 0x4461e1
mov ecx, dword [edi + edx*8 + 4]
cmp ecx, eax
je 0x4461e1
push 0
push 0
push dword [esp + 0x2c]
push 3
push dword [0x451f88]
push ecx
call fcn.00442960
add esp, 0x18
test eax, eax
js 0x4461e9
mov eax, dword [esp + 8]
test esi, esi
je 0x4461fc
xor ecx, ecx
cmp eax, 0xc0000011
je 0x4461fa
mov ecx, dword [esp + 0xc]
mov dword [esi], ecx
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
Function at 0x446370
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 ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
xor ebx, ebx
nop
nop
nop
cmp word [edi + ebx], 0
lea ebx, [ebx + 2]
jne 0x446390
add ebx, 0xfffffffe
and ebx, 0xfffe
mov word [esp + 8], bx
add ebx, 2
mov word [esp + 0xa], bx
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], 0x1c1d1a1b
mov dword [esp + 4], 0
mov eax, 0x5df8893a
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + eax - 0x5df8893a]
xor edi, eax
mov ebx, edi
and ebx, 0x5d
xor edi, 0xdd
lea ebx, [edi + ebx*2]
inc bl
mov byte [esp + eax - 0x5df8893a], bl
inc eax
cmp eax, 0x5df88942
jne 0x446400
mov eax, dword [esp]
mov edi, dword [0x451f80]
test edi, edi
je 0x446472
xor ebx, ebx
mov ebp, dword [0x451f84]
nop
nop
cmp dword [ebp + ebx*8], 0x9ecf05eb
je 0x446451
inc ebx
cmp edi, ebx
jne 0x446440
jmp 0x446472
mov edi, dword [ebp + ebx*8 + 4]
cmp edi, eax
je 0x446472
lea eax, [esp + 0x10]
push esi
push eax
push edx
push ecx
push 4
push dword [0x451f88]
push edi
call fcn.00442960
add esp, 0x1c
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret