Function at 0x41638e
Capabilities:
Encode data using xor

Disassembly:
push edi
mov cl, byte [ebp + 0x3ef28c8e]
dec esi
lea ecx, [esi + 0x4e3ef28c]
scasd eax, dword es:[edi]
das
das
das
das
test dword [edx + 0x7030ba7b], eax
in eax, dx
das
imul ebx, dword [ebp + 0x2fb6b33e], 0x2f
das
mov esp, 0x29afff7f
cmp byte [esi], bh
mov dh, 0xce
das
das
jmp [edi - 0x49c1c7d7]
das
je 0x41602a
or bh, byte [eax - 0x4e]
out dx, eax
mov dl, 0xef
xor byte [eax - 8], dh
pushal
clc
in eax, dx
scasb al, byte es:[edi]
ljmp 0x511a
jg 0x415fe5
push dword [eax - 0x48]
jo 0x415fa0
and dword [eax - 0x4e], edi
js 0x415f9d
out dx, eax
xor byte [eax + 0x58], dh
add dword [ebx - 0x48], edi
add dword [edi + 0x3e], esi
ja 0x416033
fiadd word [edx]
ja 0x415fe9
sbb dword [edx + 0x73], edx
push 0x7262abf9
jb 0x415fbe
mov esp, 0xb87bb843
inc ebx
mov eax, 0xbc30b87b
inc ebx
jg 0x41607b
jnp 0x415fbe
xor byte [ebx + eax*2 - 0x12c18f81], bh
in eax, dx
das
jae 0x415fcc
jns 0x416011
push dword [ebx - 0x44]
jae 0x415fd0
jg 0x416015
push dword [eax - 0x51]
jo 0x415fc7
sub dword [eax], edi
movsd dword es:[edi], dword [esi]
mul bh
pop edi
das
das
das
pop eax
push dword [esp + esi*4 + 0xa]
jae 0x416066
je 0x416021
jae 0x415fe4
test dword [edx + 0x4e3ef28d], 0x2ee8702f
jae 0x415ff3
dec esi
das
jo 0x41601d
jae 0x415ff3
test dword [edx + 0x4e3ef28d], 0xbc782f6f
jg 0x416077
ja 0x416001
mov eax, 0xed3e7040
inc eax
jo 0x41608a
in eax, dx
outsd dx, dword [esi]
xor byte [ebx - 0x44], dh
outsd dx, dword [esi]
push dword [eax - 0x51]
jo 0x416004
daa
cmp byte [esi - 0x4787c3], ah
jo 0x416048
xor byte [edi], ch
das
das
sbb byte [ebx + 0x742e2e2e], dl
pushal
je 0x4160c9
clc
sbb ch, ch
xchg ebp, eax
xchg ebp, eax
pop ebp
dec esi
mov bl, 0x2f
das
das
das
das
dec esi
outsd dx, dword [esi]
das
jo 0x416000
ja 0x416031
sbb ecx, dword [edi - 0x46]
jo 0x4160db
push 0x70
pop ebx
lodsb al, byte [esi]
jno 0x416101
xchg edx, eax
push dword [edx - 0x4d88cf11]
invalid
mov esp, 0xf670f153
jae 0x4160f6
xor ebp, dword [edi]
das
das
das
mov eax, 0xf6703f70
xor edx, dword [ebx + 0x71]
das
das
das
pop ss
and ch, byte [0xc7772e2e]
js 0x416074
jae 0x416111
aaa
jnp 0x416079
emms
mov dl, 0xf3
dec edi
jo 0x416053
mov esi, edx
xchg ebp, eax
xchg ebp, eax
mov edi, 0x7b136074
mov eax, 0xf3b2770f
dec edi
jo 0x416062
dec esi
das
xor byte [edi - 0x4e], 0x1b
dec edi
ja 0x41609c
add byte [edi + 0x3e], 0xe5
xor dword [edi - 0x48], esi
cli
imul ecx, dword [esi - 0x6294a35d], 0xffffffa3
mov dword [0xa39d6b5c], eax
pushal
ja 0x4160b0
js 0x41613d
pop ss
fild qword [0xefb22e2e]
xor byte [edi - 0x7d4588ae], ah
inc edi
scasd eax, dword es:[edi]
imul ecx, dword [esi - 0x4d88b65c], 0xb87730f1
mov edx, 0x69af4782
mov fs, word [ecx + ecx*2 + 0x30f1b277]
ja 0x4160c7
add byte [edi + 0x77], 0xb2
ja 0x4160c5
dec edi
mov dh, dl
dec esi
outsd dx, dword [esi]
das
pushal
out dx, eax
sbb bl, byte [ecx]
dec esi
outsd dx, dword [esi]
das
out 0x2e, eax
sbb dl, byte cs:[esi]
mov edi, 0x1bb27782
dec edi
ja 0x4160ec
sbb ecx, dword [edi + 0x77]
mov edx, 0x67af4770
jo 0x41617b
scasd eax, dword es:[edi]
xor dword [bx - 0x48], 0xfffffffa
xor dword [edi - 0x48], 0xfffffffa
movsb byte es:[edi], byte [esi]
jle 0x4161b4
mov dl, 0xef
xor byte [edi - 0x48], dh
jo 0x41618b
pop ss
shr dword [esi], 0x2e
mov ah, 0xef
cmpsd dword [esi], dword es:[edi]
insd dword es:[edi], dx
mov edx, 0x826a5782
push edi
push 0xffffffffffffff82
pop ebx
lodsb al, byte [esi]
ja 0x4160e9
stc
ja 0x416121
mov dl, 0xf1
xor byte [ebx - 0x44], bh
xor edi, dword [eax + 0x77]
mov edx, 0xbc7d4f7a
ja 0x41611d
jp 0x4161b4
jge 0x416123
xor esi, eax
jo 0x416161
outsd dx, dword [esi]
xor ebp, dword [edi]
das
das
das
mov eax, 0xb8785782
push edi
js 0x41612e
outsd dx, dword [esi]
aaa
jnp 0x416132
out dx, eax
jo 0x416173
das
xor al, 0x2f
das
das
ja 0x416136
dec edi
mov dh, dl
dec esi
dec esi
das
je 0x4161ed
out dx, eax
jnp 0x416148
out dx, eax
ja 0x416145
dec edi
mov dh, dl
dec esi
outsd dx, dword [esi]
das
xor byte [edi - 0x4e], 0x1b
dec edi
ja 0x41615a
cli
ja 0x416161
js 0x4161ee
pop ss
sub al, 0x2e
je 0x41620e
out dx, eax
mov ah, 0xef
lodsd eax, dword [esi]
test al, 0x7b
mov edx, 0xba77477a
jp 0x4161f2
ja 0x41614f
invalid
pop eax
clc
ja 0x41622b
add byte [esi], bh
mov ebx, 0x2f2f2f00
jnp 0x4161fc
stc
ja 0x416187
add byte [edi + 0x25], 0x72
aas
xor esp, dword [ebx + 0x5369af38]
mov bl, 0xf2
das
das
das
mov edx, 0x7aba5782
pop ebx
push edi
mov edx, 0x27b25b7a
mov dl, 0x27
cmp byte [esi + 0x3e00687f], ch
mov ebp, 0x2f2f2fd7
mov ebp, 0x2f2f2fd7
das
ja 0x416187
stc
mov dl, 0xf1
xor byte [ebx - 0x44], bh
xor edi, dword [eax + 0x77]
js 0x416275
ja 0x4161b9
mov edx, 0xbc7d4f7a
jp 0x416250
jge 0x4161bf
xor esi, eax
jo 0x4161fd
outsd dx, dword [esi]
xor ebp, dword [edi]
das
das
das
mov eax, 0xb47c5782
adc byte [edi + 0x7c], 0xb4
mov ah, 0xf8
clc
mov bl, 0xb1
das
das
das
js 0x416211
imul byte [edi]
das
das
das
das
das
jl 0x4161da
ja 0x41625b
jo 0x4161de
outsd dx, dword [esi]
aas
jnp 0x4161e2
jb 0x41629b
outsd dx, dword [esi]
jnp 0x4161e6
out dx, eax
ja 0x4161e3
dec edi
mov dh, dl
xchg ebp, eax
dec esi
jae 0x416269
das
js 0x416224
invalid
jle 0x4162b3
jo 0x4162bf
invalid
mov esp, 0xaf700b72
daa
push 0xffffffffffffffa6
cmpsb byte [esi], byte es:[edi]
inc esi
js 0x416244
xor byte [ebx], dh
das
das
das
das
das
aaa
jl 0x4162a3
sal cl, cl
sal cl, cl
mov byte [0xa8af7036], al
cmp byte [ebp - 0x5d], bh
jo 0x41621a
test al, 0x38
jge 0x416212
sub byte [eax], 0xad
push esi
ja 0x416208
xchg edx, eax
stc
mov dl, 0xf1
xor byte [ebx - 0x44], bh
xor edi, dword [eax + 0x77]
ja 0x41623a
mov edx, 0xbc7d4f7a
jp 0x4162d1
jge 0x416240
xor esi, eax
jo 0x41627e
outsd dx, dword [esi]
xor ebp, dword [edi]
das
das
das
mov eax, 0xb51a5782
dec esi
mov bl, 0x2f
das
das
das
das
je 0x4162fd
pushal
out dx, eax
sbb dh, byte [edi + 0x772f4e3e]
mov dl, 0xf1
ja 0x416257
int1
xor byte [edx - 0x4788a486], bh
pop ebx
ja 0x416264
add byte [edi - 0x46], 0x82
push edi
mov dl, 0x27
cmp byte [esi], bh
mov ebp, 0x2e2e2e60
sbb byte [ebx + 0x3e2e2e2e], ch
dec esi
dec esi
outsd dx, dword [esi]
das
jae 0x41627f
xor byte [edi + 0x74], 0xbc
jno 0x416310
jo 0x416325
out dx, eax
jae 0x416288
mov eax, 0x687772
lodsd eax, dword [esi]
hlt
jb 0x416349
ja 0x41633b
push 0x77f4ad00
xchg edx, eax
add byte [ebp - 0xe6d880c], ch
int1
mov dl, 0xf1
xor byte [edi - 0x44], dh
cmp ebp, dword [edi + 0x77]
mov edx, 0x82b84f72
push edi
jnp 0x4162a5
outsd dx, dword [esi]
ja 0x41629c
jb 0x416333
mov eax, 0xbc7b5782
xor esi, edi
ja 0x4162a9
div dword [edi - 0x44]
xor al, 0
das
js 0x4162ea
das
das
das
das
das
js 0x4162b3
outsd dx, dword [esi]
aaa
jo 0x4162f5
outsd dx, dword [esi]
aas
inc esp
das
das
das
sbb byte [ebp + 0x2e], cl
mov edi, 0x82858370
ja 0x4162c3
test dword [edx + 0x4f1bb277], eax
mov dl, 0x1b
dec edi
sbb ecx, dword [edi + 0x77]
mov edx, 0xba774770
ja 0x4162cf
jo 0x41635e
ja 0x4162d3
mov al, byte [0x7167af6f]
ja 0x4162d8
cli
js 0x4162db
add esp, dword [ebx + 0x2f734e3e]
arpl word [esi], di
dec esi
dec esi
jae 0x416359
das
ja 0x4162df
out dx, eax
xor byte [edi - 0x48], dh
or byte [edi - 0x48], dh
jb 0x41637d
mov eax, 0x8f174772
sub eax, 0xb87c2e2e
pop ss
invalid
jl 0x4162f5
psubsw mm7, qword [ebx + 0x2f]
das
das
ja 0x4162fd
or byte [eax - 0x48], bh
invalid
pop ss
insb byte es:[edi], dx
sub dword [esi], ebp
js 0x416308
ja 0x41630d
jb 0x41639c
scasd eax, dword es:[edi]
jno 0x4162fc
add byte [ebx - 0x48], bh
emms
mov eax, 0xb2776fa2
dec edi
mov cl, byte [ebp - 0x400d7490]
test dword [edx + 0x571bb277], eax
jnp 0x41632d
jo 0x4163bc
jo 0x416326
and byte [si + 0x789f], 0xbc
outsd dx, dword [esi]
xor byte [edi - 0x48], dh
jo 0x4163ca
jo 0x4163c3
in eax, 0x6f
xor byte [ebx + 0x739ea4ef], dh
mov edx, 0x60743f70
jo 0x4163cf
je 0x4163f2
jo 0x4163cf
je 0x4163f2
add dword [eax - 0x4e], esi
getsec
mov dl, 0xf
aaa
jo 0x4163d7
invalid
dec edx
mov dl, 0x11
xor byte [ebx - 0x7f4588bb], ah
inc edi
in eax, 0x41
inc ecx
mov dl, 0x19
jb 0x41635c
sub dword [eax], esi
jmp 0x2f7092e4
mov esp, 0x3f39eb44
cmp dword [edi], edi
das
jo 0x4163a8
mov dword [0x7b2f2f2f], eax
mov esp, 0x2f30b7b9
das
das
jnp 0x416383
mov ecx, 0x2f2f30b7
das
das
sbb bh, byte [eax]
dec esi
dec esi
jae 0x416401
das
jae 0x416413
in eax, 0x31
jae 0x416440
out dx, eax
mov bl, 0xfa
das
das
das
ja 0x416394
int1
jnp 0x41644e
stc
movsb byte es:[edi], byte [esi]
sbb dword [ebp + 0x77ef60bf], edx
mov dl, 0xf3
push edi
mov cl, byte [ebp - 0x50b1c10e]
das
das
das
das
js 0x4163b9
invalid
outsd dx, dword [esi]
xor dword [edi - 0x48], esi
jo 0x41644a
inc edi
jo 0x416443
in eax, dx
outsd dx, dword [esi]
xor byte [ebx - 0x44], dh
outsd dx, dword [esi]
push dword [eax - 0x51]
mov esp, 0xaf70ff6f
scasd eax, dword es:[edi]
daa
cmp byte [ebp + 0x3e8e6b58], ah
mov ah, 0xb4
xor byte [edi], ch
das
je 0x41647c
invalid
out dx, eax
jae 0x416487
jo 0x416488
movsd dword es:[edi], dword [esi]
div dword [edi - 0x46]
jo 0x416486
jns 0x4163e3
xor ebp, edi
ja 0x4163df
push edi
mov cl, byte [ebp + 0x4e3e95f2]
dec esi
mov bl, 0x2f
das
das
das
das
imul ecx, dword [esi + 0x1600aa3], 0x1a
or ah, byte [eax + 1]
sbb ah, byte [edx + 0x3e]
add dword [edx], ebx
bound edi, qword [esi]
dec esi
dec esi
mov bl, 0x2f
das
das
das
das
jae 0x416409
mov esp, 0xbc750133
xor eax, dword [ecx]
jne 0x41640d
add dword [ebp - 0x44], esi
mov esp, 0x73ffaf73
push 0x77c1a6f1
mov edx, 0xed3e4780
jae 0x416402
push dword [ebx + 0x68]
int1
cmpsb byte [esi], byte es:[edi]
sal dword [edi - 0x46], 0x80
inc edi
in eax, dx
xor dword [ebx + 0x773ea3ef], esi
mov esp, 0xb8773071
xor byte [edi - 0x48], dh
jo 0x4164b3
in eax, dx
in eax, dx
xor dword [ebx - 0x72], ebp
mov dword [0xf1b87357], eax
imul ecx, dword [esi - 0x478ca85d], 0xfffffff1
jae 0x416434
outsd dx, dword [esi]
push dword [eax - 0x51]
daa
cmp byte [ebp + 0x6fbc73fa], ah
cli
jae 0x41643e
outsd dx, dword [esi]
out dx, al
jo 0x416435
daa
dec eax
mov dh, 0x8c
jae 0x41644c
xor eax, dword [ecx]
jne 0x416450
jae 0x416445
clc
sbb ch, dl
xchg ebp, eax
mov edi, 0x30efb270
sbb byte [eax + 0x3e2e2e2e], ch
dec esi
mov dl, 0xef
xor byte [eax], bl
test al, 0x2e
dec esi
scasd eax, dword es:[edi]
das
das
das
das
jnp 0x416467
mov dword [edi + 0x73], edx
mov edx, 0xba735770
jae 0x41646f
js 0x416512
jl 0x41646d
or ah, byte [ebx + 0x5f89ba6a]
je 0x416529
mov edx, 0x68745f89
idiv dword [esi]
mov esp, 0x2f2f2fff
js 0x41645c
out dx, eax
jo 0x41647f
out dx, eax
xor byte [edi - 0x44], dh
arpl word [edi + 0x77], bp
mov edx, 0xbc774f70
xor ebx, dword [edi]
imul byte [edi + 0x33]
das
das
das
das
jae 0x41649c
jo 0x41653d
imul byte [edi]
das
inc edi
das
das
das
jnp 0x4164a6
xchg dword [edi], esi
mov eax, 0xb8773f87
xchg dword [edi], edi
ja 0x4164ad
jo 0x416566
je 0x4164ad
add dword [esi], edi
mov bl, 0xb7
mov bl, 0xb7
das
das
das
jnp 0x4164bc
add dword [edi - 0x46], 0x80304f81
ja 0x41657f
xor byte [edi + 0x74], 0x68
je 0x416574
push 0xb0bc3ef7
das
das
idiv dword [esi]
mov esp, 0x2f2f2fb0
das
js 0x4164a7
out dx, eax
jo 0x4164ca
out dx, eax
xor byte [ebx - 0x44], bh
cmp ebp, dword [edi + 0x77]
mov edx, 0xbc794f70
xor esi, edi
imul byte [edi + 0x33]
das
das
das
das
jae 0x4164e7
mov eax, 0x2ff65770
jo 0x416588
imul byte [edi]
inc edi
das
das
das
jnp 0x4164f1
jg 0x416572
mov eax, 0xba773f7f
aas
ja 0x4164fa
add byte [edi - 0x51], 0x69
jno 0x416584
mov ah, 0xd1
sub eax, 0xb8772e2e
int1
ja 0x416508
jnp 0x4165a5
outsd dx, dword [esi]
pop ss
loop 0x416582
ja 0x41650e
out dx, eax
mov bl, 0xb9
sub eax, 0xba772e2e
jnp 0x4165b8
outsd dx, dword [esi]
mov edx, 0x806a6780
imul edi, dword [esi], 0xffffffbc
test al, 0x2d
jnp 0x41652e
jnp 0x41652e
jo 0x4165d5
jnp 0x41650a
stc
mov dl, 0xf1
int1
xor byte [edx - 0x48], bh
xor esi, edi
mov eax, 0x94186780
idiv dword [eax - 0x6be79880]
sbb byte [si + 0x2e2d], dl
jnp 0x416544
sbb byte [ebp + ebp - 0x4584d1d2], dl
xchg esp, eax
sub eax, 0xba7b2e2e
jnp 0x416544
jnp 0x416544
xor dword [edi], 0x183f81ba
mov byte [0x602e2e2e], al
out dx, eax
sbb dl, ch
pushal
out dx, eax
sbb byte [ebx + 0x732e2e2e], al
mov esp, 0xaf70ee6f
daa
dec eax
mov ch, 0xc1
sub eax, 0x9182e2e
sub al, 0x2e
xchg ebp, eax
dec esi
mov bl, 0x2f
das
das
das
das
xor byte [edi - 0x4e], 0x1b
dec edi
ja 0x41657a
cli
mov ah, 1
movsb byte es:[edi], byte [esi]
dec esi
ja 0x416583
jo 0x416612
scasd eax, dword es:[edi]
das
movsb byte es:[edi], byte [esi]
cmp ah, byte [eax - 0x11]
ja 0x416586
dec edi
dec edi
mov dh, dl
dec esi
dec esi
das
ja 0x416599
jg 0x41660f
ja 0x416599
add byte [edi + 0x3e], 0xed
aas
mov dl, 0x29
xchg edi, eax
mov dword [0xa529b26f], eax
movsb byte es:[edi], byte [esi]
emms
mov esp, 0xe117477a
sub byte [esi], ch
ja 0x4165b5
jb 0x416644
scasd eax, dword es:[edi]
mov fs, word [si + 0x77fd]
mov dl, 0xef
xor byte [edi - 0x48], dh
jb 0x416651
pop ss
retf
ja 0x4165cb
jb 0x41665a
inc edi
scasd eax, dword es:[edi]
mov fs, word [si + 0x77e7]
mov dl, 0xef
xor byte [edi - 0x48], dh
jb 0x416667
out 0x30, eax
das
das
das
ja 0x4165d9
dec edi
mov dh, dl
ja 0x4165e9
jp 0x416676
pop ss
cmpsb byte [esi], byte es:[edi]
sub byte [esi], ch
sbb cl, byte cs:[eax]
dec esi
jae 0x416669
das
in eax, 0x40
ja 0x4165f8
idiv dword [ecx + edi*2 + 0x5628afe4]
movsd dword es:[edi], dword [esi]
scasd eax, dword es:[edi]
sub byte [esi - 0x5b], dl
inc ecx
scasd eax, dword es:[edi]
sub dword [ebx - 0x5d], esi
push esp
pushal
out dx, eax
xchg ebp, eax
xchg ebp, eax
pop ebp
dec esi
mov bl, 0x2f
das
das
das
das
ja 0x416644
xor byte [edi], dh
das
das
scasd eax, dword es:[edi]
das
das
das
ja 0x416669
pop ss
mov dl, 0xf
xor dl, dh
dec esi
wrmsr
dec esi
scasd eax, dword es:[edi]
das
das
das
das
in eax, 0x7f
xor byte [ecx + esi*2 + 0x3e306bb8], bh
invalid