Function at 0x12c9362
Capabilities:
Authenticate hmac
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 0xe14d26
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x3c8
push esi
mov esi, ecx
mov byte [ebp - 0x15], dl
mov dword [ebp - 0x158], esi
push edi
mov dword [ebp - 0x1c], 1
mov dword [ebp - 4], 4
lea ecx, [esi + 8]
push 0
mov byte [esi], 0
call fcn.0130ff50
sub esp, 8
mov byte [ebp - 4], 5
mov eax, esp
mov dword [ebp - 0x1c], 1
lea ecx, [ebp - 0x108]
mov dword [eax], 0
mov dword [eax + 4], 0
call fcn.0130c390
add esp, 8
mov dword [ebp - 4], 6
xor ecx, ecx
mov dword [ebp - 0x60], 0xfff2fbff
mov dword [ebp - 0x5c], 0x100ebf9
nop dword [eax]
mov al, cl
sub al, 0x6d
xor byte [ebp + ecx - 0x60], al
inc ecx
cmp ecx, 6
jb 0x12c93d0
lea eax, [ebp - 0x60]
mov byte [ebp - 0x59], 0
push eax
mov ecx, esi
call fcn.01312600
mov byte [ebp - 4], 5
mov edi, eax
mov cl, byte [ebp - 0x108]
mov dl, byte [edi]
mov byte [edi], cl
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x100]
mov byte [ebp - 0x108], dl
mov esi, dword [edi + 0xc]
mov edx, dword [edi + 8]
mov dword [edi + 0xc], ecx
lea ecx, [ebp - 0x108]
mov dword [edi + 8], eax
mov dword [ebp - 0x100], edx
mov dword [ebp - 0xfc], esi
call fcn.0130bff0
push 0x104
lea eax, [ebp - 0x3d8]
push 0
push eax
call fcn.01387760
add esp, 0xc
lea eax, [ebp - 0x3d8]
push eax
movzx eax, byte [ebp - 0x15]
xor eax, 1
push 0
push 0
lea eax, [eax*2 + 0x1a]
push eax
push 0
call dword [0xe1c2e0]
lea ecx, [ebp - 0x3d8]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x12c9473
sub ecx, edx
mov eax, 0x7fffffff
mov edx, dword [ebx + 0x34]
sub eax, edx
cmp eax, ecx
jb 0x12cbb27
cmp dword [ebx + 0x38], 0x10
lea eax, [ebx + 0x24]
push edx
cmovae eax, dword [ebx + 0x24]
push eax
push ecx
lea eax, [ebp - 0x3d8]
push eax
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0xf4]
call fcn.01315f90
mov esi, 0x40000001
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 7
xor edi, edi
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0x44], edi
mov dword [ebp - 0xb0], edi
mov dword [ebp - 0xac], edi
cmp byte [ebx + 8], 0
mov byte [ebp - 4], 8
jne 0x12c9916
sub esp, 0x18
lea eax, [ebp - 0xf4]
mov ecx, esp
push eax
call fcn.0130e550
push edi
mov dl, 1
lea ecx, [ebp - 0xd0]
call fcn.012c8f20
add esp, 0x1c
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 9
call fcn.0130d190
test eax, eax
jne 0x12c9562
call fcn.01310740
lea ecx, [ebp - 0xb4]
call fcn.01310740
lea ecx, [ebp - 0xf4]
call fcn.012aae60
lea ecx, [ebx + 0xc]
call fcn.012aae60
lea ecx, [ebx + 0x24]
call fcn.012aae60
lea ecx, [ebx + 0x3c]
call fcn.012aae60
lea ecx, [ebx + 0x54]
call fcn.012aae60
jmp 0x12cbb0e
mov esi, dword [ebp - 0xd0]
xor ecx, ecx
mov dword [ebp - 0x74], ecx
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0xcc]
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x12c9902
xor eax, eax
mov dword [ebp - 0x58], eax
add eax, esi
mov word [ebp - 0x23], 0x5c
lea ecx, [ebp - 0x23]
mov dword [ebp - 0x28], eax
mov byte [ebp - 0x21], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x12c95a6
sub ecx, edx
mov eax, 0x7fffffff
mov edx, dword [ebp - 0xe4]
sub eax, edx
cmp eax, ecx
jb 0x12cbb27
cmp dword [ebp - 0xe0], 0x10
lea eax, [ebp - 0xf4]
push ecx
cmovae eax, dword [ebp - 0xf4]
lea ecx, [ebp - 0x23]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x90]
call fcn.01315f90
mov eax, dword [ebp - 0x14]
or eax, 0x10000000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
sub esp, 0x18
mov byte [ebp - 4], 0xa
mov esi, esp
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x20], esi
push dword [ebp - 0x28]
call fcn.0130e2d0
xorps xmm0, xmm0
lea ecx, [ebp - 0x40]
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
xor dl, dl
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
push 0
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [ebp - 0x14]
or eax, 0x20000000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.012c8f20
add esp, 0x1c
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x7c]
cmp ecx, 0x10
jb 0x12c96a3
mov edx, dword [ebp - 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12c9699
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb2c
push ecx
push edx
call fcn.01385783
add esp, 8
mov ecx, dword [ebp - 0x3c]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x40]
sub ecx, esi
imul ecx
mov dword [ebp - 0x80], 0
sar edx, 2
mov eax, edx
mov dword [ebp - 0x7c], 0xf
shr eax, 0x1f
mov byte [ebp - 0x90], 0
add eax, edx
je 0x12c9806
xor ecx, ecx
mov dword [ebp - 0x34], ecx
test eax, eax
je 0x12c9806
xor eax, eax
mov dword [ebp - 0x78], eax
nop dword [eax]
cmp dword [ebx + 0x50], 0x10
lea ecx, [esi + eax]
mov eax, dword [ecx + 0x10]
lea esi, [ebx + 0x3c]
cmovae esi, dword [ebx + 0x3c]
cmp dword [ecx + 0x14], 0x10
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0xf8], esi
jb 0x12c9715
mov ecx, dword [ecx]
mov dword [ebp - 0x70], ecx
mov edx, dword [ebx + 0x4c]
cmp edx, eax
ja 0x12c97da
sub eax, edx
test edx, edx
je 0x12c9851
movsx edx, byte [esi]
inc eax
add eax, ecx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x28], eax
sub eax, ecx
push eax
push edx
push ecx
call fcn.01388f50
mov edi, eax
add esp, 0xc
test edi, edi
je 0x12c97d7
nop dword [eax]
mov ecx, esi
mov edx, edi
mov esi, dword [ebx + 0x4c]
sub esi, 4
jb 0x12c9771
nop dword [eax]
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x12c9776
add edx, 4
add ecx, 4
sub esi, 4
jae 0x12c9760
cmp esi, 0xfffffffc
je 0x12c97aa
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x12c97a3
cmp esi, 0xfffffffd
je 0x12c97aa
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x12c97a3
cmp esi, 0xfffffffe
je 0x12c97aa
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x12c97a3
cmp esi, 0xffffffff
je 0x12c97aa
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x12c97aa
sbb eax, eax
or eax, 1
jmp 0x12c97ac
xor eax, eax
test eax, eax
je 0x12c9849
mov eax, dword [ebp - 0x28]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x30]
push edi
call fcn.01388f50
mov esi, dword [ebp - 0xf8]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x12c9750
mov edi, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x3c]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x40]
sub ecx, esi
inc dword [ebp - 0x34]
add dword [ebp - 0x78], 0x18
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x78]
jb 0x12c96f0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 9
call fcn.01310740
mov ecx, dword [ebp - 0xcc]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0xd0]
sub ecx, esi
inc dword [ebp - 0x74]
add dword [ebp - 0x58], 0x18
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x74], eax
jae 0x12c9902
mov eax, dword [ebp - 0x58]
jmp 0x12c9591
sub edi, dword [ebp - 0x70]
cmp edi, 0xffffffff
je 0x12c97d7
mov ecx, dword [ebp - 0x44]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0xb4]
xor edi, edi
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x28], eax
je 0x12c98bb
mov ecx, dword [ebp - 0x58]
add ecx, dword [ebp - 0xd0]
mov dword [ebp - 0x30], ecx
mov edx, dword [ecx + 0x10]
cmp dword [ecx + 0x14], 0x10
mov eax, ecx
jb 0x12c988d
mov eax, dword [ecx]
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x12c9897
mov ecx, dword [esi]
push edx
mov edx, dword [esi + 0x10]
push eax
call fcn.0131e290
add esp, 8
test al, al
jne 0x12c97d7
mov ecx, dword [ebp - 0x30]
inc edi
add esi, 0x18
mov edx, dword [ecx + 0x10]
cmp edi, dword [ebp - 0x28]
jb 0x12c9883
mov eax, dword [ebp - 0xd0]
add eax, dword [ebp - 0x58]
mov edi, dword [ebp - 0x44]
push eax
cmp edi, dword [ebp - 0xac]
je 0x12c98e8
mov ecx, edi
call fcn.0130e550
add edi, 0x18
mov dword [ebp - 0x44], edi
mov dword [ebp - 0xb0], edi
jmp 0x12c97da
push edi
lea ecx, [ebp - 0xb4]
call fcn.0131b260
mov edi, dword [ebp - 0xb0]
mov dword [ebp - 0x44], edi
jmp 0x12c97da
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 8
call fcn.01310740
mov esi, dword [ebp - 0x14]
jmp 0x12c9951
push 0xe304b8
lea ecx, [ebp - 0x1a8]
call fcn.012aaf00
lea eax, [ebp - 0x1a8]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [ebp - 0xb4]
call fcn.0130d1f0
lea ecx, [ebp - 0x1a8]
mov byte [ebp - 4], 8
call fcn.012aae60
mov edi, dword [ebp - 0xb0]
mov ecx, edi
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0xb4]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x12c9a15
push 0xe304b8
lea ecx, [ebp - 0x90]
call fcn.012aaf00
mov byte [ebp - 4], 0xe
lea eax, [ebp - 0x90]
push eax
cmp edi, dword [ebp - 0xac]
je 0x12c99c8
push dword [ebp - 0x20]
mov ecx, edi
call fcn.012aaff0
movups xmm0, xmmword [ebp - 0x90]
mov ecx, 0xf
mov byte [ebp - 0x90], 0
movups xmmword [edi], xmm0
movq xmm0, qword [ebp - 0x80]
movq qword [edi + 0x10], xmm0
add edi, 0x18
mov dword [ebp - 0xb0], edi
jmp 0x12c99dd
push edi
lea ecx, [ebp - 0xb4]
call fcn.0131b140
mov edi, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x7c]
mov byte [ebp - 4], 8
cmp ecx, 0x10
jb 0x12c9a15
mov edx, dword [ebp - 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12c9a0b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb2c
push ecx
push edx
call fcn.01385783
add esp, 8
lea ecx, [ebp - 0x23]
mov word [ebp - 0x23], 0x5c
mov byte [ebp - 0x21], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x12c9a25
sub ecx, edx
mov eax, 0x7fffffff
mov edx, dword [ebp - 0xe4]
sub eax, edx
cmp eax, ecx
jb 0x12cbb31
cmp dword [ebp - 0xe0], 0x10
lea eax, [ebp - 0xf4]
push ecx
cmovae eax, dword [ebp - 0xf4]
lea ecx, [ebp - 0x23]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x90]
call fcn.01315f90
or esi, 0x1000000
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1c], esi
mov byte [ebp - 4], 0xf
lea edx, [ebx + 0x54]
mov eax, dword [ebp - 0x80]
sub esp, 0x18
cmp dword [ebx + 0x68], 0x10
mov esi, esp
mov ecx, dword [ebx + 0x64]
cmovae edx, dword [ebx + 0x54]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x7c]
sub eax, dword [ebp - 0x34]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x28], ecx
push ecx
push edx
cmp ecx, eax
ja 0x12c9ae6
mov eax, dword [ebp - 0x34]
lea esi, [ebp - 0x90]
add eax, ecx
cmp dword [ebp - 0x7c], 0x10
mov dword [ebp - 0x80], eax
cmovae esi, dword [ebp - 0x90]
mov eax, dword [ebp - 0x34]
add eax, esi
push eax
call fcn.013871e0
mov eax, dword [ebp - 0x28]
add esp, 0xc
mov ecx, dword [ebp - 0x34]
add eax, esi
mov esi, dword [ebp - 0x30]
mov byte [eax + ecx], 0
lea eax, [ebp - 0x90]
jmp 0x12c9af9
mov byte [ebp - 0x28], 0
push dword [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x90]
call fcn.01314380
xorps xmm0, xmm0
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov esi, dword [ebp - 0x14]
or esi, 0x2000000
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1c], esi
call fcn.012b46b0
add esp, 0x18
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x7c]
test al, al
sete al
mov byte [ebp - 0x15], al
cmp ecx, 0x10
jb 0x12c9b8b
mov edx, dword [ebp - 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12c9b7e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb36
push ecx
push edx
call fcn.01385783
mov al, byte [ebp - 0x15]
add esp, 8
test al, al
je 0x12c9c3c
movaps xmm0, xmmword [0xe35d80]
lea ecx, [ebp - 0xa2]
movups xmmword [ebp - 0xa2], xmm0
mov word [ebp - 0x92], 0x100
call fcn.012b75c0
mov esi, eax
sub esp, 0x18
mov ecx, esi
mov dword [ebp - 0x28], esp
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x12c9bc2
sub ecx, edx
mov eax, 0x7fffffff
mov edx, dword [ebp - 0xe4]
sub eax, edx
cmp eax, ecx
jb 0x12cbb3b
cmp dword [ebp - 0xe0], 0x10
lea eax, [ebp - 0xf4]
push ecx
cmovae eax, dword [ebp - 0xf4]
push esi
push edx
push eax
push ecx
push dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
call fcn.01315f90
call fcn.012b46b0
add esp, 0x18
test al, al
je 0x12c9c39
movaps xmm0, xmmword [0xe34e30]
lea ecx, [ebp - 0x135]
movups xmmword [ebp - 0x135], xmm0
mov byte [ebp - 0x125], 1
call fcn.012b75f0
push eax
lea ecx, [ebx + 0x54]
call fcn.0130e370
mov esi, dword [ebp - 0x14]
lea ecx, [ebp - 0x23]
mov word [ebp - 0x23], 0x5c
mov byte [ebp - 0x21], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x12c9c50
sub ecx, edx
mov eax, 0x7fffffff
mov edx, dword [ebp - 0xe4]
sub eax, edx
cmp eax, ecx
jb 0x12cbb40
cmp dword [ebp - 0xe0], 0x10
lea eax, [ebp - 0xf4]
push ecx
cmovae eax, dword [ebp - 0xf4]
lea ecx, [ebp - 0x23]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x90]
call fcn.01315f90
or esi, 0x8000000
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1c], esi
mov byte [ebp - 4], 0x10
lea edx, [ebx + 0x54]
mov eax, dword [ebp - 0x80]
sub esp, 0x18
cmp dword [ebx + 0x68], 0x10
mov esi, esp
mov ecx, dword [ebx + 0x64]
cmovae edx, dword [ebx + 0x54]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x7c]
sub eax, dword [ebp - 0x70]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x28], ecx
push ecx
push edx
cmp ecx, eax
ja 0x12c9d0a
mov esi, dword [ebp - 0x70]
cmp dword [ebp - 0x7c], 0x10
lea eax, [ecx + esi]
mov dword [ebp - 0x80], eax
lea eax, [ebp - 0x90]
cmovae eax, dword [ebp - 0x90]
add esi, eax
push esi
call fcn.013871e0
mov eax, dword [ebp - 0x28]
add esp, 0xc
mov byte [esi + eax], 0
lea eax, [ebp - 0x90]
mov esi, dword [ebp - 0x30]
jmp 0x12c9d1d
mov byte [ebp - 0x28], 0
push dword [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x90]
call fcn.01314380
xorps xmm0, xmm0
lea ecx, [ebp - 0x258]
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [ebp - 0x14]
or eax, 0x4000000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.012b4090
add esp, 0x18
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x7c]
cmp ecx, 0x10
jb 0x12c9da9
mov edx, dword [ebp - 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12c9d9f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb45
push ecx
push edx
call fcn.01385783
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x80], 0
movups xmmword [ebp - 0x90], xmm0
mov dword [ebp - 0x7c], 0xf
mov byte [ebp - 0x90], 0
mov byte [ebp - 4], 0x13
cmp dword [ebp - 0x248], 0
je 0x12c9f4c
sub esp, 0x28
lea edx, [ebp - 0x258]
mov eax, esp
lea ecx, [ebp - 0x190]
push 0
push 1
mov dword [eax + 0x24], 0
call fcn.01312990
add esp, 0x30
mov byte [ebp - 4], 0x14
xor ecx, ecx
mov dword [ebp - 0x6a], 0xf5cae7fc
mov dword [ebp - 0x66], 0xeee9e1e5
mov word [ebp - 0x62], 0x100
mov al, cl
sub al, 0x6d
xor byte [ebp + ecx - 0x6a], al
inc ecx
cmp ecx, 8
jb 0x12c9e17
lea eax, [ebp - 0x6a]
mov byte [ebp - 0x61], 0
push eax
lea ecx, [ebp - 0x190]
call fcn.01312600
cmp byte [eax], 0
je 0x12c9f3d
lea ecx, [ebp - 0x3e]
mov dword [ebp - 0x3e], 0xf5cae7fc
mov dword [ebp - 0x3a], 0xeee9e1e5
mov word [ebp - 0x36], 0x100
call fcn.012b7620
push eax
lea ecx, [ebp - 0x190]
call fcn.01312600
lea ecx, [ebp - 0x53]
mov dword [ebp - 0x53], 0xe4f6faf6
mov esi, eax
mov dword [ebp - 0x4f], 0xffede8ee
mov dword [ebp - 0x4b], 0xfbf6c3ff
mov word [ebp - 0x47], 0xe6
mov byte [ebp - 0x45], 1
call fcn.012b2ec0
push eax
mov ecx, esi
call fcn.01312600
cmp byte [eax], 0
je 0x12c9f3d
lea ecx, [ebp - 0x3e]
mov dword [ebp - 0x3e], 0xf5cae7fc
mov dword [ebp - 0x3a], 0xeee9e1e5
mov word [ebp - 0x36], 0x100
call fcn.012b7620
push eax
lea ecx, [ebp - 0x190]
call fcn.01312600
lea ecx, [ebp - 0x53]
mov dword [ebp - 0x53], 0xe4f6faf6
mov esi, eax
mov dword [ebp - 0x4f], 0xffede8ee
mov dword [ebp - 0x4b], 0xfbf6c3ff
mov word [ebp - 0x47], 0xe6
mov byte [ebp - 0x45], 1
call fcn.012b2ec0
push eax
mov ecx, esi
call fcn.01312600
lea ecx, [ebp - 0x180]
push ecx
mov ecx, eax
call fcn.01312740
mov edx, eax
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x1a8]
call fcn.012aad40
push eax
lea ecx, [ebp - 0x90]
call fcn.0130e3d0
lea ecx, [ebp - 0x1a8]
call fcn.012aae60
lea ecx, [ebp - 0x180]
call fcn.012aae60
lea ecx, [ebp - 0x190]
mov byte [ebp - 4], 0x13
call fcn.0130bff0
mov esi, dword [ebp - 0xb4]
mov eax, 0x2aaaaaab
sub edi, esi
xor ecx, ecx
imul edi
mov dword [ebp - 0x58], ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x20], eax
je 0x12cb93b
cmp byte [ebx + 8], 0
je 0x12c9fb0
xorps xmm0, xmm0
mov dword [ebp - 0x12c], 0
movups xmmword [ebp - 0x13c], xmm0
mov dword [ebp - 0x128], 0xf
mov byte [ebp - 0x13c], 0
mov byte [ebp - 4], 0x16
lea esi, [ebp - 0x13c]
mov edi, dword [ebp - 0x14]
or edi, 2
jmp 0x12ca01f
lea eax, [ecx + ecx*2]
mov word [ebp - 0x23], 0x5c
lea edx, [esi + eax*8]
mov byte [ebp - 0x21], 0
mov esi, dword [edx + 0x10]
lea ecx, [ebp - 0x23]
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x12c9fd0
mov eax, 0x7fffffff
sub ecx, edi
sub eax, esi
cmp eax, ecx
jb 0x12cbb27
cmp dword [edx + 0x14], 0x10
jb 0x12c9ff0
mov edx, dword [edx]
push ecx
lea eax, [ebp - 0x23]
push eax
push esi
push edx
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x180]
call fcn.01315f90
mov edi, dword [ebp - 0x14]
or edi, 0x40000
lea esi, [ebp - 0x180]
mov dword [ebp - 4], 0x17
or edi, 4
lea ecx, [ebp - 0xd3]
mov dword [ebp - 0x1c], edi
mov word [ebp - 0xd3], 0x5c
lea edx, [ecx + 1]
mov byte [ebp - 0xd1], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x12ca040
sub ecx, edx
mov eax, 0x7fffffff
mov edx, dword [ebp - 0xe4]
sub eax, edx
cmp eax, ecx
jb 0x12cbb27
cmp dword [ebp - 0xe0], 0x10
lea eax, [ebp - 0xf4]
push ecx
cmovae eax, dword [ebp - 0xf4]
lea ecx, [ebp - 0xd3]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x154]
call fcn.01315f90
or edi, 0x200
mov dword [ebp - 0x1c], edi
push esi
lea eax, [ebp - 0x154]
mov dword [ebp - 4], 0x18
push eax
push dword [ebp - 0x20]
lea ecx, [ebp - 0xa8]
call fcn.01315da0
or edi, 0x400
mov dword [ebp - 0x1c], edi
sub esp, 0x18
mov byte [ebp - 4], 0x19
mov esi, esp
lea eax, [ebx + 0x54]
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0x2c], esi
push eax
call fcn.0130e2d0
xorps xmm0, xmm0
or edi, 0x800
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x1c], edi
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
call fcn.012b46b0
add esp, 0x18
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x94]
test al, al
sete byte [ebp - 0x15]
cmp ecx, 0x10
jb 0x12ca162
mov edx, dword [ebp - 0xa8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12ca158
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb2c
push ecx
push edx
call fcn.01385783
add esp, 8
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x140]
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0xf
mov byte [ebp - 0xa8], 0
cmp ecx, 0x10
jb 0x12ca1bb
mov edx, dword [ebp - 0x154]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12ca1b1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb2c
push ecx
push edx
call fcn.01385783
add esp, 8
mov dword [ebp - 4], 0x16
mov eax, dword [ebp - 0x14]
test al, 4
je 0x12ca20f
mov ecx, dword [ebp - 0x16c]
and eax, 0xfffffffb
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x12ca20f
mov edx, dword [ebp - 0x180]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12ca202
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb2c
push ecx
push edx
call fcn.01385783
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 4], 0x13
test al, 2
je 0x12ca25d
mov ecx, dword [ebp - 0x128]
and eax, 0xfffffffd
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x12ca25d
mov edx, dword [ebp - 0x13c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12ca253
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb2c
push ecx
push edx
call fcn.01385783
add esp, 8
cmp byte [ebp - 0x15], 0
je 0x12ca58a
xor ecx, ecx
cmp byte [ebx + 8], cl
je 0x12ca304
movaps xmm0, xmmword [0xe34e30]
movups xmmword [ebp - 0x135], xmm0
mov byte [ebp - 0x125], 1
nop word [eax + eax]
mov al, cl
sub al, 0x6d
xor byte [ebp + ecx - 0x135], al
inc ecx
cmp ecx, 0xf
jb 0x12ca290
xorps xmm0, xmm0
mov byte [ebp - 0x125], 0
lea ecx, [ebp - 0x135]
mov dword [ebp - 0x144], 0
movups xmmword [ebp - 0x154], xmm0
mov dword [ebp - 0x140], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x12ca2d0
sub ecx, edx
lea eax, [ebp - 0x135]
push ecx
push eax
lea ecx, [ebp - 0x154]
call fcn.012ab030
mov byte [ebp - 4], 0x1a
lea esi, [ebp - 0x154]
mov edi, dword [ebp - 0x14]
or edi, 8
mov dword [ebp - 0x1c], edi
jmp 0x12ca3ad
movaps xmm0, xmmword [0xe35d80]
movups xmmword [ebp - 0xa2], xmm0
mov word [ebp - 0x92], 0x100
nop dword [eax + eax]
mov al, cl
sub al, 0x6d
xor byte [ebp + ecx - 0xa2], al
inc ecx
cmp ecx, 0x10
jb 0x12ca320
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0xb4]
mov byte [ebp - 0x91], 0
lea eax, [eax + eax*2]
mov esi, dword [ecx + eax*8 + 0x10]
lea edx, [ecx + eax*8]
lea ecx, [ebp - 0xa2]
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x12ca354
mov eax, 0x7fffffff
sub ecx, edi
sub eax, esi
cmp eax, ecx
jb 0x12cbb27
cmp dword [edx + 0x14], 0x10
jb 0x12ca374
mov edx, dword [edx]
push ecx
lea eax, [ebp - 0xa2]
push eax
push esi
push edx
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x1a8]
call fcn.01315f90
mov eax, dword [ebp - 0x14]
or eax, 0x800000
or eax, 0x10
mov dword [ebp - 4], 0x1b
lea esi, [ebp - 0x1a8]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
mov edi, eax
lea ecx, [ebp - 0xd9]
mov word [ebp - 0xd9], 0x5c
mov byte [ebp - 0xd7], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x12ca3c6
sub ecx, edx
mov eax, 0x7fffffff
mov edx, dword [ebp - 0xe4]
sub eax, edx
cmp eax, ecx
jb 0x12cbb27
cmp dword [ebp - 0xe0], 0x10
lea eax, [ebp - 0xf4]
push ecx
cmovae eax, dword [ebp - 0xf4]
lea ecx, [ebp - 0xd9]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x180]
call fcn.01315f90
or edi, 0x100000
mov dword [ebp - 0x1c], edi
sub esp, 0x18
mov dword [ebp - 4], 0x1c
mov ecx, esp
lea eax, [ebp - 0x180]
mov dword [ebp - 0x2c], ecx
push esi
push eax
push dword [ebp - 0x20]
call fcn.01315da0
or edi, 0x200000
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x1c], edi
call fcn.012b46b0
mov byte [ebp - 4], 0x1b
add esp, 0x18
mov ecx, dword [ebp - 0x16c]
mov byte [ebp - 0x15], al
cmp ecx, 0x10
jb 0x12ca48e
mov edx, dword [ebp - 0x180]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12ca484
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb2c
push ecx
push edx
call fcn.01385783
add esp, 8
mov dword [ebp - 4], 0x1a
mov eax, dword [ebp - 0x14]
test al, 0x10
je 0x12ca4e2
mov ecx, dword [ebp - 0x194]
and eax, 0xffffffef
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x12ca4e2
mov edx, dword [ebp - 0x1a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12ca4d5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb2c
push ecx
push edx
call fcn.01385783
mov eax, dword [ebp - 0x14]
add esp, 8
mov dword [ebp - 4], 0x13
test al, 8
je 0x12ca530
mov ecx, dword [ebp - 0x140]
and eax, 0xfffffff7
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x12ca530
mov edx, dword [ebp - 0x154]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12ca526
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb2c
push ecx
push edx
call fcn.01385783
add esp, 8
cmp byte [ebp - 0x15], 0
je 0x12ca58a
movaps xmm0, xmmword [0xe34e30]
xor ecx, ecx
movups xmmword [ebp - 0x135], xmm0
mov byte [ebp - 0x125], 1
nop dword [eax]
mov al, cl
sub al, 0x6d
xor byte [ebp + ecx - 0x135], al
inc ecx
cmp ecx, 0xf
jb 0x12ca550
lea ecx, [ebp - 0x135]
mov byte [ebp - 0x125], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x12ca571
sub ecx, edx
lea eax, [ebp - 0x135]
push ecx
push eax
lea ecx, [ebx + 0x54]
call fcn.0130e130
cmp byte [ebx + 8], 0
je 0x12ca5cd
xorps xmm0, xmm0
mov dword [ebp - 0x144], 0
movups xmmword [ebp - 0x154], xmm0
mov dword [ebp - 0x140], 0xf
mov byte [ebp - 0x154], 0
mov byte [ebp - 4], 0x1d
lea esi, [ebp - 0x154]
mov edi, dword [ebp - 0x14]
or edi, 0x20
mov dword [ebp - 0x1c], edi
jmp 0x12ca659
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0xb4]
mov word [ebp - 0xd6], 0x5c
mov byte [ebp - 0xd4], 0
lea eax, [eax + eax*2]
mov esi, dword [ecx + eax*8 + 0x10]
lea edx, [ecx + eax*8]
lea ecx, [ebp - 0xd6]
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x12ca600
mov eax, 0x7fffffff
sub ecx, edi
sub eax, esi
cmp eax, ecx
jb 0x12cbb27
cmp dword [edx + 0x14], 0x10
jb 0x12ca620
mov edx, dword [edx]
push ecx
lea eax, [ebp - 0xd6]
push eax
push esi
push edx
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x180]
call fcn.01315f90
mov eax, dword [ebp - 0x14]
or eax, 0x400000
or eax, 0x40
mov dword [ebp - 4], 0x1e
lea esi, [ebp - 0x180]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
mov edi, eax
lea ecx, [ebp - 0x73]
mov word [ebp - 0x73], 0x5c
mov byte [ebp - 0x71], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x12ca670
sub ecx, edx
mov eax, 0x7fffffff
mov edx, dword [ebp - 0xe4]
sub eax, edx
cmp eax, ecx
jb 0x12cbb27
cmp dword [ebp - 0xe0], 0x10
lea eax, [ebp - 0xf4]
push ecx
cmovae eax, dword [ebp - 0xf4]
lea ecx, [ebp - 0x73]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x1a8]
call fcn.01315f90
or edi, 0x20000
mov dword [ebp - 0x1c], edi
push esi
lea eax, [ebp - 0x1a8]
mov dword [ebp - 4], 0x1f
push eax
push dword [ebp - 0x20]
lea ecx, [ebp - 0xa8]
call fcn.01315da0
or edi, 0x10000
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x1c], edi
sub esp, 0x18
mov byte [ebp - 4], 0x20
mov edi, esp
lea edx, [ebx + 0x54]
mov dword [ebp - 0x2c], edi
cmp dword [ebx + 0x68], 0x10
mov ecx, dword [ebx + 0x64]
cmovae edx, dword [ebx + 0x54]
mov eax, dword [ebp - 0x94]
mov esi, dword [ebp - 0x98]
sub eax, esi
mov dword [ebp - 0x30], ecx
push ecx
push edx
cmp ecx, eax
ja 0x12ca752
cmp dword [ebp - 0x94], 0x10
lea eax, [ecx + esi]
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0xa8]
cmovae eax, dword [ebp - 0xa8]
add esi, eax
push esi
call fcn.013871e0
mov eax, dword [ebp - 0x30]
add esp, 0xc
mov byte [eax + esi], 0
lea eax, [ebp - 0xa8]
jmp 0x12ca76b
mov byte [ebp - 0x210], 0
push dword [ebp - 0x210]
push ecx
lea ecx, [ebp - 0xa8]
call fcn.01314380
xorps xmm0, xmm0
lea ecx, [ebp - 0x2cc]
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [edi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [edi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [ebp - 0x14]
or eax, 0x8000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
call fcn.012b4090
add esp, 0x18
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x94]
cmp ecx, 0x10
jb 0x12ca7fa
mov edx, dword [ebp - 0xa8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12ca7f0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb2c
push ecx
push edx
call fcn.01385783
add esp, 8
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0xf
mov byte [ebp - 0xa8], 0
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x194]
cmp ecx, 0x10
jb 0x12ca853
mov edx, dword [ebp - 0x1a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12ca849
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb2c
push ecx
push edx
call fcn.01385783
add esp, 8
mov byte [ebp - 4], 0x24
mov eax, dword [ebp - 0x14]
test al, 0x40
je 0x12ca8a4
mov ecx, dword [ebp - 0x16c]
and eax, 0xffffffbf
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x12ca8a4
mov edx, dword [ebp - 0x180]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12ca897
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb2c
push ecx
push edx
call fcn.01385783
mov eax, dword [ebp - 0x14]
add esp, 8
mov byte [ebp - 4], 0x25
test al, 0x20
je 0x12ca8ef
mov ecx, dword [ebp - 0x140]
and eax, 0xffffffdf
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x12ca8ef
mov edx, dword [ebp - 0x154]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12ca8e5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb2c
push ecx
push edx
call fcn.01385783
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x214], 0xf
xor esi, esi
movups xmmword [ebp - 0x228], xmm0
mov dword [ebp - 0x218], esi
mov byte [ebp - 0x228], 0
mov byte [ebp - 4], 0x26
cmp dword [ebp - 0x2bc], esi
je 0x12cab07
cmp dword [ebp - 0x80], esi
jne 0x12cab07
sub esp, 0x28
lea edx, [ebp - 0x2cc]
mov eax, esp
lea ecx, [ebp - 0x268]
push esi
push 1
mov dword [eax + 0x24], esi
call fcn.01312990
add esp, 0x30
mov byte [ebp - 4], 0x27
xor ecx, ecx
mov dword [ebp - 0x124], 0xf5cae7fc
mov dword [ebp - 0x120], 0xeee9e1e5
mov word [ebp - 0x11c], 0x100
nop dword [eax]
mov al, cl
sub al, 0x6d
xor byte [ebp + ecx - 0x124], al
inc ecx
cmp ecx, 8
jb 0x12ca970
lea eax, [ebp - 0x124]
mov byte [ebp - 0x11b], 0
push eax
lea ecx, [ebp - 0x268]
call fcn.01312600
cmp byte [eax], 0
je 0x12caaf4
mov dword [ebp - 0x11a], 0xf5cae7fc
xor ecx, ecx
mov dword [ebp - 0x116], 0xeee9e1e5
mov word [ebp - 0x112], 0x100
mov al, cl
sub al, 0x6d
xor byte [ebp + ecx - 0x11a], al
inc ecx
cmp ecx, 8
jb 0x12ca9c2
lea eax, [ebp - 0x11a]
mov byte [ebp - 0x111], 0
push eax
lea ecx, [ebp - 0x268]
call fcn.01312600
mov edx, eax
mov dword [ebp - 0x53], 0xe4f6faf6
mov dword [ebp - 0x4f], 0xffede8ee
xor ecx, ecx
mov dword [ebp - 0x4b], 0xfbf6c3ff
mov word [ebp - 0x47], 0xe6
mov byte [ebp - 0x45], 1
nop
mov al, cl
sub al, 0x6d
xor byte [ebp + ecx - 0x53], al
inc ecx
cmp ecx, 0xd
jb 0x12caa10
lea eax, [ebp - 0x53]
mov byte [ebp - 0x45], 0
push eax
mov ecx, edx
call fcn.01312600
cmp byte [eax], 0
je 0x12caaf4
lea ecx, [ebp - 0xce]
mov dword [ebp - 0xce], 0xf5cae7fc
mov dword [ebp - 0xca], 0xeee9e1e5
mov word [ebp - 0xc6], 0x100
call fcn.012b7620
push eax
lea ecx, [ebp - 0x268]
call fcn.01312600
lea ecx, [ebp - 0x107]
mov dword [ebp - 0x107], 0xe4f6faf6
mov esi, eax
mov dword [ebp - 0x103], 0xffede8ee
mov dword [ebp - 0xff], 0xfbf6c3ff
mov word [ebp - 0xfb], 0xe6
mov byte [ebp - 0xf9], 1
call fcn.012b2ec0
push eax
mov ecx, esi
call fcn.01312600
lea ecx, [ebp - 0x180]
push ecx
mov ecx, eax
call fcn.01312740
mov edx, eax
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x1a8]
call fcn.012aad40
push eax
lea ecx, [ebp - 0x228]
call fcn.0130e3d0
lea ecx, [ebp - 0x1a8]
call fcn.012aae60
lea ecx, [ebp - 0x180]
call fcn.012aae60
mov esi, dword [ebp - 0x218]
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], 0x26
call fcn.0130bff0
test esi, esi
jne 0x12cab2f
cmp dword [ebp - 0x7c], 0x10
lea eax, [ebp - 0x90]
push dword [ebp - 0x80]
cmovae eax, dword [ebp - 0x90]
lea ecx, [ebp - 0x228]
push eax
call fcn.0130e130
mov esi, dword [ebp - 0x218]
test esi, esi
setne byte [ebp - 0x15]
cmp byte [ebx + 8], 0
je 0x12cab79
xorps xmm0, xmm0
mov dword [ebp - 0x144], 0
movups xmmword [ebp - 0x154], xmm0
mov dword [ebp - 0x140], 0xf
mov byte [ebp - 0x154], 0
mov byte [ebp - 4], 0x29
lea esi, [ebp - 0x154]
mov edi, dword [ebp - 0x14]
or edi, 0x80
mov dword [ebp - 0x1c], edi
jmp 0x12cabf8
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0xb4]
mov word [ebp - 0x77], 0x5c
mov byte [ebp - 0x75], 0
lea eax, [eax + eax*2]
mov esi, dword [ecx + eax*8 + 0x10]
lea edx, [ecx + eax*8]
lea ecx, [ebp - 0x77]
lea edi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x12caba0
mov eax, 0x7fffffff
sub ecx, edi
sub eax, esi
cmp eax, ecx
jb 0x12cbb27
cmp dword [edx + 0x14], 0x10
jb 0x12cabc0
mov edx, dword [edx]
push ecx
lea eax, [ebp - 0x77]
push eax
push esi
push edx
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x180]
call fcn.01315f90
mov eax, dword [ebp - 0x14]
or eax, 0x80000
or eax, 0x100
mov dword [ebp - 4], 0x2a
lea esi, [ebp - 0x180]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
mov edi, eax
lea ecx, [ebp - 0x43]
mov word [ebp - 0x43], 0x5c
mov byte [ebp - 0x41], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x12cac08
sub ecx, edx
mov eax, 0x7fffffff
mov edx, dword [ebp - 0xe4]
sub eax, edx
cmp eax, ecx
jb 0x12cbb27
cmp dword [ebp - 0xe0], 0x10
lea eax, [ebp - 0xf4]
push ecx
cmovae eax, dword [ebp - 0xf4]
lea ecx, [ebp - 0x43]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x20]
lea ecx, [ebp - 0x1a8]
call fcn.01315f90
or edi, 0x4000
mov dword [ebp - 0x1c], edi
push esi
lea eax, [ebp - 0x1a8]
mov dword [ebp - 4], 0x2b
push eax
push dword [ebp - 0x20]
lea ecx, [ebp - 0xa8]
call fcn.01315da0
or edi, 0x2000
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x1c], edi
mov byte [ebp - 4], 0x2c
lea ecx, [ebx + 0x3c]
cmp dword [ebx + 0x50], 0x10
mov edx, dword [ebp - 0x98]
cmovae ecx, dword [ebx + 0x3c]
mov eax, dword [ebp - 0x94]
mov edi, dword [ebx + 0x4c]
sub eax, edx
mov dword [ebp - 0x30], edx
push edi
push ecx
cmp edi, eax
ja 0x12cace6
cmp dword [ebp - 0x94], 0x10
lea esi, [ebp - 0xa8]
lea eax, [edx + edi]
cmovae esi, dword [ebp - 0xa8]
mov dword [ebp - 0x98], eax
lea eax, [esi + edx]
push eax
call fcn.013871e0
mov ecx, dword [ebp - 0x30]
lea eax, [edi + esi]
add esp, 0xc
mov byte [eax + ecx], 0
lea eax, [ebp - 0xa8]
jmp 0x12cacff
mov byte [ebp - 0x20c], 0
lea ecx, [ebp - 0xa8]
push dword [ebp - 0x20c]
push edi
call fcn.01314380
mov dword [ebp - 0x1b4], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x1c4], xmm0
mov dword [ebp - 0x1b0], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1c4], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1b4], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov eax, dword [ebp - 0x14]
or eax, 0x1000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x2e
mov ecx, dword [ebp - 0x94]
cmp ecx, 0x10
jb 0x12cad91
mov edx, dword [ebp - 0xa8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12cad87
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb2c
push ecx
push edx
call fcn.01385783
add esp, 8
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0xf
mov byte [ebp - 0xa8], 0
mov byte [ebp - 4], 0x2f
mov ecx, dword [ebp - 0x194]
cmp ecx, 0x10
jb 0x12cadea
mov edx, dword [ebp - 0x1a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12cade0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb2c
push ecx
push edx
call fcn.01385783
add esp, 8
mov byte [ebp - 4], 0x30
mov eax, dword [ebp - 0x14]
test eax, 0x100
je 0x12cae40
mov ecx, dword [ebp - 0x16c]
and eax, 0xfffffeff
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x12cae40
mov edx, dword [ebp - 0x180]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12cae33
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb2c
push ecx
push edx
call fcn.01385783
mov eax, dword [ebp - 0x14]
add esp, 8
mov byte [ebp - 4], 0x31
test al, al
jns 0x12cae8d
mov ecx, dword [ebp - 0x140]
and eax, 0xffffff7f
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x1c], eax
cmp ecx, 0x10
jb 0x12cae8d
mov edx, dword [ebp - 0x154]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12cae83
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb2c
push ecx
push edx
call fcn.01385783
add esp, 8
cmp dword [ebp - 0x1b0], 0x10
lea ecx, [ebp - 0x1c4]
lea edx, [ebp - 0x28]
cmovae ecx, dword [ebp - 0x1c4]
call fcn.012bccf0
test eax, eax
jne 0x12cb84f
movaps xmm0, xmmword [0xe36030]
xor ecx, ecx
movups xmmword [ebp - 0x2b3], xmm0
mov dword [ebp - 0x273], 0xbaf5999c
movaps xmm0, xmmword [0xe358b0]
movups xmmword [ebp - 0x2a3], xmm0
mov dword [ebp - 0x26f], 0xb4b0bfb8
movaps xmm0, xmmword [0xe353e0]
movups xmmword [ebp - 0x293], xmm0
mov word [ebp - 0x26b], 0xa8
movaps xmm0, xmmword [0xe34fb0]
movups xmmword [ebp - 0x283], xmm0
mov byte [ebp - 0x269], 1
nop
mov al, cl
sub al, 0x6d
xor byte [ebp + ecx - 0x2b3], al
inc ecx
cmp ecx, 0x49
jb 0x12caf10
mov ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x70]
push 0
push eax
push 0
push 1
push 0xffffffffffffffff
lea edx, [ebp - 0x2b3]
mov byte [ebp - 0x269], 0
call fcn.0136ae90
add esp, 0x14
test eax, eax
jne 0x12cb847
mov edi, dword [ebp - 0x70]
mov ecx, edi
call fcn.013477c0
cmp eax, 0x64
jne 0x12cb7cf
test edi, edi
je 0x12cafb5
cmp dword [edi + 0x2c], 0
je 0x12caf90
mov eax, 2
cmp ax, word [edi + 0x30]
jae 0x12caf90
mov eax, dword [edi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x12caf88
push eax
call dword [0xe43d30]
add esp, 4
mov ecx, dword [edi + 0x2c]
add ecx, 0x50
jmp 0x12cafba
mov eax, dword [edi]
test eax, eax
je 0x12cafb5
mov eax, dword [eax + 0x44]
test eax, eax
je 0x12cafa7
push eax
call dword [0xe43d30]
add esp, 4
push 0
push 0x19
push dword [edi]
call fcn.01336170
add esp, 0xc
mov ecx, 0xe2e4d8
mov dl, 1
call fcn.01344690
mov dword [ebp - 0xf8], eax
test edi, edi
je 0x12cb01e
mov esi, dword [edi]
mov ecx, dword [edi + 0x64]
test esi, esi
je 0x12cb001
cmp byte [esi + 0x1e], 0
jne 0x12cafe4
mov eax, esi
cmp ecx, 0xc0a
jne 0x12caffc
push 0
push 7
push esi
call fcn.01336170
mov byte [esi + 0x1e], 0
add esp, 0xc
mov eax, dword [edi]
mov ecx, 7
mov edx, dword [esi + 0x18]
jmp 0x12cb008
mov edx, 0xff
mov eax, esi
and ecx, edx
mov dword [edi + 0x64], ecx
mov eax, dword [eax + 0x44]
test eax, eax
je 0x12cb01e
push eax
call dword [0xe43d38]
add esp, 4
mov edx, 3
mov ecx, edi
call fcn.01347cf0
mov edx, 3
mov dword [ebp - 0x2c], eax
mov ecx, edi
call fcn.01347de0
mov dword [ebp - 0x30], eax
test edi, edi
je 0x12cb08b
cmp dword [edi + 0x2c], 0
je 0x12cb066
xor eax, eax
cmp ax, word [edi + 0x30]
jae 0x12cb066
mov eax, dword [edi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x12cb061
push eax
call dword [0xe43d30]
add esp, 4
mov ecx, dword [edi + 0x2c]
jmp 0x12cb090
mov eax, dword [edi]
test eax, eax
je 0x12cb08b
mov eax, dword [eax + 0x44]
test eax, eax
je 0x12cb07d
push eax
call dword [0xe43d30]
add esp, 4
push 0
push 0x19
push dword [edi]
call fcn.01336170
add esp, 0xc
mov ecx, 0xe2e4d8
mov dl, 1
call fcn.01344690
mov dword [ebp - 0x34], eax
test edi, edi
je 0x12cb0f4
mov esi, dword [edi]
mov ecx, dword [edi + 0x64]
test esi, esi
je 0x12cb0d4
cmp byte [esi + 0x1e], 0
jne 0x12cb0b7
mov eax, esi
cmp ecx, 0xc0a
jne 0x12cb0cf
push 0
push 7
push esi
call fcn.01336170
mov byte [esi + 0x1e], 0
add esp, 0xc
mov eax, dword [edi]
mov ecx, 7
mov edx, dword [esi + 0x18]
jmp 0x12cb0db
mov edx, 0xff
mov eax, esi
and ecx, edx
mov dword [edi + 0x64], ecx
mov eax, dword [eax + 0x44]
test eax, eax
je 0x12cb0f1
push eax
call dword [0xe43d38]
add esp, 4
mov eax, dword [ebp - 0x34]
mov ecx, eax
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x12cb100
sub ecx, edx
jne 0x12cb1c8
test edi, edi
je 0x12cb163
cmp dword [edi + 0x2c], ecx
je 0x12cb13e
mov eax, 1
cmp ax, word [edi + 0x30]
jae 0x12cb13e
mov eax, dword [edi]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x12cb136
push eax
call dword [0xe43d30]
add esp, 4
mov ecx, dword [edi + 0x2c]
add ecx, 0x28
jmp 0x12cb168
mov eax, dword [edi]
test eax, eax
je 0x12cb163
mov eax, dword [eax + 0x44]
test eax, eax
je 0x12cb155
push eax
call dword [0xe43d30]
add esp, 4
push 0
push 0x19
push dword [edi]
call fcn.01336170
add esp, 0xc
mov ecx, 0xe2e4d8
mov dl, 1
call fcn.01344690
mov dword [ebp - 0x34], eax
test edi, edi
je 0x12cb1c8
mov esi, dword [edi]
mov eax, dword [edi + 0x64]
test esi, esi
je 0x12cb1ab
cmp byte [esi + 0x1e], 0
jne 0x12cb18e
mov edx, esi
cmp eax, 0xc0a
jne 0x12cb1a6
push 0
push 7
push esi
call fcn.01336170
mov byte [esi + 0x1e], 0
add esp, 0xc
mov edx, dword [edi]
mov eax, 7
mov ecx, dword [esi + 0x18]
jmp 0x12cb1b2
mov ecx, 0xff
mov edx, esi
and ecx, eax
mov dword [edi + 0x64], ecx
mov eax, dword [edx + 0x44]
test eax, eax
je 0x12cb1c8
push eax
call dword [0xe43d38]
add esp, 4
xorps xmm0, xmm0
mov dword [ebp - 0x12c], 0
movups xmmword [ebp - 0x13c], xmm0
mov dword [ebp - 0x128], 0xf
mov byte [ebp - 0x13c], 0
push dword [ebp - 0x30]
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x154]
mov esi, dword [ebp - 0x2c]
push esi
movups xmmword [ebp - 0x154], xmm0
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0
call fcn.012ab030
cmp byte [ebp - 0x15], 0
mov byte [ebp - 4], 0x33
je 0x12cb2ee
mov dword [ebp - 0xb9], 0xa5a5e5
xor ecx, ecx
mov byte [ebp - 0xb5], 1
nop
mov al, cl
sub al, 0x6d
xor byte [ebp + ecx - 0xb9], al
inc ecx
cmp ecx, 3
jb 0x12cb240
lea eax, [ebp - 0xb9]
mov byte [ebp - 0xb5], 0
push eax
push esi
call fcn.01386dd0
add esp, 8
test eax, eax
jne 0x12cb2ac
mov dword [ebp - 0xbe], 0xa4a5e5
xor ecx, ecx
mov byte [ebp - 0xba], 1
nop
mov al, cl
sub al, 0x6d
xor byte [ebp + ecx - 0xbe], al
inc ecx
cmp ecx, 3
jb 0x12cb280
lea eax, [ebp - 0xbe]
mov byte [ebp - 0xba], 0
push eax
push esi
call fcn.01386dd0
add esp, 8
test eax, eax
je 0x12cb2ee
sub esp, 0x18
lea eax, [ebp - 0x154]
mov ecx, esp
mov dword [ebp - 0x1ac], esp
push eax
call fcn.0130e550
sub esp, 0x18
mov byte [ebp - 4], 0x34
lea eax, [ebp - 0x228]
mov ecx, esp
push eax
call fcn.0130e550
xor dl, dl
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x13c]
call fcn.012c8890
add esp, 0x30
jmp 0x12cb2ff
push ecx
lea edx, [ebp - 0x13c]
mov ecx, esi
call fcn.012c8760
add esp, 4
mov eax, dword [ebp - 0xf8]
test eax, eax
je 0x12cb31b
mov ecx, eax
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x12cb310
sub ecx, edx
jne 0x12cb325
cmp dword [ebp - 0x30], 4
jl 0x12cb743
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x188]
push 0
mov byte [ebp - 0x190], 0
call fcn.0130ff50
mov eax, dword [ebp - 0x58]
xorps xmm0, xmm0
mov byte [ebp - 4], 0x36
mov ecx, dword [ebp - 0xb4]
push 0x18
lea eax, [eax + eax*2]
movq qword [ebp - 0x1d0], xmm0
mov byte [ebp - 0x1d8], 3
lea esi, [ecx + eax*8]
call fcn.01385502
lea ecx, [ebp - 0x159]
mov dword [ebp - 0x2c], eax
add esp, 4
mov dword [ebp - 0x238], ecx
mov dword [ebp - 0x234], eax
push esi
mov ecx, eax
mov byte [ebp - 4], 0x37
call fcn.0130e550
mov esi, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x234], 0
mov dword [ebp - 0x1d0], esi
mov dword [ebp - 0x1cc], eax
mov byte [ebp - 4], 0x38
xor ecx, ecx
mov dword [ebp - 0x69], 0xf0fae6e3
mov dword [ebp - 0x65], 0xfcf4fe
mov byte [ebp - 0x61], 1
mov al, cl
sub al, 0x6d
xor byte [ebp + ecx - 0x69], al
inc ecx
cmp ecx, 7
jb 0x12cb3c4
lea eax, [ebp - 0x69]
mov byte [ebp - 0x61], 0
push eax
lea ecx, [ebp - 0x190]
call fcn.01312600
mov byte [ebp - 4], 0x36
mov cl, byte [eax]
mov byte [eax], 3
mov edx, dword [eax + 0xc]
mov byte [ebp - 0x1d8], cl
mov ecx, dword [eax + 8]
mov dword [eax + 8], esi
mov esi, dword [ebp - 0x164]
mov dword [ebp - 0x1d0], ecx
lea ecx, [ebp - 0x1d8]
mov dword [eax + 0xc], esi
mov dword [ebp - 0x1cc], edx
call fcn.0130bff0
xorps xmm0, xmm0
mov byte [ebp - 0x1e8], 3
push 0x18
movq qword [ebp - 0x1e0], xmm0
call fcn.01385502
mov esi, eax
add esp, 4
lea eax, [ebp - 0x15a]
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x22c], esi
mov ecx, dword [ebp - 0x34]
xorps xmm0, xmm0
mov byte [ebp - 4], 0x39
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x12cb470
sub ecx, edx
push ecx
push dword [ebp - 0x34]
mov ecx, esi
call fcn.012ab030
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x1e0], esi
mov byte [ebp - 4], 0x3a
xor ecx, ecx
mov dword [ebp - 0xc3], 0xf9e6e6
mov byte [ebp - 0xbf], 1
nop dword [eax + eax]
mov al, cl
sub al, 0x6d
xor byte [ebp + ecx - 0xc3], al
inc ecx
cmp ecx, 3
jb 0x12cb4b0
lea eax, [ebp - 0xc3]
mov byte [ebp - 0xbf], 0
push eax
lea ecx, [ebp - 0x190]
call fcn.01312600
mov esi, eax
mov byte [ebp - 4], 0x36
mov eax, dword [ebp - 0x1dc]
mov edi, dword [ebp - 0x2c]
mov cl, byte [esi]
mov byte [esi], 3
mov edx, dword [esi + 0xc]
mov byte [ebp - 0x1e8], cl
mov ecx, dword [esi + 8]
mov dword [ebp - 0x1e0], ecx
lea ecx, [ebp - 0x1e8]
mov dword [esi + 8], edi
mov dword [esi + 0xc], eax
mov dword [ebp - 0x1dc], edx
call fcn.0130bff0
xorps xmm0, xmm0
mov byte [ebp - 0x1f8], 3
push 0x18
movq qword [ebp - 0x1f0], xmm0
call fcn.01385502
mov esi, eax
add esp, 4
lea eax, [ebp - 0x15b]
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x23c], esi
mov ecx, dword [ebp - 0xf8]
xorps xmm0, xmm0
mov byte [ebp - 4], 0x3b
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x12cb570
sub ecx, edx
push ecx
push dword [ebp - 0xf8]
mov ecx, esi
call fcn.012ab030
mov dword [ebp - 0x23c], 0
mov dword [ebp - 0x1f0], esi
mov byte [ebp - 4], 0x3c
xor ecx, ecx
mov dword [ebp - 0x5f], 0xfff2fbff
mov word [ebp - 0x5b], 0xf9
mov byte [ebp - 0x59], 1
nop
mov al, cl
sub al, 0x6d
xor byte [ebp + ecx - 0x5f], al
inc ecx
cmp ecx, 5
jb 0x12cb5b0
lea eax, [ebp - 0x5f]
mov byte [ebp - 0x59], 0
push eax
lea ecx, [ebp - 0x190]
call fcn.01312600
mov esi, eax
mov byte [ebp - 4], 0x36
mov eax, dword [ebp - 0x1ec]
mov edi, dword [ebp - 0x2c]
mov cl, byte [esi]
mov byte [esi], 3
mov edx, dword [esi + 0xc]
mov byte [ebp - 0x1f8], cl
mov ecx, dword [esi + 8]
mov dword [ebp - 0x1f0], ecx
lea ecx, [ebp - 0x1f8]
mov dword [esi + 8], edi
mov dword [esi + 0xc], eax
mov dword [ebp - 0x1ec], edx
call fcn.0130bff0
xorps xmm0, xmm0
mov byte [ebp - 0x208], 3
push 0x18
movq qword [ebp - 0x200], xmm0
call fcn.01385502
mov esi, eax
add esp, 4
lea eax, [ebp - 0x15c]
mov dword [ebp - 0x164], esi
mov dword [ebp - 0x168], eax
lea eax, [ebp - 0x13c]
mov byte [ebp - 4], 0x3d
push eax
mov ecx, esi
call fcn.0130e550
mov dword [ebp - 0x164], 0
mov eax, dword [ebp - 0x164]
mov dword [ebp - 0x200], esi
mov dword [ebp - 0x1fc], eax
mov byte [ebp - 4], 0x3e
xor ecx, ecx
mov edi, dword [ebp - 0x70]
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 0x12cb690
lea eax, [ebp - 0x3e]
mov byte [ebp - 0x35], 0
push eax
lea ecx, [ebp - 0x190]
call fcn.01312600
mov byte [ebp - 4], 0x36
mov cl, byte [eax]
mov byte [eax], 3
mov edx, dword [eax + 0xc]
mov byte [ebp - 0x208], cl
mov ecx, dword [eax + 8]
mov dword [eax + 8], esi
mov esi, dword [ebp - 0x164]
mov dword [ebp - 0x200], ecx
lea ecx, [ebp - 0x208]
mov dword [eax + 0xc], esi
mov dword [ebp - 0x1fc], edx
call fcn.0130bff0
mov dword [ebp - 0x110], 0xfff2fbff
xor ecx, ecx
mov dword [ebp - 0x10c], 0x100ebf9
nop
mov al, cl
sub al, 0x6d
xor byte [ebp + ecx - 0x110], al
inc ecx
cmp ecx, 6
jb 0x12cb700
mov ecx, dword [ebp - 0x158]
lea eax, [ebp - 0x110]
push eax
mov byte [ebp - 0x109], 0
call fcn.01312600
lea ecx, [ebp - 0x190]
push ecx
mov ecx, eax
call fcn.0130b970
lea ecx, [ebp - 0x190]
call fcn.0130bff0
mov byte [ebp - 4], 0x32
mov ecx, dword [ebp - 0x140]
cmp ecx, 0x10
jb 0x12cb781
mov edx, dword [ebp - 0x154]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12cb777
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb2c
push ecx
push edx
call fcn.01385783
add esp, 8
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0x128]
cmp ecx, 0x10
jb 0x12cb7bf
mov edx, dword [ebp - 0x13c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12cb7b5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb2c
push ecx
push edx
call fcn.01385783
add esp, 8
mov ecx, edi
call fcn.013477c0
cmp eax, 0x64
je 0x12caf60
test edi, edi
je 0x12cb847
mov esi, dword [edi]
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x12cb7e9
push eax
call dword [0xe43d30]
add esp, 4
mov eax, dword [edi + 0x50]
mov dword [ebp - 0x30], 0
cmp eax, 0xbdf20da3
je 0x12cb801
cmp eax, 0x519c2973
jne 0x12cb80b
mov ecx, edi
call fcn.013465c0
mov dword [ebp - 0x30], eax
mov ecx, edi
call fcn.013467d0
test esi, esi
je 0x12cb836
cmp byte [esi + 0x1e], 0
jne 0x12cb825
cmp dword [ebp - 0x30], 0xc0a
jne 0x12cb836
push 0
push 7
push esi
call fcn.01336170
add esp, 0xc
mov byte [esi + 0x1e], 0
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x12cb847
push eax
call dword [0xe43d38]
add esp, 4
mov ecx, dword [ebp - 0x28]
call fcn.012bd120
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x1b0]
cmp ecx, 0x10
jb 0x12cb88d
mov edx, dword [ebp - 0x1c4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12cb883
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb2c
push ecx
push edx
call fcn.01385783
add esp, 8
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0x214]
mov dword [ebp - 0x1b4], 0
mov dword [ebp - 0x1b0], 0xf
mov byte [ebp - 0x1c4], 0
cmp ecx, 0x10
jb 0x12cb8e6
mov edx, dword [ebp - 0x228]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12cb8dc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb2c
push ecx
push edx
call fcn.01385783
add esp, 8
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x2b8]
cmp ecx, 0x10
jb 0x12cb924
mov edx, dword [ebp - 0x2cc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12cb91a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb2c
push ecx
push edx
call fcn.01385783
add esp, 8
mov ecx, dword [ebp - 0x58]
inc ecx
mov dword [ebp - 0x58], ecx
cmp ecx, dword [ebp - 0x20]
jae 0x12cb93b
mov esi, dword [ebp - 0xb4]
jmp 0x12c9f73
mov ecx, dword [ebp - 0x7c]
cmp ecx, 0x10
jb 0x12cb972
mov edx, dword [ebp - 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12cb968
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb4a
push ecx
push edx
call fcn.01385783
add esp, 8
mov ecx, dword [ebp - 0x244]
cmp ecx, 0x10
jb 0x12cb9ac
mov edx, dword [ebp - 0x258]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12cb9a2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb4a
push ecx
push edx
call fcn.01385783
add esp, 8
lea ecx, [ebp - 0xb4]
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], 0xf
mov byte [ebp - 0x258], 0
call fcn.01310740
mov ecx, dword [ebp - 0xe0]
cmp ecx, 0x10
jb 0x12cba0c
mov edx, dword [ebp - 0xf4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12cba02
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb4a
push ecx
push edx
call fcn.01385783
add esp, 8
mov ecx, dword [ebx + 0x20]
cmp ecx, 0x10
jb 0x12cba40
mov edx, dword [ebx + 0xc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12cba36
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb4a
push ecx
push edx
call fcn.01385783
add esp, 8
mov ecx, dword [ebx + 0x38]
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x20], 0xf
mov byte [ebx + 0xc], 0
cmp ecx, 0x10
jb 0x12cba86
mov edx, dword [ebx + 0x24]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12cba7c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb4a
push ecx
push edx
call fcn.01385783
add esp, 8
mov ecx, dword [ebx + 0x50]
mov dword [ebx + 0x34], 0
mov dword [ebx + 0x38], 0xf
mov byte [ebx + 0x24], 0
cmp ecx, 0x10
jb 0x12cbacc
mov edx, dword [ebx + 0x3c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12cbac2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb4a
push ecx
push edx
call fcn.01385783
add esp, 8
mov ecx, dword [ebx + 0x68]
mov dword [ebx + 0x4c], 0
mov dword [ebx + 0x50], 0xf
mov byte [ebx + 0x3c], 0
cmp ecx, 0x10
jb 0x12cbb0e
mov edx, dword [ebx + 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x12cbb04
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x12cbb4a
push ecx
push edx
call fcn.01385783
add esp, 8
mov eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.012aa840
call fcn.0138aa20
call fcn.012aa840
call fcn.0138aa20
call fcn.012aa840
call fcn.012aa840
call fcn.0138aa20
call fcn.0138aa20
int3