Function at 0x5e6cc8a9
Capabilities:
Encode data using xor

Disassembly:
nop
nop
lea ecx, [ecx + 0xac]
call fcn.5e6f25df
xor eax, eax
pop ebp
ret 8
cmp word [0x60fd3003], 0xbd55
jne 0x5e6c220c
adc dword [edx - 0x2008c4f3], esi
and ch, 0xa9
or eax, 0x1220f42c
lea eax, [ecx]
pop ds
inc esp
in eax, 0xb0
sub byte [edi + 0x78b334ca], 0xb7
mov ebp, 0xfcd55f54
mov al, byte [0x5507b65d]
push ebp
mov ebp, esp
sub esp, 0x50
lea eax, [ebp - 0x50]
cmp dword [0x610ad02d], 0xb50307c1
js 0x5e6c8dea
push ebx
mov eax, eax
push esi
push edi
push eax
call fcn.5e6e2cbc
xor esi, esi
pop ecx
push ecx
mov ecx, dword [ebp + 0x14]
sub ecx, esi
pop ecx
jbe 0x5e6c229e
mov edi, dword [ebp + 0x10]
mov ebx, dword [ebp + 0xc]
cmp word [0x61044c47], 0x6f77
jne 0x5e72a3c2
lea eax, [ebp - 0x50]
nop
push eax
push edi
push dword [ebx + esi*4]
test word [0x60fe1128], 0xe229
jb 0x5e6badbe
call fcn.5e6c232a
nop
nop
add esp, 0xc
push ecx
mov ecx, eax
and ecx, eax
pop ecx
jne 0x5e6c22b9
test byte [0x610076a3], 0x16
jo 0x5e6eeb68
inc esi
test byte [0x61043e1a], 0x16
jb 0x5e6f3d97
add edi, 0x10
cmp esi, dword [ebp + 0x14]
jb 0x5e6c2242
nop
lea eax, [ebp - 0x50]
push eax
mov eax, dword [ebp + 8]
mov ecx, ecx
push dword [eax + 0x10]
call fcn.5e6e3c71
push eax
call fcn.5e6da87a
add esp, 0xc
pop edi
pop esi
pop ebx
mov eax, eax
mov esp, ebp
nop
pop ebp
ret 0x10
nop
nop
sub dword [esp + 4], 0x14
jmp 0x5e6c3950
mov eax, 0x5e729e38
call fcn.5e711585
nop
sub esp, 0x228
push esi
mov esi, dword [ebp + 8]
mov ecx, ecx
push edi
mov eax, eax
mov edi, ecx
mov ecx, esi
call fcn.5e6bd5c3
nop
nop
mov eax, dword [edi + 0x40]
mov dword [esi + 0x100], eax
mov eax, dword [edi + 0x44]
nop
nop
nop
mov dword [esi + 0x104], eax
mov al, byte [edi + 0x56]
mov byte [esi + 0xf8], al
cmp byte [esi + 0xf8], 0
mov al, byte [edi + 0x57]
mov byte [esi + 0xf9], al
je 0x5e6cc906
xor eax, eax
inc eax
jmp 0x5e6ccdc8
push eax
mov eax, dword [edi + 0x58]
sub eax, 0
pop eax
mov eax, dword [edi + 0x68]
mov edx, dword [edi + 0x5c]
mov ecx, dword [edi + 0x60]
mov dword [ebp + 8], eax
mov eax, dword [edi + 0x6c]
push ebx
mov ebx, dword [edi + 0x64]
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x34], eax
jne 0x5e6ccc11
mov eax, edx
or eax, ecx
jne 0x5e6ccc11
mov eax, ebx
or eax, dword [ebp + 8]
jne 0x5e6ccc11
cmp dword [ebp - 0x34], eax
jne 0x5e6ccc11
mov eax, dword [edi]
lea edx, [ebp - 0x24]
test word [0x61044880], 0x9124
jae 0x5e6cc99a
push ebp
cdq
rol dword [esi + 0x6a], 0x1d
add byte [ecx + 0x64], bl
mov ch, 0xd3
lcall 0xe725, 0x2df5f75c
invalid
push edx
mov ecx, ecx
push 1
xor ebx, ebx
mov ecx, dword [eax]
mov eax, eax
push ebx
push ebx
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x5e6ccdc4
mov eax, dword [edi]
lea edx, [ebp - 0x2c]
mov ecx, ecx
push edx
cmp word [0x6101561f], 0xe34a
js 0x5e6c3b4a
push 2
push ebx
mov ecx, dword [eax]
push ebx
nop
nop
nop
push eax
mov eax, eax
call dword [ecx + 0x10]
push ebx
mov ebx, eax
and ebx, eax
pop ebx
jne 0x5e6ccdc4
mov edx, dword [ebp - 0x2c]
mov ebx, 0x200
mov ecx, dword [ebp - 0x28]
mov eax, edx
sub eax, dword [ebp - 0x24]
mov dword [ebp + 8], ecx
sbb ecx, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], ecx
push ebx
mov ebx, ecx
and ebx, ecx
pop ebx
ja 0x5e6cca2b
jb 0x5e6cca0f
cmp eax, ebx
jae 0x5e6cca2b
test byte [0x6108b6a3], 0x69
jb 0x5e6d0248
mov ebx, eax
push ecx
mov ecx, eax
sub ecx, 3
pop ecx
jb 0x5e6ccdbf
test word [0x61028238], 0x57d
jns 0x5e6cca5c
mov ebx, 0xd7abef9
push ds
pop ds
xchg dword [edx - 0x1e], eax
and bh, ch
pop ss
xor dword [ecx], edx
inc ebx
sbb byte [ebp - 0x14d1ca89], bh
cmp bl, ch
cmp byte ds:[ebp + 0x3b9acf75], bh
or al, 0x9f
mov ecx, 0x8bb6fdcf
pop es
mov eax, dword [edi]
sub edx, ebx
push 0
sbb dword [ebp + 8], 0
nop
nop
push 0
push dword [ebp + 8]
mov ecx, dword [eax]
cmp dword [0x610d68c0], 0x729c0d9b
js 0x5e7122b3
push edx
nop
nop
nop
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x5e6ccdc4
push ebx
cmp dword [0x610b53b6], 0x37971032
je 0x5e6ccac5
test dword [edi + 0x3605f5f2], 0x2742ca8a
cmc
add eax, 0x42ca8a36
daa
in eax, dx
dec edi
xchg edi, eax
jmp 0xf385b6d8
aas
lea eax, [ebp - 0x234]
push eax
push dword [edi]
call fcn.5e6d69ab
nop
nop
nop
add esp, 0xc
push edx
mov edx, eax
and edx, eax
pop edx
jne 0x5e6ccdc4
push edx
mov dl, byte [ebp + ebx - 0x235]
sub dl, al
pop edx
jne 0x5e6ccdbf
lea eax, [ebx - 2]
cmp word [0x6100f0c5], 0xcf51
jne 0x5e6ccb32
jnp 0x5e6cca9e
mov eax, dword [0x2dcc0c74]
jno 0x5e6ccac4
xor dword [ebp + 0x1b], edi
scasb al, byte es:[edi]
test eax, 0x84ec7d98
int 0xd8
or dword [esi], esp
lea ebx, [edx]
mov word [0x8e03d9d1], ax
retf 0x7fc4
mov cl, byte [ebp + eax - 0x234]
push edx
mov dl, cl
sub dl, 0x17
pop edx
jne 0x5e6ccb50
push ecx
mov cl, byte [ebp + eax - 0x233]
sub cl, 6
pop ecx
je 0x5e6ccb74
cmp cl, 1
jne 0x5e6ccb63
push ebx
mov bl, byte [ebp + eax - 0x233]
sub bl, 4
pop ebx
je 0x5e6ccb74
push edx
mov edx, eax
and edx, eax
pop edx
je 0x5e6ccdbf
dec eax
mov eax, eax
jmp 0x5e6ccaf9
shr bl, 0x85
xor ecx, ecx
sub ebx, eax
sub dword [ebp - 0x14], ebx
mov edx, ebx
mov dword [ebp + 8], ecx
sbb dword [ebp - 0x10], ecx
lea ecx, [ebp - 0x234]
nop
add ecx, eax
call fcn.5e6ec597
mov ecx, dword [edi]
nop
mov dword [ebp - 0x34], eax
cmp word [0x61034616], 0x249d
jne 0x5e6c21dd
xor eax, eax
cmp dword [0x61028bad], 0xf507d691
je 0x5e7294af
push eax
push eax
test dword [0x61007b28], 0x44f51b4b
jns 0x5e6ccbe6
sbb dword [ecx - 0x44883cdf], esp
cli
int 0x46
imul eax, dword [edi + 0x11e3dd84], 0x6f786701
je 0x5e6ccb71
ja 0x5e6ccc38
push ebx
fnstcw word [ebx]
mov ch, 0xba
retf 0xf57e
push dword [ebp - 0x20]
nop
mov edx, dword [ecx]
nop
nop
nop
push dword [ebp - 0x24]
mov ecx, ecx
push ecx
nop
call dword [edx + 0x10]
push edx
mov edx, eax
and edx, eax
pop edx
jne 0x5e6ccdc4
nop
nop
mov edx, dword [ebp - 0x14]
mov byte [esi + 0x14c], 1
mov eax, eax
mov ecx, dword [edi + 0x40]
cmp word [0x610561b0], 0xfc39
je 0x5e6ccc43
add eax, 0x74fc3961
and dl, byte [ebp + 0x6e262452]
xchg ebp, eax
push edx
and al, 0x26
outsb dx, byte [esi]
jns 0x5e6ccc1b
inc esp
leave
sbb byte [edx - 0x25], 0xd8
invalid
xor cl, dh
pop edi
dec esp
dec eax
pop edx
mov al, byte [0xf5c7c408]
mov eax, dword [edi + 0x44]
add ecx, 0x20
mov dword [esi + 0x108], ecx
mov ecx, dword [ebp - 0x10]
adc eax, 0
mov dword [esi + 0x10c], eax
xor eax, eax
mov dword [esi + 0x140], 0x20
mov dword [esi + 0x144], eax
mov byte [esi + 0x148], al
cmp ecx, eax
jl 0x5e6ccdbf
jg 0x5e6ccc89
push ecx
mov ecx, edx
sub ecx, eax
pop ecx
jb 0x5e6ccdbf
push edx
mov edx, dword [ebp + 8]
sub edx, 0x40000000
pop edx
ja 0x5e6ccdbf
jb 0x5e6ccca8
push edx
mov edx, ebx
sub edx, eax
pop edx
ja 0x5e6ccdbf
mov eax, ebx
or eax, dword [ebp + 8]
jne 0x5e6cccc3
or edx, ecx
jne 0x5e6ccdc3
mov byte [esi + 0x148], 1
jmp 0x5e6ccdc4
cmp byte [esi + 0x14c], 0
jne 0x5e6cccd3
mov byte [esi + 0x148], 1
add byte [ecx], al
test word [0x610b2a18], 0x7885
jne 0x5e6ccd14
daa
xor dh, byte [eax - 0x41013cf7]
jno 0x5e6ccceb
dec ebx
popfd
push edi
fisttp qword [esi]
push cs
mov dh, 0x72
sar dl, 1
mov eax, dword [0xadac2923]
jl 0x5e6cccd1
push ss
lcall 0xcd8e, 0xa8c8610
dec esp
dec ebp
jo 0x5e6ccd1a
scasd eax, dword es:[edi]
arpl word [ebx - 0x3c], dx
bound ebx, qword [ecx - 0x33]
push es
test dword [0x7eb60bee], esp
salc
dec eax
pop esi
mov eax, dword [ebp + 8]
mov ecx, ecx
mov ecx, ebx
add ecx, 0x20
adc eax, 0
retf
add dword [edi + 0x70], ecx
adc dword [edi + 0x74], eax
mov eax, ebx
add eax, edx
mov edx, dword [ebp + 8]
mov ecx, eax
mov dword [ebp - 0x18], eax
adc edx, dword [ebp - 0x10]
add ecx, 0x20
mov eax, edx
mov dword [esi + 0x140], ecx
adc eax, 0
nop
mov dword [esi + 0x144], eax
test dword [0x610bcb02], 0x56c68650
jne 0x5e6ccd95
pushal
pop ebx
arpl di, si
daa
int 0xcd
wbinvd
sub al, 0x26
jae 0x5e6ccd21
inc esi
and byte [ebx + 0x19], ch
test al, 0xaf
mov ecx, 0x6c627a77
cdq
jno 0x5e6ccd71
inc ebx
dec edi
sbb ebx, ecx
cmp al, 0x8e
jecxz 0x5e6ccd79
dec ebp
retf
mov ecx, dword [edi + 0x48]
sub ecx, dword [esi + 0x108]
mov eax, dword [edi + 0x4c]
sbb eax, dword [esi + 0x10c]
push ebx
mov ebx, eax
sub ebx, edx
pop ebx
ja 0x5e6ccddc
jb 0x5e6ccdb6
cmp ecx, dword [ebp - 0x18]
jae 0x5e6ccddc
mov ecx, ecx
mov byte [esi + 0x14b], 1
mov ecx, ecx
xor eax, eax
inc eax
nop
nop
nop
pop ebx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
nop
nop
ret 0x14
mov eax, dword [edi]
mov edx, dword [ebp - 0x14]
push 0
push 1
nop
push dword [ebp - 0x10]
mov ecx, dword [eax]
push edx
push eax
test byte [0x610deb6a], 0x24
je 0x5e6cce1d
sti
mov edi, 0x83c606bd
adc al, 0xa6
jg 0x5e6ccd98
inc edx
pop ebp
fld xword [eax]
adc dword [edx], 0x1d
iretd
call dword [ecx + 0x10]
push ecx
mov ecx, eax
and ecx, eax
pop ecx
jne 0x5e6ccdc4
cmp ebx, ebx
jne 0x5e6cd0ee
push ecx
mov ecx, eax
sub ecx, dword [ebp + 8]
pop ecx
jne 0x5e6cd0ee
push ebx
cmp word [0x610ae044], 0x256b
js 0x5e6b7518
call fcn.5e6bacbc
nop
nop
nop
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], ebx
push ebx
push eax
mov eax, eax
push dword [edi]
cmp dword [0x6101ce4c], 0x4206a240
je 0x5e6cce96
add eax, 0xcf62b09c
xchg ebx, eax
invalid
xor ecx, ecx
mov dword [ebp - 4], ecx
call fcn.5e6d69ab
add esp, 0x10
mov dword [ebp + 8], eax
test eax, eax
je 0x5e6cceb5
mov ebx, dword [ebp - 0x24]
nop
mov esi, eax
jmp 0x5e6cd0de
mov ecx, dword [ebp - 0x24]
mov ecx, ecx
mov edx, ebx
call fcn.5e6ec597
cmp eax, dword [ebp - 0x34]
je 0x5e6ccecb
call fcn.5e6cfde7
push ecx
mov cl, byte [esi + 0x14c]
sub cl, 0
pop ecx
jne 0x5e6ccedf
mov byte [esi + 0x149], 1
xor eax, eax
mov word [ebp - 0x18], ax
push eax
test word [0x6108e8d8], 0xfc17
jb 0x5e6fcf5c
push ebx
mov eax, eax
mov ebx, dword [ebp - 0x24]
nop
nop
nop
lea ecx, [ebp - 0x1c]
test word [0x60fe5b4c], 0x3e5e
jo 0x5e6d5175
push ebx
push edi
mov ecx, ecx
mov byte [ebp - 4], 1
call fcn.5e6cf847
xor eax, eax
cmp byte [0x61059e3b], 0xda
jne 0x5e713c96
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
cmp word [0x610cc4ff], 0xf72e
js 0x5e6c070e
mov dword [ebp - 0x28], eax
mov eax, eax
mov ecx, dword [edi + 0x38]
mov byte [ebp - 4], 2
nop
call fcn.5e6cdcdd
cmp word [0x610d79d2], 0xb4b2
js 0x5e6ccf8f
pop esp
or cl, byte [edi - 0x243e877b]
imul esi, dword [ecx + 0x78c537e3], 0xffffffc7
fimul word [eax + 0x58]
cmp bl, dl
pop ecx
test byte [edi], 0x48
neg byte [edx]
cmp al, 0xde
iretd
xor ecx, ecx
cmp eax, 1
jne 0x5e6ccfa2
push eax
mov eax, edx
sub eax, ecx
pop eax
je 0x5e6cd09a
cmp eax, 0x17
jne 0x5e6ccec6
cmp edx, ecx
jne 0x5e6ccec6
test word [0x60fe9ff3], 0xf462
jns 0x5e729daa
push dword [ebp + 0x18]
nop
nop
nop
lea eax, [ebp - 0x30]
test byte [0x61002b3d], 0xb3
jo 0x5e6da040
mov ecx, edi
push dword [ebp + 0x14]
nop
nop
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push eax
lea eax, [esi + 0x118]
push eax
nop
nop
nop
push dword [esi + 0x10c]
push dword [esi + 0x108]
call fcn.5e6cc1d1
mov dword [ebp + 8], eax
test eax, eax
je 0x5e6cd022
lea ecx, [ebp - 0x30]
call fcn.5e6cad39
mov ecx, ecx
lea ecx, [ebp - 0x1c]
call fcn.5e6cf74f
mov esi, dword [ebp + 8]
jmp 0x5e6cd0de
push edx
mov edx, dword [ebp - 0x2c]
sub edx, 0
pop edx
jne 0x5e6cd04a
nop
nop
nop
lea ecx, [ebp - 0x30]
call fcn.5e6cad39
lea ecx, [ebp - 0x1c]
mov ecx, ecx
call fcn.5e6cf74f
xor eax, eax
mov esi, eax
jmp 0x5e6cd0de
push edx
mov edx, dword [ebp - 0x2c]
sub edx, 1
pop edx
ja 0x5e6ccec6
lea ecx, [ebp - 0x1c]
call fcn.5e6cf74f
mov eax, dword [ebp - 0x30]
nop
nop
xor ecx, ecx
push ecx
lea ecx, [ebp - 0x1c]
mov ecx, ecx
mov eax, dword [eax]
push dword [eax + 4]
nop
nop
push dword [eax]
push edi
call fcn.5e6cf847
nop
mov ecx, dword [edi + 0x38]
nop
nop
call fcn.5e6cdcdd
cmp eax, 1
jne 0x5e6ccec6
xor eax, eax
cmp edx, eax
jne 0x5e6ccec6
push dword [ebp + 0x18]
mov byte [esi + 0x148], 1
mov ecx, edi
push dword [ebp + 0x14]
mov eax, dword [edi + 0x70]
push dword [ebp + 0x10]
mov dword [esi + 0x138], eax
push dword [ebp + 0xc]
mov eax, dword [edi + 0x74]
push esi
nop
mov dword [esi + 0x13c], eax
call 0x5e6cd1ea
nop
nop
lea ecx, [ebp - 0x30]
mov esi, eax
call fcn.5e6cad39
lea ecx, [ebp - 0x1c]
mov eax, eax
call fcn.5e6cf74f
push ebx
call fcn.5e6d68f8
pop ecx
mov eax, esi
mov eax, eax
jmp 0x5e6ccdc4
mov eax, 0x8007000e
jmp 0x5e6ccdc4
nop
mov byte [ecx + 0x10], 1
nop
nop
nop
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], eax
mov dword [ecx + 0x20], eax
nop
mov dword [ecx + 0x24], eax
mov eax, ecx
mov dword [ecx + 0x28], 0x1000100
ret
fst dword [eax - 0x2fd9249e]
movsd dword es:[edi], dword [esi]
sub esi, eax
xchg esi, eax
rol byte [esi + 0x5e], 0x3e
std
jno 0x5e6d51b0
push dword [ebp + 0x14]
mov ecx, dword [ecx + 0x74]
nop
nop
nop
mov eax, dword [ebp + 8]
nop
nop
push dword [ebp + 0x10]
push dword [ebp + 0xc]
mov ecx, dword [ecx + eax*4]
sub ebx, 0
pop ebx
ja 0x5e6f3de3
mov eax, eax
mov eax, dword [ebp + 8]
jb 0x5e6f3db0
push ecx
mov ecx, eax
sub ecx, 0x3030805
pop ecx
ja 0x5e6f3de3
sub eax, 0x3030103
je 0x5e6f3ddf
sub eax, 0x18
je 0x5e6f3ddf
sub eax, 0xea
je 0x5e6f3ddf
sub eax, 0x1fc
je 0x5e6f3ddf
sub eax, 0x100
je 0x5e6f3ddf
sub eax, 0x200
je 0x5e6f3ddf
sub eax, 0x104
jne 0x5e6f3de3
mov al, 1
pop ebp
ret
mov eax, eax
xor al, al
nop
nop
nop
pop ebp
ret
nop
mov eax, 0x5e72f314
jmp fcn.5e711bbd