Function at 0x1001d310
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100f3db9
mov eax, dword fs:[0]
push eax
sub esp, 0x40
mov eax, dword [0x1011f00c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
cmp byte [0x10158213], 0
je 0x1001d7ed
mov ecx, dword [0x10122698]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
call eax
test al, al
je 0x1001d7ed
mov ecx, dword [0x10122698]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x1001d7ed
mov edi, dword [0x101227d4]
test edi, edi
je 0x1001d7ed
mov eax, dword [0x101226d4]
test eax, eax
jne 0x1001d3b9
call fcn.10003520
mov edx, 0xe80c2f78
mov ecx, 0x101100f5
call fcn.10001980
mov edx, 0xc10bf213
mov ecx, 0x1011000d
mov esi, eax
call fcn.10001980
push esi
push eax
call fcn.1008c3b0
mov dword [0x101226d4], eax
cmp dword [eax + edi], 0
jle 0x1001d7ed
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10122660]
mov esi, dword [eax + ecx*4]
mov eax, dword [0x10158470]
cmp eax, dword [esi + 4]
jle 0x1001d45a
push 0x10158470
call fcn.100f18de
add esp, 4
cmp dword [0x10158470], 0xffffffff
jne 0x1001d45a
mov dword [ebp - 4], 0
xor edx, edx
mov ecx, dword [0x101226bc]
movaps xmm0, xmmword [0x10119760]
movups xmmword [ebp - 0x24], xmm0
mov dword [ebp - 0x14], 0x654269
mov eax, dword [ecx]
mov edi, dword [eax + 0x44]
nop dword [eax + eax]
mov al, byte [ebp - 0x24]
xor byte [ebp + edx - 0x23], al
inc edx
cmp edx, 0x12
jb 0x1001d420
lea eax, [ebp - 0x23]
mov byte [ebp - 0x11], 0
push eax
call edi
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x30]
call eax
push 0x10158470
fstp dword [0x1015846c]
mov dword [ebp - 4], 0xffffffff
call fcn.100f188d
add esp, 4
mov eax, dword [0x10158448]
cmp eax, dword [esi + 4]
jle 0x1001d4dd
push 0x10158448
call fcn.100f18de
add esp, 4
cmp dword [0x10158448], 0xffffffff
jne 0x1001d4dd
mov dword [ebp - 4], 1
xor edx, edx
mov ecx, dword [0x101226bc]
movaps xmm0, xmmword [0x101183f0]
movups xmmword [ebp - 0x24], xmm0
mov dword [ebp - 0x14], 0x12341f
mov eax, dword [ecx]
mov edi, dword [eax + 0x44]
mov al, byte [ebp - 0x24]
xor byte [ebp + edx - 0x23], al
inc edx
cmp edx, 0x12
jb 0x1001d4a3
lea eax, [ebp - 0x23]
mov byte [ebp - 0x11], 0
push eax
call edi
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x30]
call eax
push 0x10158448
fstp dword [0x10158444]
mov dword [ebp - 4], 0xffffffff
call fcn.100f188d
add esp, 4
mov eax, dword [0x1015845c]
cmp eax, dword [esi + 4]
jle 0x1001d560
push 0x1015845c
call fcn.100f18de
add esp, 4
cmp dword [0x1015845c], 0xffffffff
jne 0x1001d560
mov dword [ebp - 4], 2
xor edx, edx
mov ecx, dword [0x101226bc]
movaps xmm0, xmmword [0x101189d0]
movups xmmword [ebp - 0x24], xmm0
mov dword [ebp - 0x14], 0x2b0e25
mov eax, dword [ecx]
mov esi, dword [eax + 0x44]
mov al, byte [ebp - 0x24]
xor byte [ebp + edx - 0x23], al
inc edx
cmp edx, 0x12
jb 0x1001d526
lea eax, [ebp - 0x23]
mov byte [ebp - 0x11], 0
push eax
call esi
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x30]
call eax
push 0x1015845c
fstp dword [0x1015847c]
mov dword [ebp - 4], 0xffffffff
call fcn.100f188d
add esp, 4
mov ecx, dword [0x101226bc]
xor edx, edx
movaps xmm0, xmmword [0x10119530]
movups xmmword [ebp - 0x24], xmm0
mov dword [ebp - 0x14], 0x7f5873
mov eax, dword [ecx]
mov esi, dword [eax + 0x44]
nop
mov al, byte [ebp - 0x24]
xor byte [ebp + edx - 0x23], al
inc edx
cmp edx, 0x12
jb 0x1001d580
lea eax, [ebp - 0x23]
mov byte [ebp - 0x11], 0
push eax
call esi
mov ecx, dword [0x101226bc]
xor edx, edx
movaps xmm0, xmmword [0x10118640]
movups xmmword [ebp - 0x38], xmm0
mov dword [eax + 0x60], 0
mov eax, dword [ecx]
mov dword [ebp - 0x28], 0x1270c
mov esi, dword [eax + 0x44]
nop dword [eax]
mov al, byte [ebp - 0x38]
xor byte [ebp + edx - 0x37], al
inc edx
cmp edx, 0x12
jb 0x1001d5c0
lea eax, [ebp - 0x37]
mov byte [ebp - 0x25], 0
push eax
call esi
mov ecx, dword [0x101226bc]
xor edx, edx
movaps xmm0, xmmword [0x10118ec0]
movups xmmword [ebp - 0x24], xmm0
mov dword [eax + 0x60], 0
mov eax, dword [ecx]
mov dword [ebp - 0x14], 0x5b7e55
mov esi, dword [eax + 0x44]
nop dword [eax]
mov al, byte [ebp - 0x24]
xor byte [ebp + edx - 0x23], al
inc edx
cmp edx, 0x12
jb 0x1001d600
lea eax, [ebp - 0x23]
mov byte [ebp - 0x11], 0
push eax
call esi
mov ecx, dword [0x101226bc]
xor edx, edx
mov dword [eax + 0x60], 0
mov eax, dword [ecx]
mov esi, dword [eax + 0x44]
cmp byte [0x10158213], dl
je 0x1001d714
movaps xmm0, xmmword [0x10118550]
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x28], 0x52209
nop dword [eax]
mov al, byte [ebp - 0x38]
xor byte [ebp + edx - 0x37], al
inc edx
cmp edx, 0x12
jb 0x1001d650
lea eax, [ebp - 0x37]
mov byte [ebp - 0x25], 0
push eax
call esi
movss xmm0, dword [0x10158220]
lea ecx, [eax + 0x18]
mov eax, dword [ecx]
push ecx
movss dword [esp], xmm0
call dword [eax + 8]
mov ecx, dword [0x101226bc]
xor edx, edx
movaps xmm0, xmmword [0x101188b0]
movups xmmword [ebp - 0x24], xmm0
mov dword [ebp - 0x14], 0x33153e
mov eax, dword [ecx]
mov esi, dword [eax + 0x44]
nop dword [eax]
mov al, byte [ebp - 0x24]
xor byte [ebp + edx - 0x23], al
inc edx
cmp edx, 0x12
jb 0x1001d6a0
lea eax, [ebp - 0x23]
mov byte [ebp - 0x11], 0
push eax
call esi
movss xmm0, dword [0x10158208]
lea ecx, [eax + 0x18]
mov eax, dword [ecx]
push ecx
movss dword [esp], xmm0
call dword [eax + 8]
mov ecx, dword [0x101226bc]
xor edx, edx
movaps xmm0, xmmword [0x101195f0]
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x28], 0x75507b
mov eax, dword [ecx]
mov esi, dword [eax + 0x44]
nop dword [eax]
mov al, byte [ebp - 0x38]
xor byte [ebp + edx - 0x37], al
inc edx
cmp edx, 0x12
jb 0x1001d6f0
lea eax, [ebp - 0x37]
mov byte [ebp - 0x25], 0
push eax
call esi
movss xmm0, dword [0x10158218]
jmp 0x1001d7df
movaps xmm0, xmmword [0x10118740]
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x28], 0x381f34
mov al, byte [ebp - 0x38]
xor byte [ebp + edx - 0x37], al
inc edx
cmp edx, 0x12
jb 0x1001d726
lea eax, [ebp - 0x37]
mov byte [ebp - 0x25], 0
push eax
call esi
movss xmm0, dword [0x1015846c]
lea ecx, [eax + 0x18]
mov eax, dword [ecx]
push ecx
movss dword [esp], xmm0
call dword [eax + 8]
mov ecx, dword [0x101226bc]
xor edx, edx
movaps xmm0, xmmword [0x101183d0]
movups xmmword [ebp - 0x24], xmm0
mov dword [ebp - 0x14], 0x11371c
mov eax, dword [ecx]
mov esi, dword [eax + 0x44]
mov al, byte [ebp - 0x24]
xor byte [ebp + edx - 0x23], al
inc edx
cmp edx, 0x12
jb 0x1001d772
lea eax, [ebp - 0x23]
mov byte [ebp - 0x11], 0
push eax
call esi
movss xmm0, dword [0x10158444]
lea ecx, [eax + 0x18]
mov eax, dword [ecx]
push ecx
movss dword [esp], xmm0
call dword [eax + 8]
mov ecx, dword [0x101226bc]
xor edx, edx
movaps xmm0, xmmword [0x10118ff0]
movups xmmword [ebp - 0x4c], xmm0
mov dword [ebp - 0x3c], 0x567358
mov eax, dword [ecx]
mov esi, dword [eax + 0x44]
nop
mov al, byte [ebp - 0x4c]
xor byte [ebp + edx - 0x4b], al
inc edx
cmp edx, 0x12
jb 0x1001d7c0
lea eax, [ebp - 0x4b]
mov byte [ebp - 0x39], 0
push eax
call esi
movss xmm0, dword [0x1015847c]
lea ecx, [eax + 0x18]
mov eax, dword [ecx]
push ecx
movss dword [esp], xmm0
call dword [eax + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100f1854
mov esp, ebp
pop ebp
ret