Function at 0x1003507c
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10117fb5
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x270
mov eax, dword [0x1013a0c0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov byte [ebp - 0x15], 0
xor ecx, ecx
mov dword [ebp - 0x5c], 0xd3d0c5c7
mov dword [ebp - 0x58], 0x8ac1d6c5
mov word [ebp - 0x54], 0xd3d4
mov byte [ebp - 0x52], 0xa4
nop
xor byte [ebp + ecx - 0x5c], 0xa4
inc ecx
cmp ecx, 0xb
jb 0x10034db0
push dword [ebp - 0x50]
lea ecx, [ebp - 0x30]
call fcn.1002a470
lea ecx, [ebp - 0x5c]
mov dword [ebp - 4], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10034dd3
sub ecx, edx
lea eax, [ebp - 0x5c]
push ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.1002a490
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x48]
push dword [ebp - 0x50]
mov byte [ebp - 0x4a], 0
call fcn.1002a470
lea ecx, [ebp - 0x4a]
mov byte [ebp - 4], 2
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10034e10
sub ecx, edx
lea eax, [ebp - 0x4a]
push ecx
push eax
lea ecx, [ebp - 0x48]
call fcn.1002a490
mov byte [ebp - 4], 3
cmp byte [0x1014b870], 0
je 0x10035649
mov eax, dword [0x10183610]
lea esi, [ebp - 0x49]
mov ecx, 0x1c
mov byte [ebp - 0x49], 0
movss xmm0, dword [eax + 0x10]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x1012d718]
cvttsd2si eax, xmm0
cdq
idiv ecx
cmp edx, 0x1b
ja case.default.0x10034e68
jmp dword [edx*4 + 0x100356c8]
movaps xmm0, xmmword [0x1012e130]
mov ecx, 0x10
xorps xmm0, xmmword [0x1012dbc0]
mov word [ebp - 0x54], 0x8484
mov byte [ebp - 0x52], 0xa4
movups xmmword [ebp - 0x64], xmm0
xor byte [ebp + ecx - 0x64], 0xa4
inc ecx
cmp ecx, 0x13
jb 0x10034e90
lea esi, [ebp - 0x64]
jmp case.default.0x10034e68
movaps xmm0, xmmword [0x1012e130]
mov ecx, 0x10
xorps xmm0, xmmword [0x1012dbc0]
mov word [ebp - 0x68], 0xc784
mov byte [ebp - 0x66], 0xa4
movups xmmword [ebp - 0x78], xmm0
xor byte [ebp + ecx - 0x78], 0xa4
inc ecx
cmp ecx, 0x13
jb 0x10034ec4
lea esi, [ebp - 0x78]
jmp case.default.0x10034e68
movaps xmm0, xmmword [0x1012e130]
mov ecx, 0x10
xorps xmm0, xmmword [0x1012dbc0]
mov word [ebp - 0x7c], 0xc5c7
mov byte [ebp - 0x7a], 0xa4
movups xmmword [ebp - 0x8c], xmm0
nop dword [eax + eax]
xor byte [ebp + ecx - 0x8c], 0xa4
inc ecx
cmp ecx, 0x13
jb 0x10034f00
lea esi, [ebp - 0x8c]
jmp case.default.0x10034e68
movaps xmm0, xmmword [0x1012e130]
mov ecx, 0x10
xorps xmm0, xmmword [0x1012e4c0]
mov word [ebp - 0x90], 0xd0c5
mov byte [ebp - 0x8e], 0xa4
movups xmmword [ebp - 0xa0], xmm0
xor byte [ebp + ecx - 0xa0], 0xa4
inc ecx
cmp ecx, 0x13
jb 0x10034f43
lea esi, [ebp - 0xa0]
jmp case.default.0x10034e68
movaps xmm0, xmmword [0x1012e130]
mov ecx, 0x10
xorps xmm0, xmmword [0x1012e450]
mov word [ebp - 0xa4], 0xd3d0
mov byte [ebp - 0xa2], 0xa4
movups xmmword [ebp - 0xb4], xmm0
nop word [eax + eax]
xor byte [ebp + ecx - 0xb4], 0xa4
inc ecx
cmp ecx, 0x13
jb 0x10034f90
lea esi, [ebp - 0xb4]
jmp case.default.0x10034e68
movaps xmm0, xmmword [0x1012e130]
mov ecx, 0x10
xorps xmm0, xmmword [0x1012e690]
mov word [ebp - 0xb8], 0xc5d3
mov byte [ebp - 0xb6], 0xa4
movups xmmword [ebp - 0xc8], xmm0
xor byte [ebp + ecx - 0xc8], 0xa4
inc ecx
cmp ecx, 0x13
jb 0x10034fd3
lea esi, [ebp - 0xc8]
jmp case.default.0x10034e68
movaps xmm0, xmmword [0x1012e130]
mov ecx, 0x10
xorps xmm0, xmmword [0x1012e750]
mov word [ebp - 0xcc], 0xd6c5
mov byte [ebp - 0xca], 0xa4
movups xmmword [ebp - 0xdc], xmm0
nop word [eax + eax]
xor byte [ebp + ecx - 0xdc], 0xa4
inc ecx
cmp ecx, 0x13
jb 0x10035020
lea esi, [ebp - 0xdc]
jmp case.default.0x10034e68
movaps xmm0, xmmword [0x1012e130]
mov ecx, 0x10
xorps xmm0, xmmword [0x1012e4a0]
mov word [ebp - 0xe0], 0xc1d6
mov byte [ebp - 0xde], 0xa4
movups xmmword [ebp - 0xf0], xmm0
xor byte [ebp + ecx - 0xf0], 0xa4
inc ecx
cmp ecx, 0x13
jb 0x10035063
lea esi, [ebp - 0xf0]
jmp case.default.0x10034e68
movaps xmm0, xmmword [0x1012e130]
mov ecx, 0x10
xorps xmm0, xmmword [0x1012e7e0]
mov word [ebp - 0xf4], 0x8ac1
mov byte [ebp - 0xf2], 0xa4
movups xmmword [ebp - 0x104], xmm0
nop word [eax + eax]
xor byte [ebp + ecx - 0x104], 0xa4
inc ecx
cmp ecx, 0x13
jb 0x100350b0
lea esi, [ebp - 0x104]
jmp case.default.0x10034e68
movaps xmm0, xmmword [0x1012e130]
mov ecx, 0x10
xorps xmm0, xmmword [0x1012e390]
mov word [ebp - 0x108], 0xd48a
mov byte [ebp - 0x106], 0xa4
movups xmmword [ebp - 0x118], xmm0
xor byte [ebp + ecx - 0x118], 0xa4
inc ecx
cmp ecx, 0x13
jb 0x100350f3
lea esi, [ebp - 0x118]
jmp case.default.0x10034e68
movaps xmm0, xmmword [0x1012e130]
mov ecx, 0x10
xorps xmm0, xmmword [0x1012de10]
mov word [ebp - 0x11c], 0xd3d4
mov byte [ebp - 0x11a], 0xa4
movups xmmword [ebp - 0x12c], xmm0
nop word [eax + eax]
xor byte [ebp + ecx - 0x12c], 0xa4
inc ecx
cmp ecx, 0x13
jb 0x10035140
lea esi, [ebp - 0x12c]
jmp case.default.0x10034e68
movaps xmm0, xmmword [0x1012e130]
mov ecx, 0x10
xorps xmm0, xmmword [0x1012e790]
mov word [ebp - 0x130], 0x84d3
mov byte [ebp - 0x12e], 0xa4
movups xmmword [ebp - 0x140], xmm0
xor byte [ebp + ecx - 0x140], 0xa4
inc ecx
cmp ecx, 0x13
jb 0x10035183
lea esi, [ebp - 0x140]
jmp case.default.0x10034e68
movaps xmm0, xmmword [0x1012e130]
mov ecx, 0x10
xorps xmm0, xmmword [0x1012e760]
mov word [ebp - 0x25c], 0x8484
mov byte [ebp - 0x25a], 0xa4
movups xmmword [ebp - 0x26c], xmm0
nop word [eax + eax]
xor byte [ebp + ecx - 0x26c], 0xa4
inc ecx
cmp ecx, 0x13
jb 0x100351d0
lea esi, [ebp - 0x26c]
jmp case.default.0x10034e68
movaps xmm0, xmmword [0x1012e130]
mov ecx, 0x10
xorps xmm0, xmmword [0x1012ddc0]
mov word [ebp - 0x270], 0x8484
mov byte [ebp - 0x26e], 0xa4
movups xmmword [ebp - 0x280], xmm0
xor byte [ebp + ecx - 0x280], 0xa4
inc ecx
cmp ecx, 0x13
jb 0x10035213
lea esi, [ebp - 0x280]
jmp case.default.0x10034e68
movaps xmm0, xmmword [0x1012e130]
mov ecx, 0x10
xorps xmm0, xmmword [0x1012dca0]
mov word [ebp - 0x144], 0x8484
mov byte [ebp - 0x142], 0xa4
movups xmmword [ebp - 0x154], xmm0
nop word [eax + eax]
xor byte [ebp + ecx - 0x154], 0xa4
inc ecx
cmp ecx, 0x13
jb 0x10035260
lea esi, [ebp - 0x154]
jmp case.default.0x10034e68
movaps xmm0, xmmword [0x1012e130]
mov ecx, 0x10
xorps xmm0, xmmword [0x1012dc90]
mov word [ebp - 0x158], 0x8484
mov byte [ebp - 0x156], 0xa4
movups xmmword [ebp - 0x168], xmm0
xor byte [ebp + ecx - 0x168], 0xa4
inc ecx
cmp ecx, 0x13
jb 0x100352a3
lea esi, [ebp - 0x168]
jmp case.default.0x10034e68
movaps xmm0, xmmword [0x1012e130]
mov ecx, 0x10
xorps xmm0, xmmword [0x1012dc80]
mov word [ebp - 0x16c], 0x8484
mov byte [ebp - 0x16a], 0xa4
movups xmmword [ebp - 0x17c], xmm0
nop word [eax + eax]
xor byte [ebp + ecx - 0x17c], 0xa4
inc ecx
cmp ecx, 0x13
jb 0x100352f0
lea esi, [ebp - 0x17c]
jmp case.default.0x10034e68
movaps xmm0, xmmword [0x1012e130]
mov ecx, 0x10
xorps xmm0, xmmword [0x1012dc70]
mov word [ebp - 0x180], 0x8484
mov byte [ebp - 0x17e], 0xa4
movups xmmword [ebp - 0x190], xmm0
xor byte [ebp + ecx - 0x190], 0xa4
inc ecx
cmp ecx, 0x13
jb 0x10035333
lea esi, [ebp - 0x190]
jmp case.default.0x10034e68
movaps xmm0, xmmword [0x1012e130]
mov ecx, 0x10
xorps xmm0, xmmword [0x1012dc60]
mov word [ebp - 0x194], 0x8484
mov byte [ebp - 0x192], 0xa4
movups xmmword [ebp - 0x1a4], xmm0
nop word [eax + eax]
xor byte [ebp + ecx - 0x1a4], 0xa4
inc ecx
cmp ecx, 0x13
jb 0x10035380
lea esi, [ebp - 0x1a4]
jmp case.default.0x10034e68
movaps xmm0, xmmword [0x1012e130]
mov ecx, 0x10
xorps xmm0, xmmword [0x1012dc50]
mov word [ebp - 0x1a8], 0x8484
mov byte [ebp - 0x1a6], 0xa4
movups xmmword [ebp - 0x1b8], xmm0
xor byte [ebp + ecx - 0x1b8], 0xa4
inc ecx
cmp ecx, 0x13
jb 0x100353c3
lea esi, [ebp - 0x1b8]
jmp case.default.0x10034e68
movaps xmm0, xmmword [0x1012e130]
mov ecx, 0x10
xorps xmm0, xmmword [0x1012dc40]
mov word [ebp - 0x1bc], 0x8484
mov byte [ebp - 0x1ba], 0xa4
movups xmmword [ebp - 0x1cc], xmm0
nop word [eax + eax]
xor byte [ebp + ecx - 0x1cc], 0xa4
inc ecx
cmp ecx, 0x13
jb 0x10035410
lea esi, [ebp - 0x1cc]
jmp case.default.0x10034e68
movaps xmm0, xmmword [0x1012e130]
mov ecx, 0x10
xorps xmm0, xmmword [0x1012dc30]
mov word [ebp - 0x1d0], 0x8484
mov byte [ebp - 0x1ce], 0xa4
movups xmmword [ebp - 0x1e0], xmm0
xor byte [ebp + ecx - 0x1e0], 0xa4
inc ecx
cmp ecx, 0x13
jb 0x10035453
lea esi, [ebp - 0x1e0]
jmp case.default.0x10034e68
movaps xmm0, xmmword [0x1012e130]
mov ecx, 0x10
xorps xmm0, xmmword [0x1012dc20]
mov word [ebp - 0x1e4], 0x8484
mov byte [ebp - 0x1e2], 0xa4
movups xmmword [ebp - 0x1f4], xmm0
nop word [eax + eax]
xor byte [ebp + ecx - 0x1f4], 0xa4
inc ecx
cmp ecx, 0x13
jb 0x100354a0
lea esi, [ebp - 0x1f4]
jmp case.default.0x10034e68
movaps xmm0, xmmword [0x1012e130]
mov ecx, 0x10
xorps xmm0, xmmword [0x1012dc10]
mov word [ebp - 0x1f8], 0x8484
mov byte [ebp - 0x1f6], 0xa4
movups xmmword [ebp - 0x208], xmm0
xor byte [ebp + ecx - 0x208], 0xa4
inc ecx
cmp ecx, 0x13
jb 0x100354e3
lea esi, [ebp - 0x208]
jmp case.default.0x10034e68
movaps xmm0, xmmword [0x1012e130]
mov ecx, 0x10
xorps xmm0, xmmword [0x1012dc00]
mov word [ebp - 0x20c], 0x8484
mov byte [ebp - 0x20a], 0xa4
movups xmmword [ebp - 0x21c], xmm0
nop word [eax + eax]
xor byte [ebp + ecx - 0x21c], 0xa4
inc ecx
cmp ecx, 0x13
jb 0x10035530
lea esi, [ebp - 0x21c]
jmp case.default.0x10034e68
movaps xmm0, xmmword [0x1012e130]
mov ecx, 0x10
xorps xmm0, xmmword [0x1012dbf0]
mov word [ebp - 0x220], 0x8484
mov byte [ebp - 0x21e], 0xa4
movups xmmword [ebp - 0x230], xmm0
xor byte [ebp + ecx - 0x230], 0xa4
inc ecx
cmp ecx, 0x13
jb 0x10035573
lea esi, [ebp - 0x230]
jmp case.default.0x10034e68
movaps xmm0, xmmword [0x1012e130]
mov ecx, 0x10
xorps xmm0, xmmword [0x1012dbe0]
mov word [ebp - 0x234], 0x8484
mov byte [ebp - 0x232], 0xa4
movups xmmword [ebp - 0x244], xmm0
xor byte [ebp + ecx - 0x244], 0xa4
inc ecx
cmp ecx, 0x13
jb 0x100355b3
lea esi, [ebp - 0x244]
jmp case.default.0x10034e68
movaps xmm0, xmmword [0x1012e130]
mov ecx, 0x10
xorps xmm0, xmmword [0x1012dbd0]
mov word [ebp - 0x248], 0x8484
mov byte [ebp - 0x246], 0xa4
movups xmmword [ebp - 0x258], xmm0
xor byte [ebp + ecx - 0x258], 0xa4
inc ecx
cmp ecx, 0x13
jb 0x100355f3
lea esi, [ebp - 0x258]
sub esp, 0x18
mov edi, esp
mov dword [ebp - 0x50], edi
mov ecx, edi
push dword [ebp - 0x50]
call fcn.1002a470
mov ecx, esi
mov byte [ebp - 4], 4
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10035622
sub ecx, edx
push ecx
push esi
mov ecx, edi
call fcn.1002a490
lea ecx, [ebp - 0x15]
mov byte [ebp - 4], 3
call fcn.10035740
mov byte [0x1019d630], 1
jmp 0x1003569a
cmp byte [0x1019d630], 0
je 0x1003569a
sub esp, 0x18
mov byte [ebp - 0x49], 0
mov esi, esp
mov dword [ebp - 0x50], esi
mov ecx, esi
push dword [ebp - 0x50]
call fcn.1002a470
lea ecx, [ebp - 0x49]
mov byte [ebp - 4], 5
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10035672
sub ecx, edx
lea eax, [ebp - 0x49]
push ecx
push eax
mov ecx, esi
call fcn.1002a490
lea ecx, [ebp - 0x15]
mov byte [ebp - 4], 3
call fcn.10035740
mov byte [0x1019d630], 0
lea ecx, [ebp - 0x48]
call fcn.10029d50
lea ecx, [ebp - 0x30]
call fcn.10029d50
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.101153b6
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret