Function at 0x1039dc64
Capabilities:
Encode data using xor

Disassembly:
jmp 0x1039dc6e
pushal
call 0x1039dc74
pop ebp
sub ebp, 0x10
sub ebp, 0x39dc64
mov al, byte [esp + 0x28]
cmp al, 1
je 0x1039dc98
popal
xor eax, eax
inc eax
ret 0xc
jmp 0x1039dca1
add ch, al
ret
mov eax, 0x39dc64
add eax, ebp
add eax, 0x63
mov ecx, 0x602
mov edx, 0x53ac925b
xor byte [eax], dl
inc eax
dec ecx
jne 0x1039dcb8
invalid
jmp 0x1039dccb
rcl byte [esi + 0x5b67d2d0]
pop ebx
pop ebx
ficomp dword [edx + 0x5b5b5ba3]
pop eax
xchg esi, eax
jecxz 0x1039dd37
pop ebx
pop ebx
pop ebx
loope 0x1039dd55
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 0x1039dc9c
rcr byte [edi + 0x7f], cl
or esi, dword [ebx]
shl dword [ecx], cl
push ebp
pop ebx
xor eax, dword [edi + 0x5a5b703a]
pop ebx
pop edx
ja 0x1039dd85
xor edx, eax
loopne 0x1039dd7d
in al, dx
mov bl, 0x5e
pop ebx
pop ebx
pop ebx
mov dl, 0x75
pop ebx
pop ebx
pop ebx
salc
aas
jg 0x1039dcc0
sal byte [edi + 0x7f], cl
clts
rcr dh, 1
push ebx
pop ebx
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
cdq
push edi
pop ebx
rcl bh, 1
jg 0x1039dda6
pop ebx
pop ebx
pop ebx
xor edx, ebx
and dword [ebp + 0x5b], edx
xor eax, dword [edi + 0x5a5b703a]
ja 0x1039ddd6
salc
aas
jg 0x1039dd02
rcl byte [edi + 0x7f], cl
mov bl, 0x5e
pop ebx
pop ebx
pop ebx
mov dl, 0x10
pop ecx
pop ebx
pop ebx
salc
aas
jg 0x1039dd13
sal byte [edi + 0x7f], cl
clts
movsb byte es:[edi], byte [esi]
push edi
movsb byte es:[edi], byte [esi]
push ebx
mov bl, 0x23
pop ebx
pop ebx
pop ebx
shl dh, 1
push ebx
out 0x53, al
pop ebx
pop ebx
pop ebx
push 0xc9a9da92
test byte [eax - 0x26], ch
test eax, 0xda6884c9
fisubr dword [ecx - 0x25977b37]
push 0x5eb3d889
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
invalid
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
jb 0x1039dde9
bound ebx, qword [ecx - 0x28]
lcall 0xb3d8, 0x5fb1d85d
pop esi
mov dl, 0xf0
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
movsb byte es:[edi], byte [esi]
sal byte [edi + 0x7f], 1
salc
aas
jg 0x1039de50
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 0xea97afe1
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 0x1039df04
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 0x1039de69
loopne 0x1039df2d
pop ebx
pop ebx
pop ebx
push esp
fisubr word [edi + 0x5b]
pop ebx
pop ebx
loop 0x1039df38
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
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]
pop ebx
pop ebx
pop ebx
fimul dword [edx + 0x5b5b5b5b]
fisub dword [ebx + 0x5b5b5bdb]
fimul dword [edx + 0x5b5b5b5b]
or eax, 0xab70acd0
test al, 0xff
add eax, 0xa4a5c0b2
movsb byte es:[edi], byte [esi]
rcr dword [ebp + 0x1d], 1
shl byte [ebp + 0x5dd1a4a4], 0x1d
push 0x5ab39b92
push esp
fild word [ecx + 0x5b]
pop ebx
pop ebx
fimul dword [edx + 0x5b5b5b59]
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 0x1039dfce
push ebx
rcr byte [esp + eax + 0x6bed005], 1
cdq
push ebx
pop ebx
shl byte [edi + 0x7f], 1
salc
aas
jg 0x1039e019
shr byte [edi + 0x7f], 1
salc
aas
jg 0x1039e020
mov dl, 0x5f
pop ebx
pop ebx
pop ebx
test eax, 0xe30f853a
aas
xchg dword [edx + 0x5b], esp
pop ebx
pop eax
sahf
ficomp dword [ebx + 0x5b5b58d7]
loop 0x1039df5b
pop ecx
pop ebx
pop ebx
loope 0x1039df79
push edi
mov dh, 0xaa
imul ecx, dword [ebx + 0x1b], 0x12
push esp
fisubr word [ebp - 0x4d5b5b5c]
pop edi
pop ebx
pop ebx
pop ebx
and al, 0xae
ljmp 0xa7e5
wait
mov al, 0x43
adc ah, cl
wait
sbb al, 0x62
adc dl, ah
lahf
sbb al, 0x62
sbb ah, byte [ecx - 0x65]
bound ebx, qword [edx]
popal
wait
wait
wait
wait
xchg esp, eax
pop ds
fstp qword [ebx + 0x4d989b9b]
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 ebx
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 0x1039e0bc
jb 0x1039e00d
wait
wait
wait
clc
and ah, byte [eax + 3]
and edi, edi
inc edi
mov byte [0x1a5e989b], al
pop ebx
lodsb al, byte [esi]
wait
cwde
pop esi
sbb bl, byte [ebx - 0x54]
lahf
wait
wait
and dh, byte [ebp + 0x219b9b99]
push edx
movsd dword es:[edi], dword [esi]
xchg edx, eax
fldcw word [ebx - 0x6b2d2475]
fcmovnbe st(0), st(2)
xchg esp, eax
push ds
insd dword es:[edi], dx
jb 0x1039e037
wait
wait
wait
cmpsb byte [esi], byte es:[edi]
jl 0x1039e08e
loope 0x1039e079
sub al, 0x6e
fldz
rcl byte gs:[edx + 0x52], cl
push edx
push ecx
lodsb al, byte [esi]
shr dword [0xd65d525e], 1
loopne 0x1039e105
push edx
push edx
fst dword [0x294515e]
lodsd eax, dword [esi]
invalid
push edx
push edx
pop ebp
xlatb
pop esi
push edx
push edx
push edx
fst dword [0x294515e]
lodsd eax, dword [esi]
invalid
shr dword [0xd75d5252], 1
pop eax
push edx
push edx
push edx
shr dword [0xd65d5242], 1
push edx
push edx
push edx
fbstp tbyte [esi]
jbe 0x1039e0a9
fstp xword [esi + 0x76]
fild word [edi]
push edx
fnstcw word [0xd1bc5142]
das
push edx
push edx
mov esp, 0x52522fd1
pop ebp
salc
sbb dword [edx + 0x52], edx
push edx
fstp dword [edi]
push edx
fbstp tbyte [esi]
jbe 0x1039e0c5
fist dword [esi + 0x76]
add byte [ecx - 0x65], bl
pop ebp
fist dword [edx + edx*2 + 0x52]
push edx
add edi, dword [ebx + 0x5252525d]
push edx
push edx
push edx
push ecx
pushfd
rcl dword [ebx + 0x52525250], cl
push eax
push edx
push edx
push edx
fbstp tbyte [esi]
jbe 0x1039e0e3
fistp dword [esi + 0x76]
fbstp tbyte [esi]
jbe 0x1039e0ea
fist dword [esi + 0x76]
lodsd eax, dword [esi]
sal dh, 0x32
jns 0x1039e197
or bl, bl
pop ss
push edx
fst dword [esi + 0x76]
fbstp tbyte [esi]
jbe 0x1039e1a6
rcl dword [edi + 0x52525256], cl
mov ebx, 0xadadadf9
psrlq mm2, qword [ebp + 0x52525246]
mov ebx, 0xadadad16
push es
lodsd eax, dword ss:[esi]
push edx
push edx
push edx
push edx
cmp bl, byte [eax - 0x20ad9450]
jbe 0x1039e126
fstp xword [esi + 0x76]
fbstp tbyte [esi]
jbe 0x1039e12d
invalid
xor eax, 0x272333f
and byte [0x26313726], bh
cmp eax, 0x37247220
aaa
and byte [ecx], ah
cmp edi, dword [0x7c63723c]
popal
arpl word [edi + 0x58], bx
push ss
aaa
and al, 0x37
cmp eax, 0x68203722
jb 0x1039e1c3
xor esi, dword ds:[esi]
cmp edi, dword [edi]
aas
cmp esp, dword [eax]
jb 0x1039e1c9
daa
cmp dword [edx], edi
cmp eax, 0x1585f24
cmp esp, dword [esi]
aaa
jb 0x1039e23d
jb 0x1039e211
and ah, byte es:[ecx]
push 0x3c377d7d
cmp esi, dword [0x2022333f]
cmp eax, 0x26313726
cmp eax, 0x3d317c20
aas
jge 0x1039e252
pop eax
pop ss
jg 0x1039e236
xor edi, dword [ebx]
jb 0x1039e264
jb 0x1039e21f
daa
and ah, byte [edx]
cmp eax, 0x37122620
cmp al, 0x3b
xor eax, 0x2022333f
cmp eax, 0x26313726
cmp eax, 0x3d317c20
cmp eax, 0x3d317c20
aas
pop edi
pop eax
pop es
cmp al, 0x20
aaa
xor eax, 0x3726213b
cmp esp, dword [ecx]
aaa
and byte [edi], dh
jb 0x1039e249
cmp esi, dword [0x2726333c]
and byte [edi], dh
pop edi
pop eax
push es
cmp bh, byte [ebx]
and dword [edx + 0x22], esi
jb 0x1039e25a
and byte [0x3f332035], bh
aas
jb 0x1039e262
and byte [0x26313726], bh
aaa
jb 0x1039e26f
and eax, 0x723a263b
pop es
cmp esp, dword [esi]
cmp dh, byte [edx + 7]
sbb al, 0
pop ss
adc eax, 0x6011b
pop ss
push ss
jb 0x1039e25f
add al, 0x17
pop ss
add byte [ecx], al
sbb ebx, dword [0x343d721c]
sbb eax, 0x343d721c
cmp eax, 0x3a067234
aaa
jb 0x1039e26c
cmp dh, byte [edi]
jb 0x1039e281
cmp al, 0x3b
xor eax, 0x272333f
jb 0x1039e273
and byte [0x26313726], bh
aaa
xor dword [esi], esp
cmp eax, 0x1b585f20
jb 0x1039e2b0
xor edi, dword [esi*2 + 0x37307226]
jne 0x1039e2a9
jb 0x1039e2b5
aaa
jb 0x1039e2be
cmp esp, dword [ecx]
and byte es:[ebx], bh
xor byte [edi], ah
aaa
jb 0x1039e2d1
and byte [edx + 0x27], dh
and dword [edi], esi
jb 0x1039e2d7
cmp al, 0x72
xor dword [0x20373f3f], edi
xor dword [ebx], edi
xor edi, dword [esi]
jb 0x1039e2cc
and ah, byte [edi]
daa
and byte [edx], ah
cmp eax, 0x585f3721
pop edi
pop eax
pop es
sbb al, 0
pop ss
adc eax, 0x1706011b
add byte [edi], dl
push ss
jb 0x1039e2c2
add byte [0x6111706], bl
push es
pop ss
adc dword [esi], eax
sbb ebx, dword [0x1521c]
add byte [eax], al
mov byte [0xf6b40000], cl
add byte [eax], al
aam 0xd0
add byte [esi + esi*8 - 0x2f2c0000], dh
sar byte [esi - 0x21873e02], 1
mov esi, 0xde78c1fe
invalid