Function at 0x10492424
Capabilities:
Encode data using xor

Disassembly:
jmp 0x1049242e
pushal
call 0x10492434
pop ebp
sub ebp, 0x10
sub ebp, 0x492424
mov al, byte [esp + 0x28]
cmp al, 1
je 0x10492458
popal
xor eax, eax
inc eax
ret 0xc
jmp 0x10492461
add ch, al
jbe 0x1049247a
ret 0x24b8
mov eax, 0x492424
add eax, ebp
add eax, 0x63
mov ecx, 0x5f2
and al, 0x49
add byte [ebx], al
lds eax, [ecx + 0x63c0]
add byte [ecx + 0x5f2], bh
mov edx, 0xf34b0d5b
xor byte [eax], dl
inc eax
dec ecx
jne 0x10492478
jmp 0x1049248b
rcl byte [esi + 0x5b67d2d0]
pop ebx
pop ebx
ficomp dword [edx + 0x5b5b5ba3]
pop eax
xchg esi, eax
jecxz 0x104924fa
pop ebx
pop ebx
pop ebx
loope 0x10492515
pop ebx
pop ebx
pop ebx
lodsb al, byte [esi]
mov ecx, 0xdad09358
push edi
pop ebx
pop ebx
pop ebx
pop eax
sahf
salc
aas
jg 0x1049245c
rcr byte [edi + 0x7f], cl
salc
aas
jg 0x10492463
rcr byte [edi + 0x7f], cl
xor esi, dword [ebx + 0x335b5527]
pushal
cld
popal
pop ebx
pop edx
ja 0x1049254b
xor esp, edi
fstp xword [edx + 0x5b5eb3e1]
pop ebx
pop ebx
mov dl, 0x73
pop ebx
pop ebx
pop ebx
push cs
sal byte [edi + 0x5b53ded0], 1
pop ebx
pop ebx
ror dh, 1
push edi
pop ebx
pop ebx
pop ebx
rcl dh, 1
dec ebx
pop ebx
pop ebx
pop ebx
lcall 0x99d8, 0x596a59b2
pop edi
adc dl, byte [esi + ebx*8 - 0x51]
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
push es
fisubr word [edi + 0x6a4a4a4]
cdq
push edi
pop ebx
rcl bh, 1
jg 0x10492566
pop ebx
pop ebx
pop ebx
xor esi, dword [ebx + 0x335b5527]
pushal
cld
popal
pop ebx
pop edx
ja 0x10492596
or dh, byte [ebx + 0x5b5b5b5e]
mov dl, 0x6e
pop ecx
pop ebx
pop ebx
push cs
salc
aaa
jg 0x10492582
movsb byte es:[edi], byte [esi]
push edi
movsb byte es:[edi], byte [esi]
push ebx
mov bl, 0x3d
pop ebx
pop ebx
pop ebx
shl dh, 1
push ebx
pop ebx
pop ebx
pop ebx
push 0xd8896892
mov bl, 0x5e
adc edx, dword [edi + ebx*8 + 0x15]
pop ebx
pop ebx
pop ebx
push esp
rcl dword [ebx], cl
pop ebx
pop ebx
pop ebx
cmp eax, 0xdb6247d0
mov al, byte [0x41df54b3]
pop ebx
pop ebx
pop ebx
invalid
jle 0x104925bc
fisttp word [esi + 0x5b]
pop ebx
pop ebx
sbb dh, byte [edx - 0x5b5b5b69]
jb 0x1049258c
bound ebx, qword [edx - 0x28]
lcall 0xe6b2, 0x5fb3d85e
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
jb 0x10492593
bound ebx, qword [ecx - 0x28]
lcall 0xb3d8, 0x5fb1d85d
pop esi
mov dl, 0xf0
movsb byte es:[edi], byte [esi]
fdiv dword [ebx - 0x5b0f4da2]
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
push es
cdq
push edi
pop ebx
push cs
sal byte [edi - 0x2ff1f3f3], 1
push edi
shl byte [esi], 1
push ebx
cmpsd dword [esi], dword es:[edi]
jmp 0xeaa6f785
pop ecx
mov dword [esi + ebx*8 + 0x5e], edx
pop ebx
pop ebx
pop ebx
ror dword [ebp + 0x1d], 1
dec ecx
mov dword [eax + ebx*8 - 0x7d], edx
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
pop ecx
mov dword [esi + ebx*8 + 0x5e], edx
pop ebx
pop ebx
pop ebx
ror dword [ebp + 0x1d], 1
dec ecx
mov dword [eax + ebx*8 + 0x31], edx
pop ebx
pop ebx
pop ebx
push 0x5489599b
ficomp word [esi + 0x5b]
pop ebx
pop ebx
ror dword [ebp + 0x1d], 1
dec ecx
mov dword [eax + ebx*8 + 0x71], edx
pop edx
pop ebx
pop ebx
pop ecx
mov dword [esi + ebx*8 + 0x5e], edx
pop ebx
pop ebx
pop ebx
ror dword [ebp + 0x1d], 1
dec ecx
mov dword [eax - 0x65], ecx
pop ecx
mov dword [esi + ebx*8 + 0x5e], edx
pop ebx
pop ebx
pop ebx
ror dword [ebp + 0x1d], 1
dec ecx
mov dword [eax - 0x65], ecx
pop ecx
mov dword [esi + ebx*8 + 0x5e], edx
pop ebx
pop ebx
pop ebx
ror dword [ebp + 0x1d], 1
dec ecx
mov dword [eax - 0x65], ecx
pop ecx
mov dword [esi + ebx*8 + 0x5e], edx
pop ebx
pop ebx
pop ebx
ror dword [ebp + 0x1d], 1
dec ecx
mov dword [eax - 0x65], ecx
push esp
fistp word [ebp + 0x5b]
pop ebx
pop ebx
rol byte [eax + esi*2 - 0x2ca72e7d], 1
pop esp
sbb al, 0xe0
pop ecx
pop ebx
pop ebx
pop ebx
mov dl, 0x2b
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
jecxz 0x104926a8
pop ebx
pop ebx
pop ebx
pop ecx
mov dword [esi + ebx*8 + 0x5e], edx
pop ebx
pop ebx
pop ebx
ror dword [ebp + 0x1d], 1
dec ecx
mov dword [eax - 0x65], ecx
pop ecx
mov dword [esi + ebx*8 + 0x5e], edx
pop ebx
pop ebx
pop ebx
ror dword [ebp + 0x1d], 1
dec ecx
mov dword [ecx + ebx*8 - 0x7b], edx
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
jo 0x1049260d
loopne 0x104926d1
pop ebx
pop ebx
pop ebx
push esp
fisubr word [edi + 0x5b]
pop ebx
pop ebx
loop 0x104926dc
pop ebx
pop ebx
pop ebx
pop ecx
mov dword [esi + ebx*8 + 0x5e], edx
pop ebx
pop ebx
pop ebx
ror dword [ebp + 0x1d], 1
dec ecx
mov dword [eax - 0x6e], ecx
pop ecx
mov dword [esi + ebx*8 + 0x5e], edx
pop ebx
pop ebx
pop ebx
ror dword [ebp + 0x1d], 1
dec ecx
mov dword [ecx + ebx*8 - 0x7b], edx
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
or eax, 0xae70acd0
test al, 0xff
add eax, 0xa4a453b2
shr byte [eax + esi*2 + 0x5ffa8ae], 1
mov dl, 0x53
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
adc ebx, dword [edx + 0x5dd153bb]
sbb eax, 0x5ae2b3d0
pop ebx
pop ebx
pop ebx
pop ecx
mov dword [esi + ebx*8 + 0x5e], edx
pop ebx
push esp
ficomp word [esi + 0x5b]
pop ebx
pop ebx
ror dword [ebp + 0x1d], 1
dec ecx
mov dword [eax - 0x6e], ecx
pop ecx
mov dword [esi + ebx*8 + 0x5e], edx
pop ebx
pop ebx
pop ebx
ror dword [ebp + 0x1d], 1
dec ecx
mov dword [ecx + ebx*8 - 0x7b], edx
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
fisub dword [ebx + 0x5b5b265b]
fiadd dword [edx - 0x5b5b5b5c]
fisub dword [ebx + 0x5b5b5e5b]
fiadd dword [edx - 0x5b5b5b5c]
fisub dword [ebx + 0x5b5b5bdb]
fimul dword [edx + 0x5b5b5b5b]
fisub dword [ebx + 0x5b5b5bdb]
fimul dword [edx + 0x5b5b5b5b]
or eax, 0xab70acd0
jo 0x104926c4
test al, 0xff
add eax, 0xa4a5c0b2
movsb byte es:[edi], byte [esi]
rcr dword [ebp + 0x1d], 1
push 0x5ab39b92
mov bl, 0x5a
push esp
fild word [ecx + 0x5b]
pop ebx
pop ebx
fimul dword [edx + 0x5b5b5b59]
pop ebx
pop ebx
pop ebx
sal byte [ebx + 0x70acd00d], 1
stosd dword es:[edi], eax
test al, 0xff
add eax, 0x5b5b5ae0
pop ebx
mov dl, 0x28
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
push es
jo 0x10492772
push ebx
rcr byte [esp + eax + 0x6bed005], 1
cdq
push ebx
pop ebx
add al, 0xd0
outsd dx, dword [esi]
jg 0x10492732
aas
jg 0x104927be
mov dl, 0x5f
pop ebx
pop ebx
pop ebx
test eax, 0xe3c5430b
jg 0x104927ea
adc bl, byte [ebx + 0x58]
sahf
ficomp dword [ebx + 0x5b5b5831]
pop eax
pop ebx
pop ebx
loop 0x10492727
pop ecx
pop ebx
pop ebx
loope 0x10492717
cmp byte [esi + 0x1b4b6b2b], dh
adc dl, byte [esi + ebx*8 - 0x53]
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
mov dl, 0x5f
pop ebx
pop ebx
pop ebx
and al, 0x7b
push ebp
and al, 0x1c
adc ch, ah
cmpsd dword [esi], dword es:[edi]
adc byte [edi], ah
lodsb al, byte [esi]
cmp ebx, dword [ebx + 0x65989b9b]
adc byte [ebp + 0x10], al
frstor dword [edi - 0x5054e0f0]
stosd dword es:[edi], eax
scasd eax, dword es:[edi]
wait
wait
wait
mov al, 0x43
adc ah, cl
wait
adc ah, dl
lahf
sbb ah, byte [ecx - 0x65]
wait
wait
wait
xchg esp, eax
pop ds
fstp qword [ebx + 0x4d989b9b]
wait
wait
cwde
dec ebp
sbb bl, byte [ebx + edx*4 - 0x65]
wait
wait
sbb dh, byte [edx - 0x6d]
wait
wait
wait
sbb ah, byte [edx - 0x65]
wait
wait
wait
xchg esp, eax
pop ds
dec edi
std
adc byte [edx + ebx*2 + 0x7b189773], bl
xchg esp, eax
sbb ah, byte [ebx - 0x68]
wait
wait
wait
xchg esp, eax
push ds
xchg esi, eax
wait
wait
wait
std
adc byte [edx + ebx - 0x646b9b85], bl
wait
cwde
pop ecx
lcall 0x995c, 0x18d2d283
jb 0x10492856
jb 0x104927a7
wait
wait
wait
clc
psubusb mm3, qword [ecx]
and edi, dword [edi - 0x67642d41]
wait
cwde
pop esi
sbb bl, byte [ebx - 0x76]
lahf
wait
wait
and bl, bh
cdq
wait
wait
and dword [edx + 0x3a], edx
fidiv word [eax]
stosd dword es:[edi], eax
mov ebx, ebx
rcl byte [esi + ebx + 0x6464646d], cl
jb 0x104927d1
wait
wait
wait
cmpsb byte [esi], byte es:[edi]
daa
cmpsd dword [esi], dword es:[edi]
je 0x10492813
sub al, 0x6e
fldz
rcl byte gs:[edx + 0x52], cl
push edx
push ecx
lodsb al, byte [esi]
shr dword [0xd65d525e], 1
xchg esp, eax
push edx
push edx
push edx
invalid
add ch, byte [ebp + 0x6ba01ec7]
push edx
shr dword [edx + 0x52525252], cl
pop ebp
xlatb
pop esi
push edx
push edx
push edx
fst dword [0x294515e]
lodsd eax, dword [esi]
invalid