Function at 0x534034
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
push ebx
mov ebx, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
test edi, edi
jne 0x534051
cmp dword [ebx + 0x2c], 0
jne 0x534056
mov edi, ebx
mov dword [ebp + 0xc], edi
cmp dword [edi + 0x1c], ebx
je 0x53405e
pop edi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push esi
push 0x40
mov dword [ebp - 8], edi
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x18], 0
mov dword [ebx + 0x2e4], 0
mov dword [ebx + 0x2e8], 0
mov dword [ebp - 0x10], 0x40
call fcn.00530814
mov esi, eax
add esp, 4
mov dword [ebp + 8], esi
test esi, esi
jne 0x5340b4
push 0x660558
call fcn.00532ef4
add esp, 4
xor eax, eax
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x3c]
push edi
push ebx
mov dword [ebp - 4], esi
call eax
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0x2f0]
push ebx
call eax
mov edi, dword [ebp + 8]
add esp, 4
mov dword [ebp - 0x1c], eax
cmp esi, edi
jbe 0x5341f2
cmp eax, 0x3c
je 0x5340ec
cmp eax, 0xffffffff
jne 0x5341fb
mov edi, dword [ebp - 0x14]
mov byte [esi], 0
cmp edi, 2
je 0x5340fc
cmp edi, 0xffffffff
jne 0x53410a
push dword [ebp + 8]
call fcn.00532274
add esp, 4
mov dword [ebp - 4], eax
push dword [ebp + 8]
xor esi, esi
call fcn.00531624
add esp, 4
test eax, eax
je 0x5341e1
mov eax, edi
sub eax, 1
je 0x53418f
sub eax, 1
je 0x534173
sub eax, 1
jne 0x5341e1
cmp dword [ebx + 0x44], esi
je 0x5347e1
mov edi, dword [ebp - 8]
mov dword [edi + 0x18], 3
push dword [ebp + 8]
mov eax, dword [ebx + 0x44]
push edi
push ebx
call eax
add esp, 0xc
test eax, eax
jne 0x5341e1
push dword [edi]
push dword [ebp + 8]
push 0x6605a0
call fcn.00532ef4
add esp, 0xc
jmp 0x534920
mov edi, dword [ebp - 8]
push 1
mov dword [edi + 0x18], 2
push dword [ebp + 8]
push edi
call fcn.00535914
add esp, 0xc
test eax, eax
jmp 0x5341db
cmp dword [ebx + 0x2e8], esi
je 0x5341c6
push dword [ebp + 8]
call fcn.005318a4
mov edi, dword [ebp - 8]
add esp, 4
cmp byte [eax], 0
je 0x5341c9
cmp dword [edi + 0x18], esi
jne 0x5341c9
mov dword [edi + 0x18], 1
push dword [ebp + 8]
push edi
call fcn.00533d84
add esp, 8
test eax, eax
jmp 0x5341db
mov edi, dword [ebp - 8]
push dword [ebp + 8]
push 0
push edi
call fcn.00533d24
mov esi, eax
add esp, 0xc
test esi, esi
je 0x5347f3
mov eax, dword [ebp - 0xc]
test eax, eax
mov edi, dword [ebp + 8]
cmove eax, esi
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x1c]
cmp eax, 0xffffffff
je 0x5348f2
cmp eax, 0x3c
jne 0x5347a2
mov eax, dword [ebx + 0x2f0]
push ebx
mov dword [ebp - 4], edi
call eax
mov esi, eax
add esp, 4
cmp esi, 0xffffffff
je 0x53432d
nop word [eax + eax]
push esi
call fcn.00532844
add esp, 4
test eax, eax
jne 0x53432d
cmp esi, 0x3e
je 0x53432d
cmp esi, 0x2f
jne 0x53424e
cmp edi, dword [ebp + 8]
ja 0x53432d
jmp 0x5342ae
cmp esi, 0x3c
je 0x53480b
cmp esi, 0x26
jne 0x534296
push dword [ebp - 8]
push ebx
call 0x534de4
add esp, 8
cmp eax, 0xffffffff
je 0x534920
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp + 8]
push ecx
lea ecx, [ebp - 4]
push ecx
push eax
call fcn.00533f14
add esp, 0x10
test eax, eax
je 0x534920
mov edi, dword [ebp - 4]
jmp 0x534316
cmp esi, 0x30
jge 0x5342ae
cmp esi, 0x21
je 0x5342ae
cmp esi, 0x2d
je 0x5342ae
cmp esi, 0x2e
jne 0x534920
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 4]
push eax
push esi
call fcn.00533f14
add esp, 0x10
test eax, eax
je 0x534920
mov edi, dword [ebp - 4]
mov eax, edi
mov ecx, dword [ebp + 8]
sub eax, ecx
cmp eax, 1
jne 0x5342df
cmp byte [ecx], 0x3f
je 0x53432d
cmp eax, 3
jne 0x5342fa
push eax
push 0x660610
push ecx
call 0x730d84
add esp, 0xc
test eax, eax
je 0x53432d
mov ecx, dword [ebp + 8]
mov eax, edi
sub eax, ecx
cmp eax, 8
jne 0x534316
push eax
push 0x6602cc
push ecx
call 0x730d84
add esp, 0xc
test eax, eax
je 0x53432d
mov eax, dword [ebx + 0x2f0]
push ebx
call eax
mov esi, eax
add esp, 4
cmp esi, 0xffffffff
jne 0x534224
mov byte [edi], 0
mov ecx, 0x660610
mov eax, dword [ebp + 8]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x534358
test dl, dl
jp 0x534356
mov byte [esi], cl
add byte [edx], bh
adc byte [ebp + 0x12], cl
and byte [esi], bl
dec edx
sub byte [ecx - 0x19], dl
mov eax, dword [0xda92a094]
mov ecx, 0xd5a7a692
hlt
xchg edx, eax
cmpsb byte [esi], byte es:[edi]
cmpsd dword [esi], dword es:[edi]
aad 0xf4
les eax, [eax - 0x80]
shl esp, 0x27
xor dh, byte [eax - 0x3a857f89]
invalid
jae 0x5347d9
mov al, 0xcc
sub byte [ebx - 0xf], ah
outsd dx, dword [esi]
push ss
dec edx
popal
add dword [ebp - 0x47], esp
popal
xchg edi, eax
or ch, byte [esi + 0x32de9500]
salc
and byte [ebx - 0x2d6f1f68], al
loopne 0x534814
mov eax, 0x22c0e27d
adc bh, dh
xor byte [ebx + 0x4e], bh
jnp 0x534819
bound ecx, qword gs:[0xa3d34949]
bound ecx, qword [0xa3d34949]
cmc
clc
mov edi, 0xd009a87d
call 0xb4efda14
aam 0x39
arpl word [edx - 0x23a927be], di
mov edx, 0xdc56d842
adc byte [eax - 0x18], dh
jp 0x53483d
cmpsb byte [esi], byte es:[edi]
add al, 0x41
adc dl, byte [eax - 0x5cee28b]
cli
shl cl, 0x82
das
or byte [esi - 0x10], dl
fst st(5)
mov al, 0xd7
enter 0x2422, 0xffffffffffffff93
push ecx
les eax, [ecx + edi*8]
mov ebp, 0xbfe05250
loopne 0x5347cc
jnp 0x534821
or al, 0xa0
fnsave dword [eax - 0x61]
add al, 0x8a
salc
loopne 0x5347c9
scasd eax, dword es:[edi]
hlt
xchg ebp, eax
add cl, dl
cmpsd dword [esi], dword es:[edi]
clc
daa
cmp byte [ebp - 0x290e9d52], dl
cmp esi, edx
cmp dword [ebx + 0x1089f4b7], eax
inc edx
mov dword [esi + 0xa9a6c65], 0xe6d4cb08
or bl, cl
aam 0xe6
cmp dh, byte [ebx]
sub al, al
salc
xor dword [esi], ecx
sahf
adc dword [edx + 0x45aa78d2], esi
test byte [ecx], al
mov cl, 0x70
mov esi, 0x4adec5e7
inc ebx
invalid
xor al, 0xbc
xor al, 0x62
pop edx
add eax, 0xbbdf1ea0
cmp byte [ebp*8 + 0xcdcf391], ch
xor byte [0x247d0cc5], al
sbb edx, dword [edi + esi]
xor al, 0x6e
mov dl, byte [ecx]
stc
push edx
out dx, eax
push ecx
sar ah, 1
cld
xchg edx, eax
sub dword [ecx + edx*4 - 0x1b70fd8c], 0x436c7069
out 0x24, eax
mov cl, 0xa9
fadd st(0), st(0)
sub al, 0x9d
dec ebp
and dword [edx - 0x3c], 0x7c6c70cd
dec eax
sub esi, ebp
int 0x98
je 0x5348cf
insd dword es:[edi], dx
add al, 0xa1
or al, 0x88
aam 0xc5
sahf
xchg ecx, eax
mov byte [0xf0865427], al
sub byte [edx - 0x786e4934], cl
loopne 0x53492e
push ebx
scasb al, byte es:[edi]
insb byte es:[edi], dx
cdq
mov dh, 0xd2
pop ebp
in al, dx
sub eax, 0x9985f7ac
inc ebx
push esi
push esp
ror dword [eax - 0x62], cl
push edi
adc byte [0x9220a100], 0x33
pop edx
sbb eax, esp
stc
sub al, 0xd4
xor bl, ah
push eax
mov bl, 0x3a
add byte [ebp + 0x78], cl
lds esp, [edx + 0x18a4d5b6]
push esp
fsubrp st(4)
cmp eax, 0x14b281c4
or al, 0x1a
sbb al, 0xe1
aad 0x48
invalid