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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffcc
push ebx
xor ebx, ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0xc], ecx
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x51018f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
call fcn.00405194
mov dword [ebp - 0x18], 0xb5b4
cmp byte [ebp - 5], 0
je 0x5100cb
mov eax, dword [ebp - 4]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x51005c
mov eax, dword [ebp - 0x20]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
test eax, eax
jle 0x510174
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 1
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
mov al, byte [eax + edx - 1]
mov edx, dword [ebp - 0x18]
shr edx, 8
xor al, dl
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x28]
xor eax, eax
mov al, byte [ebp - 0x11]
mov edx, 2
call fcn.00409d74
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc]
call fcn.00405460
mov eax, dword [ebp - 0xc]
xor eax, eax
mov al, byte [ebp - 0x11]
add eax, 0x173
imul eax, eax, 0x275e
add eax, 0x9d95
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x10]
dec dword [ebp - 0x1c]
jne 0x510071
jmp 0x510174
mov eax, dword [ebp - 4]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x5100e2
mov eax, dword [ebp - 0x24]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
sar eax, 1
jns 0x5100ec
adc eax, 0
test eax, eax
jle 0x510174
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 1
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x10]
dec eax
mov edx, eax
add edx, edx
inc edx
mov ecx, 2
mov eax, dword [ebp - 4]
call fcn.0040568c
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x2c]
mov edx, 0x5101a4
call fcn.004054ac
mov eax, dword [ebp - 0x2c]
call fcn.00409d9c
mov byte [ebp - 0x11], al
lea eax, [ebp - 0x34]
mov dl, byte [ebp - 0x11]
mov ecx, dword [ebp - 0x18]
shr ecx, 8
xor dl, cl
call fcn.0040537c
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0xc]
call fcn.00405460
mov eax, dword [ebp - 0xc]
xor eax, eax
mov al, byte [ebp - 0x11]
add eax, 0x173
imul eax, eax, 0x275e
add eax, 0x9d95
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x10]
dec dword [ebp - 0x1c]
jne 0x5100fe
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x510196
lea eax, [ebp - 0x34]
mov edx, 4
call fcn.004051b8
ret
Function at 0x5101a8
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffcc
push ebx
xor ebx, ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0xc], ecx
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x510337
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
call fcn.00405194
mov dword [ebp - 0x18], 0x3fca
cmp byte [ebp - 5], 0
je 0x510273
mov eax, dword [ebp - 4]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x510204
mov eax, dword [ebp - 0x20]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
test eax, eax
jle 0x51031c
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 1
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
mov al, byte [eax + edx - 1]
mov edx, dword [ebp - 0x18]
shr edx, 8
xor al, dl
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x28]
xor eax, eax
mov al, byte [ebp - 0x11]
mov edx, 2
call fcn.00409d74
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc]
call fcn.00405460
mov eax, dword [ebp - 0xc]
xor eax, eax
mov al, byte [ebp - 0x11]
add eax, 0x173
imul eax, eax, 0x33b5
add eax, 0x125f
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x10]
dec dword [ebp - 0x1c]
jne 0x510219
jmp 0x51031c
mov eax, dword [ebp - 4]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x51028a
mov eax, dword [ebp - 0x24]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
sar eax, 1
jns 0x510294
adc eax, 0
test eax, eax
jle 0x51031c
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 1
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x10]
dec eax
mov edx, eax
add edx, edx
inc edx
mov ecx, 2
mov eax, dword [ebp - 4]
call fcn.0040568c
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x2c]
mov edx, 0x51034c
call fcn.004054ac
mov eax, dword [ebp - 0x2c]
call fcn.00409d9c
mov byte [ebp - 0x11], al
lea eax, [ebp - 0x34]
mov dl, byte [ebp - 0x11]
mov ecx, dword [ebp - 0x18]
shr ecx, 8
xor dl, cl
call fcn.0040537c
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0xc]
call fcn.00405460
mov eax, dword [ebp - 0xc]
xor eax, eax
mov al, byte [ebp - 0x11]
add eax, 0x173
imul eax, eax, 0x33b5
add eax, 0x125f
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x10]
dec dword [ebp - 0x1c]
jne 0x5102a6
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51033e
lea eax, [ebp - 0x34]
mov edx, 4
call fcn.004051b8
ret
Function at 0x510350
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffcc
push ebx
xor ebx, ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0xc], ecx
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x5104df
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
call fcn.00405194
mov dword [ebp - 0x18], 0x3640
cmp byte [ebp - 5], 0
je 0x51041b
mov eax, dword [ebp - 4]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x5103ac
mov eax, dword [ebp - 0x20]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
test eax, eax
jle 0x5104c4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 1
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
mov al, byte [eax + edx - 1]
mov edx, dword [ebp - 0x18]
shr edx, 8
xor al, dl
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x28]
xor eax, eax
mov al, byte [ebp - 0x11]
mov edx, 2
call fcn.00409d74
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc]
call fcn.00405460
mov eax, dword [ebp - 0xc]
xor eax, eax
mov al, byte [ebp - 0x11]
add eax, 0x173
imul eax, eax, 0x7c6a
add eax, 0x5fc3
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x10]
dec dword [ebp - 0x1c]
jne 0x5103c1
jmp 0x5104c4
mov eax, dword [ebp - 4]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x510432
mov eax, dword [ebp - 0x24]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
sar eax, 1
jns 0x51043c
adc eax, 0
test eax, eax
jle 0x5104c4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 1
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x10]
dec eax
mov edx, eax
add edx, edx
inc edx
mov ecx, 2
mov eax, dword [ebp - 4]
call fcn.0040568c
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x2c]
mov edx, 0x5104f4
call fcn.004054ac
mov eax, dword [ebp - 0x2c]
call fcn.00409d9c
mov byte [ebp - 0x11], al
lea eax, [ebp - 0x34]
mov dl, byte [ebp - 0x11]
mov ecx, dword [ebp - 0x18]
shr ecx, 8
xor dl, cl
call fcn.0040537c
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0xc]
call fcn.00405460
mov eax, dword [ebp - 0xc]
xor eax, eax
mov al, byte [ebp - 0x11]
add eax, 0x173
imul eax, eax, 0x7c6a
add eax, 0x5fc3
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x10]
dec dword [ebp - 0x1c]
jne 0x51044e
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5104e6
lea eax, [ebp - 0x34]
mov edx, 4
call fcn.004051b8
ret
Function at 0x5104f8
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffcc
push ebx
xor ebx, ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0xc], ecx
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x510687
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
call fcn.00405194
mov dword [ebp - 0x18], 0x117f
cmp byte [ebp - 5], 0
je 0x5105c3
mov eax, dword [ebp - 4]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x510554
mov eax, dword [ebp - 0x20]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
test eax, eax
jle 0x51066c
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 1
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
mov al, byte [eax + edx - 1]
mov edx, dword [ebp - 0x18]
shr edx, 8
xor al, dl
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x28]
xor eax, eax
mov al, byte [ebp - 0x11]
mov edx, 2
call fcn.00409d74
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc]
call fcn.00405460
mov eax, dword [ebp - 0xc]
xor eax, eax
mov al, byte [ebp - 0x11]
add eax, 0x173
imul eax, eax, 0xd833
add eax, 0x1eca
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x10]
dec dword [ebp - 0x1c]
jne 0x510569
jmp 0x51066c
mov eax, dword [ebp - 4]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x5105da
mov eax, dword [ebp - 0x24]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
sar eax, 1
jns 0x5105e4
adc eax, 0
test eax, eax
jle 0x51066c
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 1
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x10]
dec eax
mov edx, eax
add edx, edx
inc edx
mov ecx, 2
mov eax, dword [ebp - 4]
call fcn.0040568c
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x2c]
mov edx, 0x51069c
call fcn.004054ac
mov eax, dword [ebp - 0x2c]
call fcn.00409d9c
mov byte [ebp - 0x11], al
lea eax, [ebp - 0x34]
mov dl, byte [ebp - 0x11]
mov ecx, dword [ebp - 0x18]
shr ecx, 8
xor dl, cl
call fcn.0040537c
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0xc]
call fcn.00405460
mov eax, dword [ebp - 0xc]
xor eax, eax
mov al, byte [ebp - 0x11]
add eax, 0x173
imul eax, eax, 0xd833
add eax, 0x1eca
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x10]
dec dword [ebp - 0x1c]
jne 0x5105f6
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51068e
lea eax, [ebp - 0x34]
mov edx, 4
call fcn.004051b8
ret
Function at 0x5106a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffcc
push ebx
xor ebx, ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0xc], ecx
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x51082f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
call fcn.00405194
mov dword [ebp - 0x18], 0x2ada
cmp byte [ebp - 5], 0
je 0x51076b
mov eax, dword [ebp - 4]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x5106fc
mov eax, dword [ebp - 0x20]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
test eax, eax
jle 0x510814
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 1
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
mov al, byte [eax + edx - 1]
mov edx, dword [ebp - 0x18]
shr edx, 8
xor al, dl
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x28]
xor eax, eax
mov al, byte [ebp - 0x11]
mov edx, 2
call fcn.00409d74
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc]
call fcn.00405460
mov eax, dword [ebp - 0xc]
xor eax, eax
mov al, byte [ebp - 0x11]
add eax, 0x173
imul eax, eax, 0xaa59
add eax, 0x9d15
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x10]
dec dword [ebp - 0x1c]
jne 0x510711
jmp 0x510814
mov eax, dword [ebp - 4]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x510782
mov eax, dword [ebp - 0x24]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
sar eax, 1
jns 0x51078c
adc eax, 0
test eax, eax
jle 0x510814
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 1
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x10]
dec eax
mov edx, eax
add edx, edx
inc edx
mov ecx, 2
mov eax, dword [ebp - 4]
call fcn.0040568c
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x2c]
mov edx, 0x510844
call fcn.004054ac
mov eax, dword [ebp - 0x2c]
call fcn.00409d9c
mov byte [ebp - 0x11], al
lea eax, [ebp - 0x34]
mov dl, byte [ebp - 0x11]
mov ecx, dword [ebp - 0x18]
shr ecx, 8
xor dl, cl
call fcn.0040537c
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0xc]
call fcn.00405460
mov eax, dword [ebp - 0xc]
xor eax, eax
mov al, byte [ebp - 0x11]
add eax, 0x173
imul eax, eax, 0xaa59
add eax, 0x9d15
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x10]
dec dword [ebp - 0x1c]
jne 0x51079e
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x510836
lea eax, [ebp - 0x34]
mov edx, 4
call fcn.004051b8
ret
Function at 0x510848
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffcc
push ebx
xor ebx, ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0xc], ecx
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x5109d7
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
call fcn.00405194
mov dword [ebp - 0x18], 0x7a42
cmp byte [ebp - 5], 0
je 0x510913
mov eax, dword [ebp - 4]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x5108a4
mov eax, dword [ebp - 0x20]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
test eax, eax
jle 0x5109bc
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 1
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
mov al, byte [eax + edx - 1]
mov edx, dword [ebp - 0x18]
shr edx, 8
xor al, dl
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x28]
xor eax, eax
mov al, byte [ebp - 0x11]
mov edx, 2
call fcn.00409d74
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc]
call fcn.00405460
mov eax, dword [ebp - 0xc]
xor eax, eax
mov al, byte [ebp - 0x11]
add eax, 0x173
imul eax, eax, 0x30ee
add eax, 0xe984
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x10]
dec dword [ebp - 0x1c]
jne 0x5108b9
jmp 0x5109bc
mov eax, dword [ebp - 4]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x51092a
mov eax, dword [ebp - 0x24]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
sar eax, 1
jns 0x510934
adc eax, 0
test eax, eax
jle 0x5109bc
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 1
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x10]
dec eax
mov edx, eax
add edx, edx
inc edx
mov ecx, 2
mov eax, dword [ebp - 4]
call fcn.0040568c
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x2c]
mov edx, 0x5109ec
call fcn.004054ac
mov eax, dword [ebp - 0x2c]
call fcn.00409d9c
mov byte [ebp - 0x11], al
lea eax, [ebp - 0x34]
mov dl, byte [ebp - 0x11]
mov ecx, dword [ebp - 0x18]
shr ecx, 8
xor dl, cl
call fcn.0040537c
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0xc]
call fcn.00405460
mov eax, dword [ebp - 0xc]
xor eax, eax
mov al, byte [ebp - 0x11]
add eax, 0x173
imul eax, eax, 0x30ee
add eax, 0xe984
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x10]
dec dword [ebp - 0x1c]
jne 0x510946
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5109de
lea eax, [ebp - 0x34]
mov edx, 4
call fcn.004051b8
ret
Function at 0x5109f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffcc
push ebx
xor ebx, ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0xc], ecx
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x510b7f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
call fcn.00405194
mov dword [ebp - 0x18], 0xad8a
cmp byte [ebp - 5], 0
je 0x510abb
mov eax, dword [ebp - 4]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x510a4c
mov eax, dword [ebp - 0x20]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
test eax, eax
jle 0x510b64
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 1
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
mov al, byte [eax + edx - 1]
mov edx, dword [ebp - 0x18]
shr edx, 8
xor al, dl
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x28]
xor eax, eax
mov al, byte [ebp - 0x11]
mov edx, 2
call fcn.00409d74
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc]
call fcn.00405460
mov eax, dword [ebp - 0xc]
xor eax, eax
mov al, byte [ebp - 0x11]
add eax, 0x173
imul eax, eax, 0xb5c3
add eax, 0xe13
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x10]
dec dword [ebp - 0x1c]
jne 0x510a61
jmp 0x510b64
mov eax, dword [ebp - 4]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x510ad2
mov eax, dword [ebp - 0x24]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
sar eax, 1
jns 0x510adc
adc eax, 0
test eax, eax
jle 0x510b64
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 1
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x10]
dec eax
mov edx, eax
add edx, edx
inc edx
mov ecx, 2
mov eax, dword [ebp - 4]
call fcn.0040568c
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x2c]
mov edx, 0x510b94
call fcn.004054ac
mov eax, dword [ebp - 0x2c]
call fcn.00409d9c
mov byte [ebp - 0x11], al
lea eax, [ebp - 0x34]
mov dl, byte [ebp - 0x11]
mov ecx, dword [ebp - 0x18]
shr ecx, 8
xor dl, cl
call fcn.0040537c
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0xc]
call fcn.00405460
mov eax, dword [ebp - 0xc]
xor eax, eax
mov al, byte [ebp - 0x11]
add eax, 0x173
imul eax, eax, 0xb5c3
add eax, 0xe13
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x10]
dec dword [ebp - 0x1c]
jne 0x510aee
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x510b86
lea eax, [ebp - 0x34]
mov edx, 4
call fcn.004051b8
ret
Function at 0x510b98
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffcc
push ebx
xor ebx, ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0xc], ecx
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x510d27
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
call fcn.00405194
mov dword [ebp - 0x18], 0xe00e
cmp byte [ebp - 5], 0
je 0x510c63
mov eax, dword [ebp - 4]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x510bf4
mov eax, dword [ebp - 0x20]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
test eax, eax
jle 0x510d0c
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 1
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
mov al, byte [eax + edx - 1]
mov edx, dword [ebp - 0x18]
shr edx, 8
xor al, dl
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x28]
xor eax, eax
mov al, byte [ebp - 0x11]
mov edx, 2
call fcn.00409d74
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc]
call fcn.00405460
mov eax, dword [ebp - 0xc]
xor eax, eax
mov al, byte [ebp - 0x11]
add eax, 0x173
imul eax, eax, 0xf4f4
add eax, 0x5d21
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x10]
dec dword [ebp - 0x1c]
jne 0x510c09
jmp 0x510d0c
mov eax, dword [ebp - 4]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x510c7a
mov eax, dword [ebp - 0x24]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
sar eax, 1
jns 0x510c84
adc eax, 0
test eax, eax
jle 0x510d0c
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 1
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x10]
dec eax
mov edx, eax
add edx, edx
inc edx
mov ecx, 2
mov eax, dword [ebp - 4]
call fcn.0040568c
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x2c]
mov edx, 0x510d3c
call fcn.004054ac
mov eax, dword [ebp - 0x2c]
call fcn.00409d9c
mov byte [ebp - 0x11], al
lea eax, [ebp - 0x34]
mov dl, byte [ebp - 0x11]
mov ecx, dword [ebp - 0x18]
shr ecx, 8
xor dl, cl
call fcn.0040537c
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0xc]
call fcn.00405460
mov eax, dword [ebp - 0xc]
xor eax, eax
mov al, byte [ebp - 0x11]
add eax, 0x173
imul eax, eax, 0xf4f4
add eax, 0x5d21
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x10]
dec dword [ebp - 0x1c]
jne 0x510c96
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x510d2e
lea eax, [ebp - 0x34]
mov edx, 4
call fcn.004051b8
ret
Function at 0x510d40
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffcc
push ebx
xor ebx, ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0xc], ecx
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x510ecf
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0xc]
call fcn.00405194
mov dword [ebp - 0x18], 0x17bd
cmp byte [ebp - 5], 0
je 0x510e0b
mov eax, dword [ebp - 4]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x510d9c
mov eax, dword [ebp - 0x20]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
test eax, eax
jle 0x510eb4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 1
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x10]
mov al, byte [eax + edx - 1]
mov edx, dword [ebp - 0x18]
shr edx, 8
xor al, dl
mov byte [ebp - 0x11], al
lea ecx, [ebp - 0x28]
xor eax, eax
mov al, byte [ebp - 0x11]
mov edx, 2
call fcn.00409d74
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0xc]
call fcn.00405460
mov eax, dword [ebp - 0xc]
xor eax, eax
mov al, byte [ebp - 0x11]
add eax, 0x173
imul eax, eax, 0x58ab
add eax, 0x7c6c
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x10]
dec dword [ebp - 0x1c]
jne 0x510db1
jmp 0x510eb4
mov eax, dword [ebp - 4]
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 0
je 0x510e22
mov eax, dword [ebp - 0x24]
sub eax, 4
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
sar eax, 1
jns 0x510e2c
adc eax, 0
test eax, eax
jle 0x510eb4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 1
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x10]
dec eax
mov edx, eax
add edx, edx
inc edx
mov ecx, 2
mov eax, dword [ebp - 4]
call fcn.0040568c
mov ecx, dword [ebp - 0x30]
lea eax, [ebp - 0x2c]
mov edx, 0x510ee4
call fcn.004054ac
mov eax, dword [ebp - 0x2c]
call fcn.00409d9c
mov byte [ebp - 0x11], al
lea eax, [ebp - 0x34]
mov dl, byte [ebp - 0x11]
mov ecx, dword [ebp - 0x18]
shr ecx, 8
xor dl, cl
call fcn.0040537c
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0xc]
call fcn.00405460
mov eax, dword [ebp - 0xc]
xor eax, eax
mov al, byte [ebp - 0x11]
add eax, 0x173
imul eax, eax, 0x58ab
add eax, 0x7c6c
mov dword [ebp - 0x18], eax
inc dword [ebp - 0x10]
dec dword [ebp - 0x1c]
jne 0x510e3e
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x510ed6
lea eax, [ebp - 0x34]
mov edx, 4
call fcn.004051b8
ret