Function at 0x8e1124
Capabilities:
Encode data using xor

Disassembly:
pushal
call 0x8e112a
pop ebp
sub ebp, 6
sub ebp, 0x4e1124
jmp 0x8e1188
jmp 0x8e1191
mov eax, 0x4e1124
add eax, ebp
add eax, 0x93
mov ecx, 0x629
and al, 0x11
dec esi
add byte [ebx], al
lds eax, [ecx + 0x93c0]
add byte [ecx + 0x629], bh
sub dword [esi], eax
add byte [eax], al
mov edx, 0x5d0f577c
xor byte [eax], dl
inc eax
dec ecx
jne 0x8e11a8
invalid
jmp 0x8e11bb
push ss
cmp al, 0x14
jl 0x8e122c
jl 0x8e123e
adc al, 0x7c
mov al, 0x50
jl 0x8e1217
mov esp, 0x40e9832c
sub eax, 0xf72c7c38
mov cl, 0xf7
cmc
inc eax
jl 0x8e1254
jl 0x8e1255
jl 0x8e11d7
std
mov ebp, 0x7c7c7c84
jg 0x8e1192
les edi, [edx + 0x7c]
jl 0x8e1262
invalid
jl 0x8e1267
mov ebx, dword [esi - 0x2084b81]
mov ah, 0xf7
std
jo 0x8e126f
jl 0x8e1271
jg 0x8e11b0
sub al, 0x14
push eax
dec ebx
jne 0x8e1279
adc al, 0x8b
movsd dword es:[edi], dword [esi]
cmp byte [ebp + edi*2 + 0x50], bh
pop eax
adc al, 0x7c
jl 0x8e1285
jl 0x8e119f
jns 0x8e1289
jl 0x8e128b
xchg ebp, eax
push esi
jl 0x8e128f
jl 0x8e123e
int1
adc byte [eax + 0x7c], bl
idiv ecx
pop eax
jl 0x8e1211
stc
je 0x8e1299
jl 0x8e129b
imul ecx
jo 0x8e129f
jl 0x8e12a1
div ecx
insb byte es:[edi], dx
jl 0x8e12a6
jl 0x8e11e9
xchg ebp, eax
jle 0x8e127c
jle 0x8e1230
invalid
mov esi, 0xf9733578
mov byte [ebx - 0x41de7c7d], al
jo 0x8e12ba
div eax
pop eax
js 0x8e12bf
jl 0x8e12c1
adc al, 0x50
dec ebx
jne 0x8e12c6
adc al, 0x8b
movsd dword es:[edi], dword [esi]
cmp byte [ebp + edi*2 + 0x50], bh
pop eax
sub eax, 0x7c7c7994
jns 0x8e12d2
jl 0x8e12d3
jl 0x8e12d4
jl 0x8e11ee
xchg ebp, eax
cmp eax, 0x297c7c7e
int1
adc byte [eax + 0x7c], bl
or dword [ecx], 0x70
or dword [ecx], 0x74
xchg esp, eax
je 0x8e11fd
push cs
jl 0x8e12e8
jl 0x8e1265
sal dword [esp + edi*2 + 0x7c], 0x7c
je 0x8e12ed
jl 0x8e12ef
std
lea esi, [esi + ebx - 0x3d]
xchg ch, bh
std
lea esi, [esi + ebx - 0x3d]
xchg byte [edi - 0x4b], cl
push ds
ret
dec edi
scasb al, byte es:[edi]
call dword [ecx + edi*2 + 0x32f87334]
jl 0x8e1308
jns 0x8e12bb
jae 0x8e1281
xor bh, byte [esp + edi*2 + 0x7c]
jl 0x8e1309
jl 0x8e1301
jae 0x8e1283
hlt
xor al, 0x7c
jl 0x8e130f
sbb dh, bh
pushal
inc ebp
mul dword [eax + 0x45]
cld
xchg dword [ebx + esi*2 + 0x7c7c66f8], edx
xchg esp, eax
jae 0x8e1294
clc
jl 0x8e131b
jl 0x8e131b
jl 0x8e129d
xchg dword [ebp + 0x7c6df873], edx
jl 0x8e1325
jl 0x8e1324
jl 0x8e12c4
sbb bh, ch
std
xchg dword [ebx + 0x69f87359], eax
jl 0x8e132f
jl 0x8e12f2
xchg ebp, eax
mov al, 0x83
add dword [ebx + 0x7d453055], 0xffffffff
push ebp
xor byte [ebp + 0x7d], al
invalid
mov ebp, 0x7894ff79
call dword [eax + edi*2 - 0x7c7c3e6b]
adc dword [ebp + 0x28], 0x45
xchg ebp, eax
rol dword [ebx + 0x28558383], 0x45
add dword [ebx + 0x45285583], 0x7e
jle 0x8e12cd
invalid
mov ebp, 0x7896ff7a
js 0x8e12d3
call dword [ecx + edi*2 - 0x7c7c286b]
and dword [ecx], 0xffffffbe
jo 0x8e135b
xchg esp, eax
jns 0x8e126c
xlatb
add dword [ebx + 0x70be2183], 0x7c
sub edi, esi
nop
sub ch, byte [ebx]
sub edi, esi
or dword [eax - 9], esi
add dword [eax + eax*4 - 0x32], esi
test dword [ecx], 0xfcce8074
cld
idiv byte [edx - 3]
jp 0x8e12ee
mov edx, 0x7c7c7c7d
jge 0x8e1370
jl 0x8e1372
hlt
jl 0x8e137e
jl 0x8e137f
jl 0x8e1382
jle 0x8e12b3
scasb al, byte es:[edi]
jae 0x8e1300
jns 0x8e1385
jl 0x8e1386
jl 0x8e1387
jl 0x8e1302
imul byte [edx + 0x3a]
push 0x3a
outsb dx, byte [esi]
scasb al, byte es:[edi]
jae 0x8e1311
jmp dword [ebx + eax*4 - 0x51817c7d]
movsb byte es:[edi], byte [esi]
add dword [ebx + 0x73ae7e83], 0xfffffff9
cmp dword [esi - 0x52], 0x73
stc
jns 0x8e1398
jl 0x8e1399
jl 0x8e139a
jl 0x8e1315
imul byte [edx + 0x3a]
push 0x3a
outsb dx, byte [esi]
scasb al, byte es:[edi]
jae 0x8e1324
call dword [esi]
push ss
jl 0x8e13a4
jl 0x8e1379
mov esp, 0xf973ae7e
jns 0x8e13ad
jl 0x8e13af
imul byte [edx + 0x3a]
outsb dx, byte [esi]
scasb al, byte es:[edi]
jae 0x8e1339
call dword [esi + 0x7d]
jl 0x8e13ba
push esi
jge 0x8e13b9
jl 0x8e13bd
jle 0x8e12ee
scasb al, byte es:[edi]
jae 0x8e133b
jns 0x8e13c0
jl 0x8e13c2
imul byte [edx + 0x3a]
outsb dx, byte [esi]
scasb al, byte es:[edi]
cmp ch, byte [esi - 0x52]
outsd dx, dword [esi]
mov esp, 0xf973ae7e
jns 0x8e13cf
jl 0x8e13d1
imul byte [edx + 0x3a]
outsb dx, byte [esi]
scasb al, byte es:[edi]
outsd dx, dword [esi]
mov esp, 0xf973ae7e
jns 0x8e13de
jl 0x8e13e0
imul byte [edx + 0x3a]
outsb dx, byte [esi]
scasb al, byte es:[edi]
outsd dx, dword [esi]
mov esp, 0xf973ae7e
jns 0x8e13ed
jl 0x8e13ee
jl 0x8e13ef
jl 0x8e136a
imul byte [edx + 0x3a]
push 0x3a
outsb dx, byte [esi]
scasb al, byte es:[edi]
outsd dx, dword [esi]
mov esp, 0x7c7af873
clc
jp 0x8e13fa
jl 0x8e13fc
jl 0x8e1378
mul dword [ebx + 0x7ff6a457]
mov dword [0x7ff6a457], eax
push edi
movsb byte es:[edi], byte [esi]
idiv byte [edi - 0xc]
jg 0x8e137b
hlt
jnp 0x8e13c4
invalid
jl 0x8e1324
or al, 0x83
add dword [ebx + 0x7c7c7dc4], 0x7c
jl 0x8e1413
jl 0x8e1417
jle 0x8e1348
scasb al, byte es:[edi]
jae 0x8e1395
jns 0x8e141a
jl 0x8e141c
imul byte [edx + 0x3a]
outsb dx, byte [esi]
scasb al, byte es:[edi]
outsd dx, dword [esi]
mov esp, 0xf973ae7e
jns 0x8e1429
jl 0x8e142b
imul byte [edx + 0x3a]
outsb dx, byte [esi]
scasb al, byte es:[edi]
jae 0x8e13b4
mov byte [0x57838383], al
adc dword [edi - 0x41], 0xffffffc7
push edi
mov edi, 0x7c7c7dc7
invalid
jge 0x8e143b
jl 0x8e143d
jl 0x8e1435
jae 0x8e13bc
stc
dec eax
jl 0x8e1442
jl 0x8e138d
jge 0x8e1446
jl 0x8e1447
jl 0x8e1448
jl 0x8e144b
jle 0x8e137c
scasb al, byte es:[edi]
jae 0x8e13c9
stc
jns 0x8e144e
jl 0x8e144f
jl 0x8e1450
jl 0x8e13cb
imul byte [edx + 0x3a]
push 0x3a
outsb dx, byte [esi]
scasb al, byte es:[edi]
outsd dx, dword [esi]
mov ch, 0x7e
scasb al, byte es:[edi]
jae 0x8e13d8
stc
jns 0x8e145d
jl 0x8e145e
jl 0x8e145f
jl 0x8e13da
imul byte [edx + 0x3a]
push 0x3a
outsb dx, byte [esi]
scasb al, byte es:[edi]
jae 0x8e13e8
mov byte [0x2a838383], al
sub dword [edx], 0xfffffff7
sub dh, bh
test dword [ebx - 0x277076a9], 0x83749522
add dword [ebx + 0x749cbd34], 0xfffffff6
jp 0x8e143c
mov edx, dword [edi - 0x77]
invalid
xor dword [edi*4 + 0x7af6749c], 0x3a
mov ebp, 0x7af6749c
cmp dh, bh
xchg esp, eax
lds edi, [ebp + 0x7c]
jl 0x8e1485
not dword [ebp + eax*8 + 0x7c7c7c7d]
jl 0x8e1484
jl 0x8e1488
jle 0x8e13b9
scasb al, byte es:[edi]
jae 0x8e1406
jns 0x8e148b
jl 0x8e148d
imul byte [edx + 0x3a]
outsb dx, byte [esi]
cmp ch, byte [esi - 0x52]
scasb al, byte es:[edi]
outsd dx, dword [esi]
mov ch, 0x7e
scasb al, byte es:[edi]
jae 0x8e1415
jns 0x8e149a
jl 0x8e149c
imul byte [edx + 0x3a]
push 0x3a
outsb dx, byte [esi]
scasb al, byte es:[edi]
jae 0x8e1425
mov byte [0xfd838383], al
add dword [ebx + 0x17c84fd], 0x7c
std
test byte [ecx + eax + 0x7c], bh
jl 0x8e14ad
jl 0x8e142f
std
movsd dword es:[edi], dword [esi]
add dword [ebx - 0x7b027c7d], 0x7c
jns 0x8e14b8
add dword [ebx + 0x797c84fd], 0x7c
jl 0x8e14b9
jl 0x8e143b
std
movsd dword es:[edi], dword [esi]
add dword [ebx - 0x7b027c7d], 0xfffffffc
cmp ebp, 0xffffff84
cld
jl 0x8e14c4
jl 0x8e14c5
jl 0x8e1447
std
lodsd eax, dword [esi]
jl 0x8e14c9
jl 0x8e14cb
jl 0x8e144d
std
test ah, bh
jl 0x8e14d0
jl 0x8e14d1
jl 0x8e1453
std
lodsd eax, dword [esi]
jl 0x8e14d5
jl 0x8e14d7
sub dh, bh
mov edx, dword [edi - 0x74]
invalid
push edi
mov word [edi - 0x186add28], cs
add byte [ebx + 0x3a7af683], 0x4f
mov ch, 0xbc
xchg esp, eax
jge 0x8e14e4
fsub dword [edx]
xchg ebp, eax
out 0x82, eax
add dword [ebx + 0x4f3a7af6], 0xffffffb5
mov esp, 0xf8737d94
clc
jl 0x8e14f1
jl 0x8e14f2
jl 0x8e1474
std
lodsd eax, dword [esi]
jle 0x8e14f6
jl 0x8e14f8
not dword [edx + ebp - 0x73a87409]
invalid
mov word [edi + 0x7dc722d8], cs
fsub dword [edx]
invalid
and al, bh
jge 0x8e1505
jl 0x8e1506
jl 0x8e1507
jl 0x8e1421
xchg ebp, eax
jb 0x57af9815
add byte [ebx + 0x1572183], 0x74
idiv dword [ebx - 0x6608dddd]
add dword [edi + esi*8 - 0x45], esi
and esp, dword [edx]
neg dword [ecx + 0x7c74be21]
and dword [esi + 0x22237c74], edi
je 0x8e151a
and esp, dword [edx]
xchg ebp, eax
js 0x8e151f
jl 0x8e1521
rcl dword [edi + ebp*4 + 0x6d58c4cf], cl
xor bh, byte [edi + edi*2 - 0x47]
std
mov esp, 0x7c7c7fd7
jl 0x8e152e
mov ecx, 0x7fd7bcfd
jl 0x8e1532
lds ebp, [ebp + 0x7f]
jg 0x8e1536
jl 0x8e1537
jl 0x8e1482
invalid
dec ecx
sar ecx, 0x3d
dec esp
insb byte es:[edi], dx
cmp al, 0x35
cmp eax, 0x353c6c4c
jae 0x8e14bf
stc
mov al, byte [ebx + 0x78958383]
jl 0x8e154a
adc dword [ebp + 0x7c7c7c78], 0x39
js 0x8e1549
jl 0x8e154b
jl 0x8e1509
cmp dword [edx], eax
add dl, bh
xlatb
lds ebx, [edi]
push ds
push ds
jp 0x8e1461
mov edx, eax
invalid
ret 0x19c7
ret 0x1dc7
ret 0x75d7
xlatb
jne 0x8e153e
dec ecx
dec ecx
sbb al, byte [esi - 0xa]
adc eax, 0xc8134f7a
inc esi
not byte [0xc8134f7a]
mov esi, dword [ecx + 0x4a494949]
lahf
enter 0x49b2, 0x49
mov dl, 0x49
dec ecx
dec ecx
dec ecx
inc esi
int 0x56
dec ecx
dec ecx
dec ecx
pop ds
push ds
into
cwde
ret 0x5918
cwde
dec edx
xor eax, dword [ebp + 0x4a]
cmp ebx, dword [ebp - 0x45]
in eax, dx
push ss
pop ss
enter 0x618b, 0x49
mov ebx, 0xc81716ed
mov esp, dword [ecx + 0x49]
dec ecx
dec ecx
add ah, byte [eax - 0x49494964]
and dword [ecx + 9], ecx
mov dh, 0xb6
mov dh, 0x21
dec ecx
or dword [ecx + 0x49], ecx
dec ecx
dec ecx
and dword [ecx - 0x7b], ecx
dec ecx
dec ecx
test dword [ebp + 0x49], esp
pop ds
mov dh, 0xdc
or dword [eax], ebx
or eax, 0xc2b7ce49
aaa
jne 0x8e150a
cmc
jle 0x8e1534
jmp 0x4ad75e98
dec ecx
dec ecx
dec ecx
dec edx
mov bh, 0x1f
adc cl, al
mov byte [0x49094949], al
into
mov bl, 0xc2
xor ecx, dword [ecx - 0x32]
mov bl, 0xc2
push es
dec ebp
enter 0x49b3, 0x49
dec ecx
dec ecx
inc esi
int 0xf
dec ecx
dec ecx
dec ecx
dec edx
lahf
enter 0x418e, 0x49
dec ecx
dec ecx
enter 0x41a0, 0x49
dec ecx
dec ecx
enter 0x49b0, 0x49
dec ecx
dec ecx
inc esi
int 0x99
mov dh, 0xb6
mov dh, 0x2f
ret 0x884e