Function at 0x10001677
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
cmp byte [0x100e3f7a], 1
push ebx
push esi
jne 0x10001e26
movaps xmm0, xmmword [0x100c60e0]
lea ecx, [ebp - 0x18]
movups xmmword [ebp - 0x18], xmm0
mov dword [ebp - 8], 0x100f8e4
xor ebx, ebx
call fcn.1000158f
mov ecx, eax
call fcn.100015d1
test eax, eax
jne 0x10001e2a
movaps xmm0, xmmword [0x100c60d0]
lea ecx, [ebp - 0x18]
movups xmmword [ebp - 0x18], xmm0
mov dword [ebp - 8], 0x100f8e4
call fcn.1000158f
mov ecx, eax
call fcn.100015d1
test eax, eax
je 0x1000170d
sub esp, 0x18
mov dword [ebp - 0x14], 0xdfdad9c4
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x10], 0xf1f7d5b0
mov dword [ebp - 0xc], 0xf2f1f2e1
mov esi, esp
mov word [ebp - 8], 0xea
mov byte [ebp - 6], 1
call fcn.10001e7a
jmp 0x10001e4b
movaps xmm0, xmmword [0x100c6040]
mov ecx, ebx
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0xfbe5f9
mov byte [ebp - 8], 1
lea eax, [ecx - 0x74]
xor byte [ebp + ecx - 0x1c], al
inc ecx
cmp ecx, 0x13
jb 0x10001725
lea ecx, [ebp - 0x1c]
mov byte [ebp - 8], bl
call fcn.100015d1
mov word [ebp - 8], 0xc5
mov byte [ebp - 6], 1
test eax, eax
je 0x1000176e
movaps xmm0, xmmword [0x100c60f0]
lea ecx, [ebp - 0x1c]
sub esp, 0x18
mov dword [ebp - 0xc], 0xfcf7ebee
movups xmmword [ebp - 0x1c], xmm0
push esp
call fcn.1000339c
jmp 0x10001e53
movaps xmm0, xmmword [0x100c6120]
mov ecx, ebx
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0xe7fbb3eb
lea eax, [ecx - 0x74]
xor byte [ebp + ecx - 0x1c], al
inc ecx
cmp ecx, 0x15
jb 0x10001782
lea ecx, [ebp - 0x1c]
mov byte [ebp - 6], bl
call fcn.100015d1
mov byte [ebp - 6], 1
lea ecx, [ebp - 0x18]
test eax, eax
je 0x100017c4
movaps xmm0, xmmword [0x100c6120]
sub esp, 0x18
movups xmmword [ebp - 0x18], xmm0
mov word [ebp - 8], 0xeb
push esp
call fcn.10003366
jmp 0x10001e53
movaps xmm0, xmmword [0x100c6050]
movups xmmword [ebp - 0x18], xmm0
mov word [ebp - 8], 0xf9
call fcn.10001e9b
mov ecx, eax
call fcn.100015d1
test eax, eax
je 0x10001812
sub esp, 0x18
mov dword [ebp - 0x14], 0xece1ffdc
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x10], 0xb3e1e2f5
mov dword [ebp - 0xc], 0xfcf5f4dc
mov dword [ebp - 8], 0x100ebfd
push esp
call fcn.10003330
jmp 0x10001e53
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], 0xece1fffc
mov dword [ebp - 0x10], 0xbdfcfefd
mov dword [ebp - 0xc], 0xf3edf1
mov byte [ebp - 8], 1
call fcn.10001ebc
mov ecx, eax
call fcn.100015d1
test eax, eax
je 0x1000185e
movaps xmm0, xmmword [0x100c5f80]
lea ecx, [ebp - 0x18]
sub esp, 0x18
mov byte [ebp - 8], 1
movups xmmword [ebp - 0x18], xmm0
push esp
call fcn.100032c4
jmp 0x10001e53
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], 0xfeefe9e5
mov dword [ebp - 0xc], 0xf6eaf4be
mov word [ebp - 8], 0x100
call fcn.10001e59
mov ecx, eax
call fcn.100015d1
mov byte [ebp - 8], 1
test eax, eax
je 0x100018a1
mov dword [ebp - 0xc], 0xcfc9c5
sub esp, 0x18
lea ecx, [ebp - 0xc]
push esp
call fcn.1000328e
jmp 0x10001e53
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], 0xa1efe9e5
mov dword [ebp - 0xc], 0xf7e9f5
call fcn.10001edd
mov ecx, eax
call fcn.100015d1
test eax, eax
je 0x100018cf
mov dword [ebp - 0xc], 0xcfc9c5
mov byte [ebp - 8], 1
jmp 0x10001890
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], 0xfeefe9e5
mov dword [ebp - 0xc], 0xf6bca5a6
mov dword [ebp - 8], 0x100f0ec
call fcn.10001efe
mov ecx, eax
call fcn.100015d1
test eax, eax
jne 0x100018c2
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], 0xeafce4db
mov dword [ebp - 0x10], 0xe1f3f9e3
mov dword [ebp - 0xc], 0xeff3bbff
mov word [ebp - 8], 0xfd
mov byte [ebp - 6], 1
call fcn.10001e7a
mov ecx, eax
call fcn.100015d1
test eax, eax
je 0x10001953
sub esp, 0x18
mov dword [ebp - 0x10], 0xeafce4db
lea ecx, [ebp - 0x10]
mov dword [ebp - 0xc], 0xe1f3f9c3
mov word [ebp - 8], 0xff
mov esi, esp
mov byte [ebp - 6], 1
call fcn.1000156e
jmp 0x10001e4b
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], 0xebeae4ca
mov dword [ebp - 0x10], 0xbde0f4fc
mov dword [ebp - 0xc], 0xf3edf1
mov byte [ebp - 8], 1
call fcn.10001ebc
mov ecx, eax
call fcn.100015d1
mov byte [ebp - 8], 1
test eax, eax
je 0x100019a3
mov dword [ebp - 0x10], 0xebeae4ca
mov dword [ebp - 0xc], 0xe0f4fc
sub esp, 0x18
lea ecx, [ebp - 0x10]
mov esi, esp
call fcn.10001edd
jmp 0x10001e4b
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], 0xe0e0e8d4
mov dword [ebp - 0x10], 0xbda6a7e3
mov dword [ebp - 0xc], 0xf3edf1
call fcn.10001ebc
mov ecx, eax
call fcn.100015d1
test eax, eax
je 0x100019df
mov dword [ebp - 0x10], 0xe0e0e8d4
mov dword [ebp - 0xc], 0xa6a7e3
mov byte [ebp - 8], 1
jmp 0x10001991
movaps xmm0, xmmword [0x100c6100]
lea ecx, [ebp - 0x18]
movups xmmword [ebp - 0x18], xmm0
mov word [ebp - 8], 0x100
call fcn.100015b0
mov ecx, eax
call fcn.100015d1
test eax, eax
je 0x10001a2d
sub esp, 0x18
mov dword [ebp - 0x14], 0xeeebe5cf
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x10], 0xf4fcd4e4
mov dword [ebp - 0xc], 0xf3fbfd
mov byte [ebp - 8], 1
push esp
call fcn.100032fa
jmp 0x10001e53
movaps xmm0, xmmword [0x100c60a0]
mov ecx, ebx
movups xmmword [ebp - 0x30], xmm0
mov dword [ebp - 0x10], 0xc6cc8d9e
movaps xmm0, xmmword [0x100c5fc0]
movups xmmword [ebp - 0x20], xmm0
mov dword [ebp - 0xc], 0xd69c98c4
mov dword [ebp - 8], 0x100d0cc
lea eax, [ecx - 0x74]
xor byte [ebp + ecx - 0x30], al
inc ecx
cmp ecx, 0x2a
jb 0x10001a5a
lea ecx, [ebp - 0x30]
mov byte [ebp - 5], bl
call fcn.100015d1
test eax, eax
je 0x10001aa6
sub esp, 0x18
mov dword [ebp - 0x14], 0xdfdad9c4
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x10], 0xf1f7d5b0
mov dword [ebp - 0xc], 0xf2f1f2e1
mov word [ebp - 8], 0xea
push esp
mov byte [ebp - 6], 1
call fcn.100033d2
jmp 0x10001e53
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], 0xfacafec7
mov dword [ebp - 0x10], 0xe1f7e1fd
mov dword [ebp - 0xc], 0xf2eef0ba
mov word [ebp - 8], 0x100
call fcn.10001f1f
mov ecx, eax
call fcn.100015d1
test eax, eax
je 0x10001af9
sub esp, 0x18
mov dword [ebp - 0x10], 0xfacafec7
lea ecx, [ebp - 0x10]
mov dword [ebp - 0xc], 0xe1f7e1fd
mov word [ebp - 8], 0x100
push esp
call fcn.10003408
jmp 0x10001e53
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], 0xebbabbf4
mov dword [ebp - 0xc], 0xf6bcf6f2
mov dword [ebp - 8], 0x100f0ec
call fcn.10001efe
mov ecx, eax
call fcn.100015d1
test eax, eax
je 0x10001b40
mov dword [ebp - 0xc], 0xcbbabbf4
sub esp, 0x18
mov dword [ebp - 8], 0x100d6d2
lea ecx, [ebp - 0xc]
push esp
call fcn.100031b6
jmp 0x10001e53
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], 0xebbabbf4
mov dword [ebp - 0xc], 0xf6bcf6f2
mov dword [ebp - 8], 0x100f0ec
call fcn.10001efe
mov ecx, eax
call fcn.100015d1
test eax, eax
jne 0x10001b21
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], 0xebbcbef4
mov dword [ebp - 0xc], 0xf6bcf6f2
mov dword [ebp - 8], 0x100f0ec
call fcn.10001efe
mov ecx, eax
call fcn.100015d1
test eax, eax
je 0x10001b99
mov dword [ebp - 0xc], 0xcbbcbef4
jmp 0x10001b28
movaps xmm0, xmmword [0x100c6110]
mov ecx, ebx
movups xmmword [ebp - 0x1c], xmm0
mov dword [ebp - 0xc], 0xfab0f8ee
mov dword [ebp - 8], 0x100c4d8
lea eax, [ecx - 0x74]
xor byte [ebp + ecx - 0x1c], al
inc ecx
cmp ecx, 0x16
jb 0x10001bb4
lea ecx, [ebp - 0x1c]
mov byte [ebp - 5], bl
call fcn.100015d1
test eax, eax
je 0x10001bf1
movaps xmm0, xmmword [0x100c6070]
lea ecx, [ebp - 0x18]
sub esp, 0x18
mov word [ebp - 8], 0xf9
movups xmmword [ebp - 0x18], xmm0
mov byte [ebp - 6], 1
push esp
jmp 0x100017ba
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], 0xa1ebe4e8
mov dword [ebp - 0xc], 0xf7e9f5
mov byte [ebp - 8], 1
call fcn.10001edd
mov ecx, eax
call fcn.100015d1
test eax, eax
je 0x10001c42
sub esp, 0x18
mov dword [ebp - 0x14], 0xeafae8c8
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x10], 0xe7dbe5f3
mov dword [ebp - 0xc], 0xeee5f4d1
mov word [ebp - 8], 0x100
push esp
call fcn.100031ec
jmp 0x10001e53
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], 0xd6c2c1c3
mov dword [ebp - 0x10], 0xbdd5d3d4
mov dword [ebp - 0xc], 0xf3edf1
mov byte [ebp - 8], 1
call fcn.10001ebc
mov ecx, eax
call fcn.100015d1
test eax, eax
je 0x10001c91
mov dword [ebp - 0x10], 0xd6c2c1c3
mov dword [ebp - 0xc], 0xd5d3d4
mov byte [ebp - 8], 1
sub esp, 0x18
lea ecx, [ebp - 0x10]
push esp
call fcn.10003258
jmp 0x10001e53
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], 0xb9caf5c4
mov dword [ebp - 0xc], 0xebf7bfa4
mov word [ebp - 8], 0xf1
mov byte [ebp - 6], 1
call fcn.1000156e
mov ecx, eax
call fcn.100015d1
mov byte [ebp - 6], 1
test eax, eax
je 0x10001cde
mov dword [ebp - 0xc], 0xb9caf5c4
mov word [ebp - 8], 0xa4
sub esp, 0x18
lea ecx, [ebp - 0xc]
push esp
call fcn.10003180
jmp 0x10001e53
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x10], 0xbccaf5c4
mov dword [ebp - 0xc], 0xebf7bfa2
mov word [ebp - 8], 0xf1
call fcn.1000156e
mov ecx, eax
call fcn.100015d1
test eax, eax
je 0x10001d18
mov dword [ebp - 0xc], 0xb9caf5c4
mov word [ebp - 8], 0xa4
mov byte [ebp - 6], 1
jmp 0x10001ccd
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], 0xf8e1e3ff
mov dword [ebp - 0x10], 0xbdfcf0fd
mov dword [ebp - 0xc], 0xf3edf1
mov byte [ebp - 8], 1
call fcn.10001ebc
mov ecx, eax
call fcn.100015d1
mov byte [ebp - 8], 1
test eax, eax
je 0x10001d5b
mov dword [ebp - 0x10], 0xf8e1e3df
mov dword [ebp - 0xc], 0xfcf0fd
jmp 0x10001c80
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], 0xf9feeef8
mov dword [ebp - 0x10], 0xbde5f4f9
mov dword [ebp - 0xc], 0xf3edf1
call fcn.10001ebc
mov ecx, eax
call fcn.100015d1
test eax, eax
je 0x10001d96
mov dword [ebp - 0x10], 0xf9feeef8
mov dword [ebp - 0xc], 0xe5f4f9
jmp 0x10001c7c
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], 0xf9feeef8
mov dword [ebp - 0x10], 0xa5e5f4f9
mov dword [ebp - 0xc], 0xeff3bba0
mov word [ebp - 8], 0xfd
mov byte [ebp - 6], 1
call fcn.10001e7a
mov ecx, eax
call fcn.100015d1
mov byte [ebp - 8], 1
test eax, eax
je 0x10001ddf
mov dword [ebp - 0x10], 0xf9feeef8
mov dword [ebp - 0xc], 0xe5f4f9
jmp 0x10001c80
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], 0xece1fffc
mov dword [ebp - 0x10], 0xbde2e9f5
mov dword [ebp - 0xc], 0xf3edf1
call fcn.10001ebc
mov ecx, eax
call fcn.100015d1
test eax, eax
je 0x10001e26
movaps xmm0, xmmword [0x100c6060]
lea ecx, [ebp - 0x18]
sub esp, 0x18
mov word [ebp - 8], 0x100
movups xmmword [ebp - 0x18], xmm0
push esp
call fcn.1000343e
jmp 0x10001e53
pop esi
pop ebx
leave
ret
sub esp, 0x18
mov dword [ebp - 0x10], 0xfacafec7
lea ecx, [ebp - 0x10]
mov dword [ebp - 0xc], 0xe1f7e1fd
mov word [ebp - 8], 0x100
mov esi, esp
call fcn.10001e59
push eax
mov ecx, esi
call fcn.100034c3
call fcn.1000166f
int3