Function at 0x1000e007
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x1006661e
call fcn.10066180
sub esp, 0xb4
mov dword [ebp - 0x38], 0xc28ade19
push ebx
push esi
push edi
xor edi, edi
mov dword [ebp - 0x10], esp
inc edi
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x38], edi
or esi, 0xffffffff
mov dword [ebp - 0x38], 0x6df37d45
xor ebx, ebx
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x38], 0xe5664dc9
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x38], 0xfaafe30f
mov dword [ebp - 0x38], 0xe1c97412
mov dword [ebp - 0x38], 0xa5b7d8cf
mov dword [ebp - 0x28], 0x5fe46c2e
mov dword [ebp - 0x38], ebx
dec dword [ebp - 0x28]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x2c], ebx
jmp 0x1000e0bb
mov dword [ebp - 0x30], ebx
lea ecx, [ebp - 0x94]
push 4
call fcn.100132fd
mov dword [ebp - 0x28], 6
mov dword [ebp - 0x1c], ebx
jmp 0x1000e09f
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x94]
mov dword [eax + ecx*4], 9
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 4
jl 0x1000e08c
lea ecx, [ebp - 0x94]
cmp dword [ebp - 0x30], ebx
jne 0x1000e0c2
inc dword [ebp - 0x28]
call fcn.10013359
dec dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], esi
jl 0x1000e070
jmp 0x1000e0c7
call fcn.10013359
mov dword [ebp - 0x24], 0xfd4
cmp dword [ebp - 0x24], 0x113a
jle 0x1000e120
mov edx, ebx
mov dword [ebp - 0x1c], ebx
mov edi, ebx
mov ecx, ebx
mov dword [ebp - 0x28], ebx
mov eax, edi
sar eax, cl
mov ecx, 0x10610838
xor eax, edx
cdq
push edx
push eax
call fcn.100130d2
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x1c]
inc ecx
mov dword [ebp - 0x28], ecx
cmp ecx, 0x2287
jl 0x1000e0e3
inc edi
cmp edi, 0x2cd4
jl 0x1000e0de
inc edx
mov dword [ebp - 0x1c], edx
cmp edx, 0x77a1
jl 0x1000e0dc
xor edi, edi
inc edi
mov dword [ebp - 0x14], 0xa8eac8b1
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x24], 0xcc7
jge 0x1000e166
mov edx, 0x10007710
mov ecx, 0x10610838
call fcn.100159ac
jmp 0x1000e166
mov dword [ebp - 4], esi
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x14], ebx
jmp 0x1000e264
mov dword [ebp - 0x28], 0x90e86489
mov dword [ebp - 0x30], 0xad21
mov dword [ebp - 0x24], 0x9f4aec70
mov dword [ebp - 0x20], ebx
jmp 0x1000e19c
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x4c], 0x97a6
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x1000e18e
mov dword [ebp - 0x20], ebx
jmp 0x1000e1b1
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x60], esi
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1000e1a7
mov eax, dword [ebp - 0x44]
cmp dword [ebp - 0x14], 0x83a7ef23
mov eax, dword [ebp - 0x44]
sbb ecx, ecx
xor ebx, ebx
inc ecx
cmp ecx, eax
setl bl
xor edx, edx
mov dword [ebp - 0x60], ebx
mov eax, dword [ebp - 0x44]
cmp ebx, eax
mov ecx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
setne dl
imul ecx, edx
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 0x44]
setne dl
xor ecx, ecx
cmp edx, eax
sete cl
xor ebx, ebx
cmp ecx, 0x782e
jge 0x1000e205
mov eax, edi
cmp dword [ebp - 0x48], ebx
jne 0x1000e207
mov eax, ebx
mov ecx, dword [ebp - 0x14]
xor edx, edx
imul ecx, eax
mov eax, dword [ebp - 0x44]
cmp ecx, eax
mov eax, dword [ebp - 0x14]
setne dl
xor ecx, ecx
cmp edx, eax
setle cl
cmp ecx, dword [ebp - 0x14]
jge 0x1000e229
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
dec eax
cmp eax, 0x30b56bf5
jne 0x1000e237
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 6
jl 0x1000e174
mov dword [ebp - 0x2c], 0xdb3ae355
mov dword [ebp - 0x34], 0xa78
cmp dword [ebp - 0x34], 0xb22
jle 0x1000e2cf
mov ecx, ebx
mov dword [ebp - 0x1c], ebx
mov edi, ebx
mov dword [ebp - 0x24], ebx
mov eax, edi
cdq
idiv dword [ebp - 0x24]
or edx, ecx
mov ecx, 0x10610838
mov eax, edx
cdq
push edx
push eax
call fcn.100130d2
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x7a8
jl 0x1000e28f
inc edi
cmp edi, 0x5048
jl 0x1000e28c
inc ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, 0x7ee7
jl 0x1000e28a
xor edi, edi
inc edi
push 4
lea ecx, [ebp - 0x7c]
call fcn.100132fd
mov dword [ebp - 4], 2
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x2c], 6
push edi
call fcn.100132fd
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x28], 0x58b39d20
push 4
call fcn.100132fd
mov dword [ebp - 0x24], 0xfffffffe
mov dword [ebp - 0x14], ebx
jmp 0x1000e320
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x7c]
mov dword [eax + ecx*4], esi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1000e314
mov dword [ebp - 0x14], ebx
jmp 0x1000e33e
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xa0]
mov dword [eax + ecx*4], 0x9cea
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x1000e32b
mov dword [ebp - 0x14], ebx
jmp 0x1000e358
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x5c]
mov dword [eax + ecx*4], 0x95cd1d2a
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x1000e348
mov dword [ebp - 0x14], ebx
jmp 0x1000e371
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x6c], 0x59c42fa4
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 2
jl 0x1000e363
mov esi, dword [ebp - 0x2c]
xor ecx, ecx
imul esi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x2c]
cmp eax, 0xfffffffc
setne cl
xor edx, edx
cmp ecx, esi
mov ecx, dword [ebp - 0xa0]
setne dl
xor eax, eax
cmp edx, dword [ecx]
mov ecx, dword [ecx]
setle al
xor edx, edx
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
cmp eax, ecx
mov eax, dword [ebp - 0x5c]
setle dl
sub edx, ecx
neg edx
sbb edx, edx
xor ecx, ecx
inc edx
imul edx, dword [eax]
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0x5c]
cmp edx, eax
setge cl
xor edx, edx
cmp ecx, dword [esi]
setg dl
xor eax, eax
cmp edx, 0x4e7f
setg al
cmp eax, edi
jl 0x1000e3e1
cmp dword [esi + 0xc], ebx
jne 0x1000e3e7
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x7c]
xor ecx, ecx
cmp dword [esi], ebx
setne cl
mov eax, dword [edx + 8]
mov dword [edx], eax
mov dword [ebp - 0x2c], ecx
mov ecx, edi
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x5c]
sub ecx, dword [eax]
je 0x1000e42b
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1000e480
push 0x125
push 0x3a0
push 0xcfc
push 0x165a
push ebx
call dword [sym.imp.USER32.dll_CheckMenuRadioItem]
jmp 0x1000e480
mov dword [ebp - 0x1c], 0xffffffff
cmp dword [ebp - 0x1c], ebx
je 0x1000e44c
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 4]
sub eax, 0x37449508
cmp eax, dword [ebp - 0x1c]
jle 0x1000e450
cmp dword [ebp - 0x1c], ebx
jne 0x1000e450
mov ecx, ebx
jmp 0x1000e452
mov ecx, edi
xor eax, eax
cmp ecx, 0xfffd
sete al
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x2c]
sub ecx, eax
mov eax, dword [ebp - 0x5c]
neg ecx
sbb ecx, ecx
inc ecx
imul ecx, dword [eax + 8]
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0x5c]
call fcn.10013359
lea ecx, [ebp - 0xa0]
call fcn.10013359
lea ecx, [ebp - 0x7c]
call fcn.10013359
mov dword [ebp - 4], 4
cmp dword [ebp - 0x34], 0x8f0
jge 0x1000e4ba
mov edx, 0x1000778c
mov ecx, 0x10610838
call fcn.100159ac
or dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x24], 0xd3f7bf4
mov dword [ebp - 0x30], 8
mov dword [ebp - 0x2c], 0xffffffe2
jmp 0x1000e7bc
mov dword [ebp - 0x28], 0x7bb7ab61
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x34], 0x198ab79a
mov dword [ebp - 0x30], 0xfffffffa
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], ebx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
cmp edi, eax
sbb eax, eax
xor ecx, ecx
neg eax
cmp eax, 0xd3e9
setle cl
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x30], 0xd6446bd2
mov dword [ebp - 0x3c], 0x25260417
mov dword [ebp - 0x14], 0xfffc
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x34], 0x9fe9a5a1
mov dword [ebp - 0x30], 9
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], 0x3d2a
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x20], ebx
jmp 0x1000e59e
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x88], 0x95848308
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 3
jl 0x1000e58d
mov dword [ebp - 0x20], ebx
jmp 0x1000e5b7
mov eax, dword [ebp - 0x20]
mov dword [ebp + eax*4 - 0x50], 4
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], edi
jl 0x1000e5a9
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
dec edx
neg edx
sbb edx, edx
xor ecx, ecx
cmp edx, eax
setg cl
sub ecx, dword [ebp - 0x3c]
jne 0x1000e5d6
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x3c]
neg eax
neg eax
sbb eax, eax
xor edx, edx
inc eax
cmp eax, 0x2c34ccbb
mov eax, dword [ebp - 0x3c]
setl dl
xor ecx, ecx
cmp eax, edx
setne cl
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x3c], 0xffff
sbb eax, eax
xor edx, edx
neg eax
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x24]
sub ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
add ecx, eax
mov dword [ebp - 0x84], ecx
neg ecx
mov eax, dword [ebp - 0x3c]
cmp eax, ecx
mov eax, dword [ebp - 0x14]
setle dl
xor ecx, ecx
cmp edx, eax
setge cl
cmp ecx, 0xb2c2
jge 0x1000e65c
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1000e74c
push ebx
call dword [sym.imp.KERNEL32.dll_ResetEvent]
jmp 0x1000e74c
mov dword [ebp - 0x24], 0x6eaf0ab5
mov ecx, 0xffff9817
mov dword [ebp - 0x20], 0xffffffff
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x24]
sub ecx, eax
je 0x1000e680
mov edx, edi
cmp dword [ebp - 0x14], ebx
jne 0x1000e682
mov edx, ebx
mov eax, dword [ebp - 0x88]
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
setle cl
xor edx, edx
cmp ecx, edi
setle dl
sub edx, eax
mov dword [ebp - 0x20], edx
xor edx, edx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
cmp eax, ecx
mov eax, dword [ebp - 0x1c]
setne dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x24]
setl cl
xor edx, edx
cmp ecx, 0xfffffff6
setl dl
xor ecx, ecx
cmp edx, eax
setne cl
cmp ecx, dword [ebp - 0x3c]
jne 0x1000e6d9
mov eax, edi
cmp dword [ebp - 0x20], ebx
jne 0x1000e6db
mov eax, ebx
mov ecx, 0xd7f48438
cmp ecx, eax
sbb eax, eax
xor edx, edx
neg eax
cmp eax, 0x7811
mov eax, dword [ebp - 0x84]
setne dl
xor ecx, ecx
cmp edx, eax
setne cl
xor edx, edx
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
cmp ecx, eax
setg dl
imul edx, dword [ebp - 0x14]
test edx, edx
jne 0x1000e718
inc dword [ebp - 0x50]
mov dword [ebp - 0x34], 0x6f69a7c8
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x28]
add eax, ecx
cmp eax, dword [ebp - 0x24]
je 0x1000e735
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov eax, dword [ebp - 0x14]
cmp eax, 0xfffffffc
setg cl
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
mov byte [ebp - 0x3d], bl
mov dword [ebp - 0x38], 9
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1000e76a
push 0xf25
call dword [sym.imp.USER32.dll_SetCapture]
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1000e7b1
push 0x18b
push 0x91b
push 0x1fae
push ebx
push 0x1b8f
push 0xd7
push 0x102e
push 0xf6f
push 0x20e1
push 0x2237
push 0xfee
push 0xa63
call dword [sym.imp.GDI32.dll_MaskBlt]
lea ecx, [ebp - 0x3d]
call fcn.1000dd98
inc dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], 0x1d
jg 0x1000e4fd
mov dword [ebp - 0x24], 0x1473
cmp dword [ebp - 0x24], 0x1820
jle 0x1000e803
mov esi, ebx
mov edi, ebx
mov dword [ebp - 0x30], 0x405d
mov eax, edi
mov ecx, 0x10610838
cdq
push edx
push eax
call fcn.100130d2
add edi, esi
dec dword [ebp - 0x30]
jne 0x1000e7e1
inc esi
cmp esi, 0x71da
jl 0x1000e7d8
xor edi, edi
inc edi
mov dword [ebp - 0x1c], ebx
jmp 0x1000e819
mov eax, dword [ebp - 0x1c]
mov dword [ebp + eax*4 - 0xa8], 0x9ac78948
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 2
jl 0x1000e808
mov byte [ebp - 0x15], bl
mov dword [ebp - 0x28], 0xca4
cmp dword [ebp - 0x28], 0xd93
jle 0x1000e87e
mov esi, ebx
mov eax, ebx
mov dword [ebp - 0x30], ebx
or eax, esi
lea ecx, [ebp - 0xc0]
cdq
push edx
push eax
call fcn.1000dcee
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x1000e853
mov eax, dword [eax]
push eax
call fcn.10050ebf
pop ecx
push ebx
push edi
lea ecx, [ebp - 0xc0]
call fcn.10013840
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp eax, 0x50a8
jl 0x1000e839
inc esi
cmp esi, 0x1461
jl 0x1000e834
cmp byte [ebp - 0x15], 0
je 0x1000e891
push 0x358
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
cmp dword [ebp - 0x28], 0xa1a
jge 0x1000e8a5
push 0x10007860
call fcn.10050ebf
pop ecx
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x1000e8b5
push ebx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov dword [ebp - 4], 8
cmp dword [ebp - 0x24], 0x119e
jge 0x1000e8d4
mov edx, 0x100077f8
mov ecx, 0x10610838
call fcn.100159ac
mov eax, dword [ebp - 0x64]
mov ecx, 0x3e8
cdq
idiv ecx
mov ecx, dword [ebp - 0x70]
or dword [ebp - 4], 0xffffffff
mov edi, edx
mov esi, eax
call fcn.1000dd26
mov ecx, dword [ebp - 0xc]
add eax, esi
add eax, edi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret