Function at 0x9145a4
Capabilities:
Encode data using xor

Disassembly:
aad 0xaa
jmp 0xb90041ca
jmp 0x9145ae
pushal
call 0x9145b4
pop ebp
sub ebp, 0x10
sub ebp, 0x5145a4
jmp 0x9145ca
mov eax, 0x5145a4
add eax, ebp
inc ebp
push ecx
add byte [ebx], al
lds eax, [ecx + 0x4cc0]
add byte [ecx + 0x5f1], bh
add eax, 0x4c
ror byte [eax + eax], 0
mov ecx, 0x5f1
mov edx, 0xbd47b072
xor byte [eax], dl
inc eax
dec ecx
jne 0x9145e1
jmp 0x9145f4
stc
mov edi, 0x724efbf9
jb 0x91466e
mov bl, 0x8a
jb 0x914673
jb 0x914674
mov edi, 0x727274ca
jb 0x9145d2
pop edx
jb 0x91467f
jb 0x914594
nop
jno 0x9145cc
stc
jle 0x914688
jb 0x91468a
jno 0x9145d1
call dword [esi]
push esi
invalid
jbe 0x91467e
sbb dh, byte [esi - 0x3e]
jl 0x91469f
sbb ch, bh
out 0x30, eax
jb 0x9146a6
pop esi
push esi
sbb bl, byte [0x9ab1d860]
ja 0x9146af
jb 0x9146b1
wait
inc esi
jb 0x9146b5
jb 0x914644
call dword [esi]
push ss
push esi
invalid
stc
pop esi
push esi
call dword [esi]
push esi
jbe 0x914626
jle 0x9146ea
stc
invalid
jb 0x91469a
sbb dh, byte [esi - 0x3e]
jbe 0x914644
jl 0x9146f6
sbb ch, bh
out 0x30, eax
jb 0x9146fd
pop esi
push esi
call dword [esi]
push esi
invalid
jo 0x91470e
jb 0x9146c5
stc
sahf
lea eax, [edi]
jle 0x914631
pop es
jp 0x914641
lcall 0xcff9, 0x7272721e
jp 0x914721
push ds
jb 0x91471c
jb 0x9146a5
iretd
jb 0x914723
inc ecx
mov ebx, 0x9af1a041
ja 0x9146f3
int1
lcall 0x723c, 0xf67d3a77
jge 0x9146b1
cmp al, 0x72
jb 0x914731
jge 0x9146bb
cmp dh, byte [edx + 0x72]
jb 0x9146da
adc al, 0xf9
stc
outsb dx, byte [esi]
dec ebx
mov dword [edx + 0x7268f67d], ebx
jb 0x914744
mov dword [ebx + 0x7263f67d], ebx
jb 0x91474d
jb 0x9146f0
adc al, 0xf3
mov dword [ebp + 0x67f67d57], ecx
mov dword [ebp + 0x67f67d57], ecx
jb 0x914757
jb 0x914757
jb 0x91471a
wait
mov esi, 0x5b8d8d8d
dec ebx
jae 0x9146e2
lea ecx, [ebp + 0x734b3e5b]
int1
mov bl, 0x77
int1
lcall 0x8d8d, 0x8dcf9b76
pop ebx
dec ebx
wait
iretd
dec ebx
jo 0x9146f1
mov bl, 0x74
int1
cwde
jbe 0x9146f7
lcall 0x8d8d, 0x8dd99b77
stc
pop esi
push esi
call dword [esi]
push esi
jbe 0x9146c5
jle 0x914789
daa
stc
sahf
and al, 0x25
daa
stc
pop es
jle 0x91471a
invalid
mov es, eax
clc
sal dl, 0xf8
je 0x91471c
mov ah, 0x73
jb 0x91479f
jb 0x914729
jne 0x914724
mov ch, 0x73
jb 0x9147a7
jb 0x914700
leave
jo 0x9147ab
jb 0x9147ad
jo 0x9146dd
jge 0x914736
ja 0x9147b3
jb 0x9147b5
clc
xor al, 0x60
mov al, byte [0x8daaf17d]
lea ecx, [ebp - 0x8825f90]
int1
stosb byte es:[edi], al
lea ecx, [ebp + 0x7da0708d]
div dword [edi + 0x72]
lea esi, [eax - 0x60]
jge 0x914749
ja 0x9147c6
jb 0x9147c8
clc
xor al, 0x60
mov al, byte [0x7218f17d]
jb 0x9147d3
inc ecx
mov dl, 0x70
mov al, byte [0x7277f77d]
jb 0x9147dd
clc
xor al, 0x60
mov al, byte [0x7358f17d]
jb 0x9147e8
int1
pop eax
jae 0x9147e7
jb 0x9147e7
jo 0x914718
mov al, byte [0x7277f77d]
jge 0x914771
ja 0x9147ee
jb 0x9147f0
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0xa070b261]
jge 0x914780
ja 0x9147fd
jb 0x9147ff
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0xa070b261]
jge 0x91478f
ja 0x91480c
jb 0x91480e
clc
xor al, 0x60
xor al, 0x60
pushal
mov al, byte [0xa070b261]
jge 0x91479e
mov al, byte [0x7277f77d]
div dword [edi + 0x72]
ja 0x91481b
jb 0x91481d
jb 0x9147a4
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0xf67db261]
jge 0x9147aa
div byte [edx + esi*2 + 0x72]
je 0x914828
jb 0x914829
jb 0x91482a
jb 0x9147b2
stc
lodsd eax, dword [esi]
pop ecx
stosb byte es:[edi], al
clc
jno 0x9147b9
jne 0x9147f6
leave
jo 0x914836
jb 0x914838
wait
add cl, byte [ebp + 0x73ca8d8d]
jb 0x914841
lea ecx, [ebp + 0x7273ca8d]
jb 0x914842
retf 0x7273
jb 0x914841
jo 0x914772
mov al, byte [0x7277f77d]
jge 0x9147cb
div dword [edi + 0x72]
ja 0x914848
jb 0x91484a
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0xa070b261]
jge 0x9147da
popal
mov dl, 0x70
mov al, byte [0x7277f77d]
ja 0x914857
jb 0x914859
clc
xor al, 0x60
mov al, byte [0x8dacf07d]
lodsb al, byte [esi]
lea ecx, [ebp - 0x364ea673]
lea ecx, [ebp + 0x73c9b159]
pop ecx
mov cl, 0xc9
jae 0x914869
jb 0x91486a
jb 0x91486b
jb 0x914877
jge 0x9147f2
test dword [esi + 0x72], 0x73cb7272
jb 0x914875
inc esi
jb 0x914870
jb 0x914871
jb 0x9147cb
retf
jae 0x914874
jb 0x914876
jb 0x914875
jo 0x9147a6
mov al, byte [0x7277f77d]
jge 0x9147ff
ja 0x91487c
jb 0x91487e
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0xa070bb61]
jge 0x91480e
ja 0x91488b
jb 0x91488d
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0x8dacf07d]
lea ecx, [ebp + 0x5985f924]
test dword [ecx - 0x79], ebx
adc esi, 0x8d7a9b2c
lea ecx, [ebp + 0x7a92b33a]
clc
pop ecx
xchg dword [ecx + 0x7a9b2cd6], eax
lea ecx, [ebp - 0x6d4cc573]
jp 0x914830
je 0x91486e
stc
lcall 0x7072, 0x727273cb
retf
jo 0x9147e3
mov al, byte [0x7277f77d]
jge 0x91483c
ja 0x9148b9
jb 0x9148bb
jb 0x914842
clc
xor al, 0x60
xor al, 0x60
mov al, byte [0xa070bb61]
jge 0x91484b
mov al, byte [0x7277f77d]
ja 0x9148c8
jb 0x9148ca
jb 0x914851
clc
xor al, 0x60
mov al, byte [0x8dacf07d]
lea ecx, [ebp + 0xf728af3]
jb 0x9148db
lodsb al, byte [esi]
lea ecx, [ebp + 0x728af38d]
invalid
rep stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea ecx, [ebp - 0x750c7273]
invalid
mov dh, byte [edx + 0x77]
jb 0x9148ea
jb 0x9148e7
jb 0x914869
rep stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea ecx, [ebp - 0x750c7273]
bnd jb 0x9148f2
mov dh, dl
jb 0x9148f2
jb 0x914875
mov dword [0x72727272], eax
mov dword [0x72727272], eax
mov dh, dl
jb 0x9148fe
jb 0x9148ff
jb 0x914881
mov dword [0x72727272], eax
mov dword [0x72727272], eax
and al, 0xf9
test dword [ecx - 0x7e], ebx
adc esi, 0x8ce99b2c
lea ecx, [ebp + 0x413474f8]
mov ebx, 0x7d739ab2
imul byte [eax + 0x72]
jb 0x914920
mov dword [0x72727270], eax
stc
lcall 0x8182, 0x5985f924
salc
sub al, 0xc9
jae 0x914933
pop ecx
add byte [ecx + 0x73c92cd6], 0x72
adc esi, 0x7273c92c
jb 0x914934
jb 0x914935
jb 0x91485f
wait
add dword [ebp + ecx*4 + 0xf592f8d], ecx
jp 0x9148c6
lea ecx, [ebp + 0x7a0f592f]
stc
das
pop ecx
invalid
mov ch, 0x2d
sub al, 0xf9
stc
xchg edi, eax
das
mov al, 0x7a
jb 0x9148d0
dec esi
push esi
call dword [esi]
push esi
jbe 0x91490a
wait
jbe 0x914953
jb 0x914955
invalid
retf 0x37d6
salc
aaa
and esi, dword [edx + 0x71]
mov bh, 0xf3
mov dl, 0x1b
jno 0x914965
jb 0x914966
jb 0x9148c0
retf
cmpsb byte [esi], byte es:[edi]
jo 0x91496a
jb 0x9148c2
xchg ecx, eax
jnp 0x9148e7
mov dh, 0x42
inc edx
bound esi, qword [edx]
cmp edi, dword [ebp - 9]
test byte [ebp + 0x769b8d8d], cl
lea ecx, [ebp + 0x7272769b]
jb 0x91497e
jb 0x914965
jae 0x9148e8
cmp eax, 0x66166f16
sbb ah, dh
lodsd eax, dword [esi]
push ss
sbb ch, byte [0x919131a6]
xchg ecx, eax
xchg edx, eax
outsd dx, dword [esi]
sbb cl, byte [edi + 7]
sbb ah, cl
lodsd eax, dword [esi]
pop es
sbb dl, byte [0x9191a5a1]
xchg ecx, eax
mov edx, 0x1a6b1649
jmp 0x9148c9
push ss
imul ebx, dword [edx], 0xffffffeb
sbb ch, bl
xchg ecx, eax
push ss
imul ebx, dword [edx], 0xffffffde
xchg ebp, eax
adc byte [ebx - 0x6f], ch
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
sahf
adc eax, 0x919191d7
xchg edx, eax
inc edi
adc byte [esi - 0x67], dl
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
adc byte [eax - 0x67], bh
cdq
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
adc byte [eax - 0x6f], ch
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
sahf
adc eax, 0x6e6e6e41
neg dword [edx]
xchg esi, eax
push eax
jns 0x914906
adc dh, byte [ecx - 0x62]
jno 0x91490a
adc byte [ecx - 0x6e], ch
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
sahf
adc al, 0x9c
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
neg dword [edx]
xchg esi, eax
adc byte [ecx + 0x6e], dh
sahf
xchg ecx, eax
xchg ecx, eax
xchg edx, eax
push ebx
nop
mov eax, ebx
fcom dword [edx]
push esi
xchg ebx, eax
js 0x9149e5
outsb dx, byte [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
js 0x914926
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
retf
outsb dx, byte [esi]
outsb dx, byte [esi]
outsb dx, byte [esi]
js 0x914950
xchg ecx, eax
xchg ecx, eax
xchg ecx, eax
mov esi, 0xf26fff20
pop es
inc ebp
lds ecx, [esi - 7]
jns 0x914a44
jns 0x914a47
xchg edx, edi
push es
jne 0x914a4b
jns 0x914a49
jbe 0x9149d1
std
fidivr word [ecx + 0x79]
jns 0x9149cb
jne 0x914a56
mov edi, 0x35ec8629
push 0x81f8793b
jns 0x914a61
cmp dword [ecx + 0x79], 0xfc767979
jns 0x914a63
jbe 0x9149e8
cld
ja 0x914a67
jns 0x914a69
out dx, al
add dword [ebp - 0x12], esi
jp 0x9149b6
sub dword [esi + 0x3b6821ec], eax
in al, dx
and dword [eax + 0x3b], ebp
jns 0x9149f9
push es
jne 0x914a7b
jns 0x914a79
jbe 0x914a01
std
push cs
jns 0x914a80
jns 0x914a03
push es
jns 0x914a85
jns 0x914a83
jbe 0x914a0a
cld
jae 0x914a89
jns 0x914a8b
jns 0x914a0d
cli
push es
imul edi, dword [ecx + 0x76], 0x797928fd
jns 0x914a11
sbb eax, 0x55f0855d
pop ebp
repne lodsb al, byte [esi]
push ss
imul edi, dword [edx - 0x69], 0x797904fa
jbe 0x914a2d
jns 0x914aa5
std
inc eax
jns 0x914aac
jns 0x914a27
xor al, 0x79
sub dword [ebx], ebp
jb 0x9149eb
jbe 0x914a2d
jg 0x914ab8
jns 0x914aba
sub byte [eax + 0x79797970], dl
jns 0x914abf
jns 0x914ac2
jp 0x914a00
mov bh, 0xf8
clc
mov eax, 0x7979797b
jnp 0x914ac6
jns 0x914ac8
sub byte [ecx], ch
xchg bl, ch
sub dword [eax + 0x3b], ebp
jns 0x914a7b
invalid
bnd jge 0x914abb
hlt
jge 0x914a5b
mov esp, 0x7979797d
nop
jns 0x9149f9
les eax, [esi + 0x55f28686]
pop ebp
hlt
jns 0x914a0b
xchg byte ss:[esi - 0x79e2d27a], al
dec esp
sbb eax, 0x79794c86
xchg byte [ecx + edi*2 + 0x79], cl
jns 0x914afe
jns 0x914b00
adc dword [ebx - 0xb86d7ce], ebx
xor ch, byte [eax]
jns 0x914a81
sbb eax, 0x55f0855d
pop ebp
hlt
mov edi, 0x112d9986
sbb al, 0x59
cmp al, 0x17
adc byte [esi], bl
adc al, 0x18
pop ecx
sub dword [ebx], ecx
push ss
or eax, 0x160d1a1c
sbb cl, byte [0xf590b16]
push ss
or ebx, dword [ecx + 0xf]
sbb al, 0xb
or dl, byte [eax]
or ecx, dword [edx]
adc byte [esi], dl
push ss
pop ss
pop ecx
dec eax
push edi
dec edx
dec eax
je 0x914b3e
cmp eax, 0x151c0f1c
push ss
or dword [ebx + ecx], ebx
inc ebx
pop ecx
das
adc eax, 0x14101d18
adc byte [ebx], cl
pop ecx
sub cl, byte [edx + edx]
adc dword [esi], edx
pcmpeqb mm6, qword [ebx + 0x2a]
adc byte [0x5943591c], cl
adc dword [0x430a090d], ecx
push esi
push esi
sbb al, 0x17
adc byte [esi], bl
adc al, 0x18
or dword [ebx], ecx
push ss
or eax, 0x160d1a1c
or edx, dword [edi + 0x1a]
sbb al, 0x1a
or eax, 0x1a570b16
push ss
adc al, 0x56
je 0x914b7f
cmp al, 0x54
adc al, 0x18
adc byte [0xa594359], dl
or al, 9
or dword [esi], edx
or ecx, dword [0x10171c39]
push ds
adc al, 0x18
or dword [ebx], ecx
push ss
or eax, 0x160d1a1c
or edx, dword [edi + 0x1a]
push ss
adc al, 0x74
jae 0x914b5f
pop ss
or ebx, dword [esi + ebx]
adc byte [edx], cl
or eax, 0x1d1c0b1c
pop ecx
or dl, byte [eax]
push ds
pop ss
sbb byte [0x741c0b0c], cl
jae 0x914b78
adc dword [eax], edx
or bl, byte [ecx + 9]
or edx, dword [esi]
push ds
or ebx, dword [eax]
adc al, 0x59
or dword [ebx], ecx
push ss
or eax, 0x1c0d1a1c
sbb eax, 0xd100e59
adc dword [ecx + 0x2c], ebx
aaa
sub edi, dword [esi + edi]
xor byte [edx], ch
sub eax, 0x593d3c2b
das
cmp al, 0x2b
sub dh, byte [eax]
aaa
aaa
pop ecx
push ss
pop ds
pop ecx
sub eax, 0x3c591c11
pop ss
sbb al, 0x59
cmp al, 0x17
adc byte [esi], bl
adc al, 0x18
pop ecx
sub dword [ebx], ecx
push ss
or eax, 0x160d1a1c
or esi, dword [ebx + esi*2 + 0x30]
or eax, 0x17181a59
pop esi
or eax, 0x591c1b59
sbb eax, 0xb0d0a10
adc byte [ebx], bl
or al, 0xd
sbb al, 0x1d
pop ecx
push ss
or ebx, dword [ecx + 0xc]
or bl, byte [ebx + 0x59171059]
sbb dl, byte [esi]
adc al, 0x14
sbb al, 0xb
sbb dl, byte [eax]
sbb byte [0xb0c0959], dl
or dword [esi], edx
or bl, byte [esp + esi*2]
jae 0x914bf7
aaa
sub edi, dword [esi + edi]
xor byte [edx], ch
sub eax, 0x3d3c2b3c
pop ecx
sub dword [ebx], ebp
sub eax, 0x302d3a3c
aaa
jns 0x914be8
add byte [eax], al
add byte [eax + 0x3000000e], al
test dword [eax], 0xf1bb00
adc byte [ebx + 0x3e], ah
push 0x35
add byte [eax], al
xor bh, dh
add byte [eax], al
mov ebx, 0x631000f1
push 0x35
cmpsd dword [esi], dword es:[edi]
sub eax, 0x4c212a52
mov al, byte [0x304d117e]
sbb eax, 0xcc54fa48
or dword [eax + ebx - 0x62], esi
sub byte [edi + 0x354b3a0f], ch
inc esi
and ebx, dword [ebp + 0x1c]
invalid