Function at 0x6888d6
Capabilities:
Encode data using xor

Disassembly:
mov dword [esp], ebp
push edx
jmp 0x688e98
push eax
jmp 0x688f12
xor ecx, 0x7b75a68b
jmp 0x688eb8
push ebp
mov ebp, esp
push ecx
mov ecx, 4
add ebp, ecx
pop ecx
jmp 0x68892d
sub ebp, 0x199225a1
add ecx, ebp
pop ebp
jmp 0x688a75
mov eax, 0x787b193d
xor ecx, eax
pop eax
add ecx, 1
shr ecx, 3
dec ecx
push ebx
jmp 0x6889ca
shr ecx, 6
xor ecx, 0x6f31ee8b
mov eax, ecx
pop ecx
not eax
jmp 0x68897e
push ebp
mov dword [esp], 0x28a530e5
jmp 0x6888b6
push edi
mov edi, 4
sub ebp, edi
pop edi
xchg dword [esp], ebp
jmp 0x688ce3
mov dword [esp], ecx
push dword [esp + 4]
pop ecx
jmp 0x688ae5
sub ebp, 0x1bd7f56c
push ebx
mov dword [esp], 0
sub dword [esp], ebp
mov ebp, dword [esp]
add esp, 4
not ebp
inc ebp
add ebp, 0x5394fe46
mov edi, ebp
pop ebp
jmp 0x688a1b
sub eax, 1
or eax, 0xb3d9a71
sub eax, 0x5dfd7975
sub eax, 0x7e6fab65
push 0x6708abb0
mov dword [esp], ebp
push 0xb1c2f0ad
jmp 0x6889a4
pop ebp
add eax, 0x5f968a93
add eax, ebp
jmp 0x688da9
add ecx, ebx
pop ebx
add eax, 0x4dfe6694
add eax, 0x7dff936e
sub eax, ecx
sub eax, 0x7dff936e
jmp 0x688ec3
mov ebx, 0x7da77c84
push ecx
jmp 0x688cce
add eax, ecx
jmp 0x688a29
pop eax
sub ecx, 0x7ff7e281
sub ecx, 0x54fb58b3
sub edi, ecx
mov ecx, dword [esp]
add esp, 4
add edi, 0x51b41ec6
mov eax, edi
mov edi, dword [esp]
jmp 0x688de8
push ebp
mov ebp, 0x7f7ac026
jmp 0x688b75
xor eax, dword [esp]
pop esp
push eax
mov eax, 0x7fff8bd4
jmp 0x688b1c
inc edi
xor edi, 0x509e80eb
sub ecx, edi
jmp 0x688b6c
mov ecx, dword [esp]
add esp, 4
push edx
mov edx, 0x3f2dad41
and edx, 0x72f322fa
and edx, 0x6ffbe4ca
shr edx, 4
sub esp, 4
mov dword [esp], edx
xchg dword [esp], ebp
not ebp
xchg dword [esp], ebp
pop edx
add edx, 0x2221209
add eax, edx
pop edx
sub esp, 4
mov dword [esp], eax
push dword [esp + 4]
pop eax
jmp 0x688c8c
xor eax, ecx
mov ecx, dword [esp]
add esp, 4
push esi
mov dword [esp], 0x5ff7fea3
dec dword [esp]
xor dword [esp], 0x67799d54
not dword [esp]
add dword [esp], 0x8f8e0725
shl dword [esp], 1
push ecx
mov dword [esp], edx
mov edx, 0x8c4a2d27
xor dword [esp + 4], edx
pop edx
mov dword [esp], ecx
jmp 0x688b2c
mov edx, 0x1696c19
sub ebx, edx
jmp 0x688be7
pop dword [esp]
mov esp, dword [esp]
push edx
mov dword [esp], 0x6ce95b3d
mov dword [esp], eax
mov eax, 0x7b2dfc34
push edi
mov edi, 0x796f3e65
add edi, 0x62facc0
add eax, edi
mov edi, dword [esp]
add esp, 4
sub eax, 0xffffffff
jmp 0x6890a2
sub ebx, eax
mov eax, dword [esp]
add esp, 4
jmp 0x688d0d
sub esp, 4
mov dword [esp], edx
mov edx, 0x36b99882
jmp 0x689298
or ebx, 0x6e9b454a
not ebx
jmp 0x688c37
sub edi, 0x2db7c05f
jmp 0x688d5e
add ebx, ebp
pop ebp
add eax, ebx
mov ebx, dword [esp]
add esp, 4
add ebx, eax
pop eax
push eax
push edi
jmp 0x6892f7
pop edi
shr ecx, 4
jmp 0x6888bf
mov ebx, ebp
pop ebp
push edi
mov edi, 1
add ebx, edi
jmp 0x688c1c
add ebx, 0x57fedefd
mov eax, dword [esp]
add esp, 4
sub esi, 1
jne 0x689165
sti
push 0xc9709a1
mov dword [esp], esi
jmp 0x6894b8
pop edx
sub esi, ebx
push dword [esp]
pop ebx
push esi
mov esi, esp
add esi, 4
push ecx
mov ecx, 4
add esi, ecx
mov ecx, dword [esp]
add esp, 4
xchg dword [esp], esi
jmp 0x688d27
push ebp
push ecx
mov ecx, 0x6e6d2e6c
jmp 0x68936c
pop edi
xor ebx, 0x77bbb3f4
jmp 0x688ca0
push edx
mov ecx, dword [esp]
add esp, 4
jmp 0x68909b
dec ebx
or ebx, 0x3fee43d6
xor ebx, 0xc2093ff2
mov eax, ebx
mov ebx, dword [esp]
add esp, 4
xor eax, ebp
xor ebp, eax
xor eax, ebp
add ebp, 1
push eax
push ebp
jmp 0x688db6
shr eax, 5
not eax
sub eax, 0x7fffd73f
push ecx
mov dword [esp], ebx
push ecx
jmp 0x688f70
dec eax
xchg edx, eax
neg edx
xchg edx, eax
sub eax, 0xe3515db0
mov ecx, 0x6fe9e34c
push 0x4638ac94
jmp 0x688d48
pop dword [esp]
mov esp, dword [esp]
push ebp
mov dword [esp], edx
push 0x526d336d
jmp 0x688d04
push edi
mov edi, 0x4ffb2ac5
add ebx, edi
pop edi
sub esp, 4
jmp 0x688ce9
mov edi, 0x71f569b6
shl edi, 4
add edi, 0x20a6371d
jmp 0x68925e
mov ecx, 0x3bff21a0
not ecx
sub ecx, 0xb0012eb3
xor ebx, ecx
pop ecx
jmp 0x688e33
pop esp
jmp 0x688fe7
mov dword [esp], edx
jmp 0x688ad9
add ebp, 0x393d89d1
sub eax, ebp
jmp 0x68929f
mov dword [esp], eax
push edi
jmp 0x688d67
push eax
mov eax, 0x78be717a
and eax, 0x61bf8b47
add eax, 0x3efe6017
add eax, 0x98398a69
jmp 0x688f2f
pop esp
mov ecx, esi
pop esi
push ebx
sub esp, 4
mov dword [esp], eax
sub esp, 4
mov dword [esp], esi
push ebx
mov dword [esp], 0x6e976816
jmp 0x688dc5
mov dword [esp], edx
push ecx
push ecx
mov dword [esp], ebx
mov dword [esp], eax
push ecx
push 0x7fafeea2
jmp 0x688e87
push eax
mov dword [esp], edi
jmp 0x68928f
mov dword [esp], 0x7fef6d00
pop eax
sub esp, 4
mov dword [esp], edx
push 0x2a374d30
mov dword [esp], ecx
mov ecx, 0xffcd30f6
mov edx, ecx
pop ecx
jmp 0x688d95
xor eax, dword [esp]
xor dword [esp], eax
jmp 0x688a0c
add eax, edx
mov edx, dword [esp]
jmp 0x688e79
sub eax, 0x5f968a93
pop ebp
push eax
pop ecx
jmp 0x689072
pop eax
pop ebp
push ecx
mov ecx, 0x6d3bb071
and eax, ecx
jmp 0x68904d
mov esi, dword [esp]
add esp, 4
add esi, 0x7fa220db
add esi, 0x7f7a996d
add esi, 0xd02aefe6
mov eax, esi
pop esi
jmp 0x688efd
add esp, 4
push esi
mov esi, 0x7fbf44af
neg esi
not esi
jmp 0x689078
add eax, 0x7abd3d18
and eax, 0x7dbf081b
xor eax, 0x3bfffe76
add eax, 0x38c36cf6
mov ecx, eax
jmp 0x6889dc
mov edi, dword [esp]
push edx
jmp 0x6892a5
xor ebx, 0x79de9d0d
jmp 0x6889b1
add esp, 4
jmp 0x688b49
push eax
push 0x7b2e86fa
pop eax
not eax
neg eax
push edi
mov edi, 0x1cf468f0
sub eax, edi
pop edi
mov esi, eax
pop eax
add ebx, esi
pop esi
add ebx, 0x1ffabe1f
add ebx, 0xffffffff
jmp 0x688920
add esp, 4
push ecx
mov ecx, eax
jmp 0x688f08
pop ecx
jmp 0x68890d
xor edx, 0xb6b1f358
jmp 0x688c28
push eax
mov dword [esp], 0x7fff29f8
mov edx, dword [esp]
push ebp
mov ebp, esp
add ebp, 4
add ebp, 4
xchg dword [esp], ebp
pop esp
jmp 0x6892bf
xor ecx, 0xfa3dc7f
jmp 0x689350
sub eax, 0x4dfe6694
push dword [esp]
pop ecx
add esp, 4
push ebp
mov dword [esp], 0x4f2cb6fa
mov dword [esp], ecx
push eax
push ebp
jmp 0x688fbc
push ebx
mov ebx, 0x5fbcb508
jmp 0x688f7e
mov edx, ecx
push dword [esp]
jmp 0x6890ea
push ecx
mov ecx, 0x1f2f63de
mov eax, ecx
pop ecx
xor eax, 0x21f1dcd9
xor ecx, eax
pop eax
dec ecx
push ebp
mov ebp, 0x5f9f52be
jmp 0x6890b5
sub ebx, eax
pop eax
add ebx, 0x3bff6c3b
sub ebx, edx
sub ebx, 0x3bff6c3b
push edx
mov edx, 0x37f5ebc2
add ebx, edx
pop edx
add ebx, 0x7fff8bd4
mov edx, dword [esp]
push edi
push esp
pop edi
add edi, 4
add edi, 4
xchg dword [esp], edi
pop esp
push eax
mov eax, 0x1ffbc3db
shl eax, 2
jmp 0x688c5f
push ebx
mov dword [esp], 0x77ffdc31
pop ecx
jmp 0x6890c1
and ebx, 0x6bbf7acf
sub ebx, 0x7fbf94a4
shr ebx, 1
xor ebx, 0x68fbf757
xor ebx, 0xf3ce5176
sub eax, ebx
pop ebx
mov ebx, eax
pop eax
push edx
mov edx, 0x3fb51ff3
and ebx, edx
pop edx
jmp 0x688b3c
sub esi, edx
pop edx
pop ebp
xor ecx, esi
mov esi, dword [esp]
push ecx
jmp 0x689491
mov ebp, 0x7f5d5c51
xor dword [esp + 4], ebp
mov ebp, dword [esp]
add esp, 4
pop ecx
push esi
push ebp
push esi
mov esi, 0x6fdf08c0
add esi, 0x9fdf77e
jmp 0x6892b7
mov dword [esp], ecx
push 0x135b4490
mov dword [esp], ecx
mov dword [esp], esp
sub esp, 4
mov dword [esp], esi
push 4
push dword [esp]
pop esi
add esp, 4
add dword [esp + 4], esi
pop esi
mov ecx, dword [esp]
push edx
mov edx, esp
add edx, 4
add edx, 4
xchg dword [esp], edx
pop esp
push ebx
mov ebx, 4
add ecx, ebx
mov ebx, dword [esp]
add esp, 4
add ecx, 4
sub esp, 4
jmp 0x68893e
mov edi, 0xffdff676
xor eax, edi
jmp 0x688e2a
mov ecx, dword [esp]
add esp, 4
push ebp
mov ebp, 0x1f78c52b
dec ebp
shr ebp, 1
not ebp
jmp 0x689067
and ebp, 0x2a5e17ed
jmp 0x688cf7
pop eax
jmp 0x6888cb
sub esi, 0x27c065b1
push eax
mov eax, 0x5f3632da
sub ebx, eax
pop eax
sub ebx, esi
add ebx, 0x5f3632da
pop esi
push edi
mov edi, 0x5f7fdbbd
jmp 0x68931c
pop edx
push eax
jmp 0x6888f5
or eax, 0x67dc8b1d
push ecx
mov ecx, 0x56d74026
or eax, ecx
pop ecx
jmp 0x689282
xor ebp, 0x5deff59b
push edi
jmp 0x688cbb
sub esp, 4
mov dword [esp], eax
mov eax, 0x3173d613
sub ecx, eax
pop eax
jmp 0x6890e1
mov ebx, ecx
pop ecx
push esi
jmp 0x688e4e
pop ecx
add esp, 4
pop eax
shl edx, 4
push ecx
push edx
mov edx, 0x7ff265a
inc edx
sub edx, 0x6bf7edb6
or edx, 0x1f7f2e1c
xor edx, 0x51dd3398
shr edx, 3
sub edx, 0x9c2833a4
mov ecx, 0x2209f881
xor ecx, edx
pop edx
or ecx, 0x7ffe3bc1
shl ecx, 3
xchg ecx, esi
not esi
jmp 0x68940f
mov dword [esp], eax
mov eax, 0x5afeaa31
push ebp
mov ebp, 0x1eb73295
xor eax, ebp
pop ebp
jmp 0x688dfd
shr ebp, 8
and ebp, 0x1dfe8a33
inc ebp
or ebp, 0x1fdba282
or ebp, 0x7fff55a3
sub ebp, 0x388a711
xor esi, ebp
pop ebp
pop eax
push dword [ebx]
push dword [esp]
push dword [esp]
pop eax
sub esp, 4
mov dword [esp], ebp
mov ebp, esp
add ebp, 4
add ebp, 4
xchg dword [esp], ebp
pop esp
push eax
jmp 0x6893b0
mov ebx, ebp
push ebx
pop edx
pop ebx
mov ebp, dword [esp]
push eax
mov eax, esp
push edx
mov edx, 0x5bdeb497
shr edx, 1
or edx, 0x7cfea7e0
sub edx, 0x7dffffe7
add eax, edx
pop edx
add eax, 4
jmp 0x688d8a
mov dword [esp], eax
mov eax, 4
add ecx, eax
pop eax
xchg dword [esp], ecx
mov esp, dword [esp]
mov dword [ebx], ecx
push dword [esp]
pop ecx
add esp, 4
sub esp, 4
mov dword [esp], ebx
mov dword [esp], edx
push ebp
mov ebp, 2
push ebx
jmp 0x6891c1
and ebp, edi
pop edi
not ebp
shl ebp, 4
push ebx
mov ebx, 0x768ff92e
and ebx, 0x7bffe461
not ebx
add ebx, 0xe08e6f28
add ebp, ebx
pop ebx
jmp 0x6888e7
push 0x17a51b3d
mov dword [esp], edi
jmp 0x689041
mov dword [esp], ecx
push edi
jmp 0x68912f
neg edx
jmp 0x688e8d
pop ebp
jmp 0x688c73
push esp
mov edx, dword [esp]
add esp, 4
push eax
mov eax, 4
jmp 0x6892cd
mov ebp, esi
pop esi
jmp 0x689304
shr edx, 5
add edx, 0x6b9dc534
jmp 0x68942d
add edx, eax
pop eax
add edx, 4
push edx
push dword [esp + 4]
pop edx
pop dword [esp]
pop esp
push eax
push ecx
mov ecx, 0x7c7758a6
xor dword [esp + 4], ecx
pop ecx
mov esi, dword [esp]
add esp, 4
jmp 0x688c10
push 0x46cdd1ca
mov edi, dword [esp]
jmp 0x688e3e
mov esi, 0xf93a5c8f
add esi, 0x786566e8
sub esi, ebp
push edx
mov edx, 0x4d0f8fbb
jmp 0x689450
neg edi
or edi, 0x7b73c6c3
and edi, 0x70fed506
jmp 0x689340
mov ecx, dword [esp]
add esp, 4
jmp 0x689469
add edi, 0xe3bc7995
sub ebx, edi
pop edi
sub ebx, eax
jmp 0x689486
push ecx
push ecx
mov ecx, 0x3f5f321f
sub dword [esp + 4], ecx
pop ecx
pop edx
add edx, 0x3f5f321f
mov ecx, dword [esp]
push edi
jmp 0x689385
add ecx, 0x109130cf
mov ebp, ecx
pop ecx
jmp 0x689145
mov edx, dword [esp]
push ecx
mov ecx, esp
jmp 0x68939e
mov edi, esp
add edi, 4
add edi, 4
xchg dword [esp], edi
pop esp
xor ecx, edx
jmp 0x68937a
add ecx, 4
add ecx, 4
xchg dword [esp], ecx
pop esp
jmp 0x6894e4
push 0x6a342df5
push esi
mov dword [esp], esp
add dword [esp], 4
pop dword [esp]
add dword [esp], 4
pop eax
push ecx
mov ecx, 4
jmp 0x6889d5
dec dword [esp]
shl dword [esp], 8
add dword [esp], 0x26b08556
add dword [esp], 0xd9982fcc
pop ecx
or ecx, 0x7dd7a87f
push 0x59d0a4fb
mov dword [esp], edi
push ebp
mov ebp, 0x37fe2e24
jmp 0x68894b
xchg ecx, esi
or ecx, 0x7d7f74fb
add ecx, 0xd92c8476
add edx, ecx
jmp 0x689335
xor edx, 0xd0a3d3f0
mov ebp, edx
pop edx
jmp 0x688b54
add edx, 0x7fad6c64
inc edx
inc edx
xchg edx, ebp
not ebp
xchg edx, ebp
add edx, 0x4522630a
jmp 0x688fad
xor eax, edx
push dword [esp]
pop edx
add esp, 4
push esi
mov dword [esp], ecx
push esi
mov dword [esp], eax
mov dword [esp], 0x5d1e8332
jmp 0x6893e0
add ebx, 0x54af3d97
jmp 0x688b85
mov ecx, esp
push edi
mov edi, 0x35ff8617
xor edi, 0x15dee451
sub edi, 0x3c4f7df7
xor edi, 0xe3d1e44b
add ecx, edi
pop edi
push 0x476c58df
jmp 0x6891ee
std
invalid
sub esp, 4
mov dword [esp], eax
jmp 0x6894c3
mov dword [esp], 0x73bf76de
mov esi, dword [esp]
add esp, 4
add byte [eax], al
add esi, 1
push edx
mov dword [esp], esi
not dword [esp]
pop esi
push ebx
jmp 0x688a01
dec edx
mov dh, byte [ebp - 0x4d284782]
aad 0x85
xor dword [ebp + 0x3dc06e0], 0x12
jecxz 0x6894d1
xor eax, 0x2bda9422
daa
xchg esp, eax
cmp esp, dword gs:[ebx + 0x223b5ee0]
xchg esp, eax
sar al, cl
push es
xchg ebp, eax
out dx, al
shl byte [esi], 1
jne 0x689581
mov eax, dword [0x7a659422]
mov al, 0x73
mov byte gs:[ebx - 0x23], dl
pop esi
xlatb
and dl, byte [ebp - 0x41af84c5]
sub eax, 0x3b659b47
wait
test al, 0xb9
test byte [ebx + 0x792db9b8], bl
xchg esp, eax
cmp esi, dword gs:[ecx - 0x80]
mov ecx, 0xb9b89b84
sub eax, 0x3b659479
jno 0x6894b5
mov ecx, 0x8cb8074f
or byte [ebp + 0x4a], 0x20
xor byte [edx], ah
xchg esp, eax
xor al, 0xd5
jecxz 0x6895a0
cmp esp, dword [edx]
xchg esp, eax
rol al, 1
push es
sbb dword [esi], ebx
xor byte [ebx], bh
aas
cmp esp, dword gs:[edx]
jo 0x689529
rol byte [esi], 0xe3
sal dword [edx], cl
xchg esp, eax
mov bh, byte [ebp + 0x27]
xchg esp, eax
cmp esp, dword gs:[ebx]
inc eax
mov esi, 0x5a913b30
push es
jecxz 0x68952d
xor byte [ebx], bh
xchg ecx, eax
pop edx
cmp esp, dword [edx]
xchg dword [edi - 0x60], edx
fsubr qword [ebp - 0x51]
inc esi
jbe 0x689566
in eax, 0xe9
xchg ebx, eax
inc eax
and eax, 0xafc435bf
cmp dword [edi + 0x11], ebx
cmpsd dword [esi], dword es:[edi]
sub eax, 0x3b659bc1
popfd
cwde
mov ecx, 0xd2b8074f
enter 0x4906, 0xfffffffffffffff2
fstp xword [esi]
stc
dec esp
dec esp
jg 0x689551
jb 0x6895cf
and dl, byte [ebp - 0x12cda288]
xor ch, ch
mov ecx, ebp
dec ebp
loop 0x689557
mov dword [0x70739970], eax
mov esi, 0xb9b09930
mov ch, 0xe6
cwde
cmp esp, dword gs:[edx]
jecxz 0x6895aa
cmp dword [eax + 0x10], eax
int1
pop ebp
wait
pop es
lahf
mov dword [0x223b5ee6], eax
xchg esp, eax
fsubr st(0), st(0)
push es
jo 0x689655
dec ebp
and edx, dword [ebp - 0x247d8b2]
popal
or dword [edi - 0x75], 0x4d
pop ss
mov eax, 0x2c529e89
mov al, dh
test eax, 0xe0046d11
cld
push edx
rcr ah, 1
ret
sbb byte [eax], dh
and dl, byte [ebp - 0x7e47e94e]
sbb byte [ebx - 0x31d24678], 0x94
cmp ecx, dword gs:[ebx + 0x76]
mov dword [0x3b65955d], ebp
cwde
mov al, 0xb9
cmp esi, dword [edi - 0x48]
jb 0x689626