Function at 0x1013f570
Capabilities:
Encode data using xor

Disassembly:
mov eax, dword [esp + 4]
push edi
mov edi, ecx
cmp eax, 1
jne 0x1013f585
call fcn.1012a3a0
pop edi
ret 0xc
cmp eax, 2
jne 0x1013f5d6
call fcn.10131be0
mov ecx, edi
mov word [edi + 0x4fc], ax
call fcn.10131be0
movzx eax, ax
movd xmm1, eax
movzx eax, word [edi + 0x6f8]
cvtdq2ps xmm1, xmm1
movss dword [edi + 0x540], xmm1
cmp eax, 1
jbe 0x10140704
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [edi + 0x540], xmm1
pop edi
ret 0xc
push esi
cmp eax, 4
jne 0x1013f75c
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 0x18
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, edi
call fcn.10131be0
movzx eax, ax
test ax, ax
je 0x1013f613
cwde
add eax, 0xffffff80
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x2abec], xmm0
mov ecx, edi
call fcn.10131be0
movzx eax, ax
cmp ax, 0xffff
je 0x1013f63b
cwde
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102c5fac]
movss dword [edi + 0x2abe8], xmm0
mov ecx, edi
call fcn.10131be0
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
test cx, cx
jns 0x1013f65b
neg ecx
or esi, 0xffffffff
movzx ecx, cx
jmp 0x1013f660
mov esi, 1
mov eax, ecx
and eax, 0x1f
mov edx, eax
sub ecx, eax
cmp edx, 0xc
jne 0x1013f678
movss xmm0, dword [0x102c6140]
jmp 0x1013f68e
cmp edx, 0x14
jne 0x1013f687
movss xmm0, dword [0x102c6158]
jmp 0x1013f68e
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movsx eax, cx
mov ecx, dword [edi + 0x54800]
push 1
push 0xffffffffffffffff
movd xmm1, eax
cvtdq2ps xmm1, xmm1
push 0xffffffffffffffe8
addss xmm1, xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
mulss xmm1, dword [0x102c5fac]
movss dword [edi + 0x2abe4], xmm1
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, edi
call fcn.10131be0
movzx eax, ax
mov ecx, 0x7fff
cmp ax, cx
je 0x1013f6eb
push eax
call fcn.1012b500
fstp dword [edi + 0x544]
add esp, 4
movss xmm1, dword [edi + 0x544]
movss xmm0, dword [0x102c5fd8]
comiss xmm0, xmm1
jbe 0x1013f736
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 0x20
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, edi
call fcn.10131be0
movzx eax, ax
push eax
call fcn.1012b500
fstp dword [esp + 0x10]
movss xmm1, dword [esp + 0x10]
add esp, 4
movss dword [edi + 0x544], xmm1
movss xmm0, dword [edi + 0x2a8e0]
ucomiss xmm0, dword [0x103ef830]
lahf
test ah, 0x44
jp 0x10140703
pop esi
movss dword [edi + 0x2a8e0], xmm1
pop edi
ret 0xc
cmp eax, 0xc
jne 0x1013f780
call fcn.10131c40
push eax
lea eax, [edi + 0xd74]
push 0x103e7748
push eax
call fcn.10007060
add esp, 0xc
pop esi
pop edi
ret 0xc
cmp eax, 0x95
jne 0x1013f88a
cmp byte [edi + 0x428], 0
lea esi, [edi + 0x428]
jne 0x10140703
mov ecx, dword [edi + 0x54800]
push 1
push 2
push esi
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, 3
mov word [edi + 0x4aa], ax
mov al, byte [esi]
push 1
cmp al, 0x41
jge 0x1013f7db
mov ecx, dword [edi + 0x54800]
lea eax, [edi + 0x42a]
push 0x3e
push eax
mov edx, dword [ecx]
call dword [edx + 8]
pop esi
pop edi
ret 0xc
mov byte [edi + 0x4fe], al
lea edx, [esp + 0x10]
mov al, byte [edi + 0x429]
mov byte [edi + 0x4ff], al
mov ecx, dword [edi + 0x54800]
push 2
push edx
mov eax, dword [ecx]
call dword [eax + 8]
mov ax, word [esp + 0xc]
cmp al, 0x2d
jne 0x1013f85c
cmp ah, 0x53
je 0x1013f817
cmp ah, 0x45
je 0x1013f817
cmp ah, 0x4d
jne 0x1013f85c
mov byte [edi + 0x500], 0x2d
mov byte [edi + 0x42a], 0x2d
mov byte [edi + 0x501], ah
mov byte [edi + 0x42b], ah
mov byte [edi + 0x42c], 0x20
cmp ah, 0x53
jne 0x1013f849
mov dword [edi + 0x4a8], 0x40001
jmp 0x1013f86f
cmp ah, 0x4d
jne 0x1013f86f
mov eax, 5
mov word [edi + 0x4aa], ax
jmp 0x1013f86f
mov byte [edi + 0x42a], 0x20
mov byte [edi + 0x42b], al
mov byte [edi + 0x42c], ah
mov ecx, dword [edi + 0x54800]
lea eax, [edi + 0x42d]
push 1
push 0x3a
push eax
mov edx, dword [ecx]
call dword [edx + 8]
pop esi
pop edi
ret 0xc
cmp eax, 0x9a
jne 0x1013f8d3
call fcn.10131c40
mov ecx, edi
call fcn.10131c40
mov ecx, edi
mov word [edi + 0xb8], ax
call fcn.10131c40
mov ecx, edi
mov word [edi + 0xba], ax
call fcn.10131c40
mov ecx, edi
mov word [edi + 0xb4], ax
call fcn.10131c40
pop esi
mov word [edi + 0xb6], ax
pop edi
ret 0xc
push ebx
cmp eax, 0xa9
jne 0x1013f940
mov ecx, dword [edi + 0x54800]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, dword [edi + 0x54800]
mov ebx, eax
push 1
push 0
push 2
mov edx, dword [ecx]
call dword [edx + 0xc]
xor esi, esi
nop dword [eax]
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x298b0], ecx
cmp esi, 4
jl 0x1013f900
push 0
push 0
mov ecx, edi
call fcn.1012aa80
mov ecx, dword [edi + 0x54800]
mov eax, ebx
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
pop ebx
pop esi
pop edi
ret 0xc
cmp eax, 0xe0
jne 0x1013f9f0
call fcn.10131be0
mov ecx, edi
call fcn.10131be0
mov ecx, edi
mov word [edi + 0x968], ax
call fcn.10131be0
mov ecx, edi
mov word [edi + 0x96a], ax
call fcn.10131be0
mov ecx, edi
call fcn.10131be0
mov ecx, edi
call fcn.10131be0
mov ecx, edi
mov word [edi + 0x96c], ax
call fcn.10131be0
mov ecx, edi
mov word [edi + 0x96e], ax
call fcn.10131be0
mov ecx, edi
mov word [edi + 0x970], ax
call fcn.10131be0
mov ecx, edi
mov word [edi + 0x972], ax
call fcn.10131be0
mov ecx, edi
mov word [edi + 0x974], ax
call fcn.10131be0
mov ecx, edi
mov word [edi + 0x976], ax
call fcn.10131be0
mov ecx, edi
mov word [edi + 0x978], ax
call fcn.10131be0
pop ebx
pop esi
mov word [edi + 0x97a], ax
pop edi
ret 0xc
cmp eax, 0x4013
jne 0x1013fa65
call fcn.10131c40
mov ecx, edi
call fcn.10131c40
mov ecx, edi
mov dword [edi + 0x97c], eax
call fcn.10131c40
mov ecx, edi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103f0390]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0x10], xmm0
call fcn.10131c40
movss xmm1, dword [esp + 0x10]
pop ebx
pop esi
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x103f0390]
cvtpd2ps xmm0, xmm0
divss xmm1, xmm0
movss dword [edi + 0x980], xmm1
pop edi
ret 0xc
cmp eax, 0x4001
jne 0x10140702
mov esi, dword [esp + 0x18]
cmp esi, 0x1f4
jbe 0x10140702
mov ecx, dword [edi + 0x54800]
push ebp
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ebx, eax
mov dword [esp + 0x14], ebx
cmp esi, 0x4cb
ja 0x1013febc
je case.0x1013fee4.1250
add esi, 0xfffffdba
cmp esi, 0xd6
ja case.0x1013fee4.1252
movzx eax, byte [esi + 0x1014071c]
jmp dword [eax*4 + 0x10140708]
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x3c]
push 0
cdq
mov dword [edi + 0x700], 1
mov esi, dword [ecx]
push edx
push eax
call dword [esi + 0xc]
xor esi, esi
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x298b0], ecx
cmp esi, 4
jl 0x1013fae5
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x82]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
nop word [eax + eax]
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x29930], ecx
cmp esi, 4
jl 0x1013fb20
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x8c]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x29940], ecx
cmp esi, 4
jl 0x1013fb55
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x46]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 2
push 2
mov ecx, edi
call fcn.1012aa80
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x96]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 1
mov ecx, edi
call fcn.1012a5a0
jmp case.0x1013fee4.1252
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x30]
push 0
cdq
mov dword [edi + 0x700], 2
mov esi, dword [ecx]
push edx
push eax
call dword [esi + 0xc]
xor esi, esi
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x298b0], ecx
cmp esi, 4
jl 0x1013fbd3
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x120]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x29930], ecx
cmp esi, 4
jl 0x1013fc08
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x12a]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
nop dword [eax]
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x29940], ecx
cmp esi, 4
jl 0x1013fc40
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x134]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x29960], ecx
cmp esi, 4
jl 0x1013fc75
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x4e]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 0xc
push 2
mov ecx, edi
call fcn.1012aa80
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x148]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 1
mov ecx, edi
call fcn.1012a5a0
jmp case.0x1013fee4.1252
mov ecx, edi
mov dword [edi + 0x700], 3
call fcn.10131be0
mov ecx, dword [edi + 0x54800]
movzx eax, ax
mov dword [edi + 0x704], eax
lea eax, [ebx + 0x88]
push 0
mov esi, dword [ecx]
cdq
push edx
push eax
call dword [esi + 0xc]
xor esi, esi
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x298b0], ecx
cmp esi, 4
jl 0x1013fd06
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x92]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
nop dword [eax + eax]
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x299d0], ecx
cmp esi, 4
jl 0x1013fd40
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0xe2]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x29930], ecx
cmp esi, 4
jl 0x1013fd75
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0xec]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
nop word [eax + eax]
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x29940], ecx
cmp esi, 4
jl 0x1013fdb0
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0xf6]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x29960], ecx
cmp esi, 4
jl 0x1013fde5
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x100]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
nop word [eax + eax]
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x298c0], ecx
cmp esi, 4
jl 0x1013fe20
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x9c]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 0xc
push 2
mov ecx, edi
call fcn.1012aa80
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x10a]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 0
mov ecx, edi
call fcn.1012a5a0
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x188]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor ebp, ebp
lea esi, [edi + 0x710]
lea ebx, [ebp + 4]
nop
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
lea esi, [esi + 4]
add ebp, ecx
mov dword [esi - 4], ecx
sub ebx, 1
jne 0x1013fea0
jmp 0x101406da
cmp esi, 0x5e2
ja 0x101402da
je case.0x1013fee4.1312
add esi, 0xfffffb1e
cmp esi, 0x67
ja case.0x1013fee4.1252
movzx eax, byte [esi + 0x10140808]
jmp dword [eax*4 + 0x101407f4]
mov ecx, edi
mov dword [edi + 0x700], 4
call fcn.10131be0
mov ecx, dword [edi + 0x54800]
movzx eax, ax
mov dword [edi + 0x704], eax
lea eax, [ebx + 0x88]
push 0
mov esi, dword [ecx]
cdq
push edx
push eax
call dword [esi + 0xc]
xor esi, esi
nop dword [eax]
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x298b0], ecx
cmp esi, 4
jl 0x1013ff20
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x92]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x299d0], ecx
cmp esi, 4
jl 0x1013ff55
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0xa6]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 0xc
push 2
mov ecx, edi
call fcn.1012aa80
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x150]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 0
mov ecx, edi
call fcn.1012a5a0
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x1ce]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor ebp, ebp
lea esi, [edi + 0x710]
lea ebx, [ebp + 4]
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
lea esi, [esi + 4]
add ebp, ecx
mov dword [esi - 4], ecx
sub ebx, 1
jne 0x1013ffd3
mov ebx, dword [esp + 0x14]
mov eax, ebp
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [edi + 0x720], eax
mov eax, dword [edi + 0x704]
cmp eax, 4
je 0x1014004c
cmp eax, 5
je 0x1014004c
cmp eax, 6
je 0x10140037
cmp eax, 7
je 0x10140037
cmp eax, 9
jne case.0x1013fee4.1252
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x5a6]
push 0
mov esi, dword [ecx]
jmp 0x10140428
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x59e]
push 0
mov esi, dword [ecx]
jmp 0x10140428
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x570]
push 0
mov esi, dword [ecx]
jmp 0x10140428
mov ecx, edi
mov dword [edi + 0x700], 6
call fcn.10131be0
mov ecx, dword [edi + 0x54800]
movzx eax, ax
mov dword [edi + 0x704], eax
lea eax, [ebx + 0x88]
push 0
mov esi, dword [ecx]
cdq
push edx
push eax
call dword [esi + 0xc]
xor esi, esi
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x298b0], ecx
cmp esi, 4
jl 0x10140093
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x92]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x299d0], ecx
cmp esi, 4
jl 0x101400c8
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0xce]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 0xc
push 2
mov ecx, edi
call fcn.1012aa80
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x178]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 0
mov ecx, edi
call fcn.1012a5a0
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x1f6]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor ebp, ebp
lea esi, [edi + 0x710]
lea ebx, [ebp + 4]
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
lea esi, [esi + 4]
add ebp, ecx
mov dword [esi - 4], ecx
sub ebx, 1
jne 0x10140146
mov ecx, dword [edi + 0x54800]
mov eax, ebp
cdq
and edx, 3
add eax, edx
push ebx
mov ebx, dword [esp + 0x18]
sar eax, 2
mov dword [edi + 0x720], eax
mov esi, dword [ecx]
lea eax, [ebx + 0x3c6]
jmp 0x10140428
mov ecx, edi
mov dword [edi + 0x700], 7
call fcn.10131be0
mov ecx, dword [edi + 0x54800]
movzx eax, ax
mov dword [edi + 0x704], eax
lea eax, [ebx + 0x88]
push 0
mov esi, dword [ecx]
cdq
push edx
push eax
call dword [esi + 0xc]
xor esi, esi
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x298b0], ecx
cmp esi, 4
jl 0x101401b8
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x92]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
nop dword [eax]
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x299d0], ecx
cmp esi, 4
jl 0x101401f0
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x100]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 0xc
push 2
mov ecx, edi
call fcn.1012aa80
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x1aa]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 0
mov ecx, edi
call fcn.1012a5a0
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x228]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor ebp, ebp
lea esi, [edi + 0x710]
lea ebx, [ebp + 4]
nop
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
lea esi, [esi + 4]
add ebp, ecx
mov dword [esi - 4], ecx
sub ebx, 1
jne 0x10140270
mov ebx, dword [esp + 0x14]
mov eax, ebp
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [edi + 0x720], eax
mov eax, dword [edi + 0x704]
cmp eax, 0xa
jne 0x101402bc
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x3f8]
push 0
mov esi, dword [ecx]
jmp 0x10140428
cmp eax, 0xb
jne case.0x1013fee4.1252
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x5b8]
push 0
mov esi, dword [ecx]
jmp 0x10140428
cmp esi, 0x642
ja 0x10140473
je case.0x1013fee4.1353
sub esi, 0x618
je case.0x1013fee4.1353
sub esi, 0x20
jne case.0x1013fee4.1252
mov ecx, edi
mov dword [edi + 0x700], 8
call fcn.10131be0
mov ecx, dword [edi + 0x54800]
movzx eax, ax
mov dword [edi + 0x704], eax
lea eax, [ebx + 0x88]
push 0
mov esi, dword [ecx]
cdq
push edx
push eax
call dword [esi + 0xc]
xor esi, esi
nop dword [eax + eax]
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x298b0], ecx
cmp esi, 4
jl 0x10140330
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x92]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x299d0], ecx
cmp esi, 4
jl 0x10140365
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x10a]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 0xc
push 2
mov ecx, edi
call fcn.1012aa80
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x20e]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 0
mov ecx, edi
call fcn.1012a5a0
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x28c]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor ebp, ebp
lea esi, [edi + 0x710]
lea ebx, [ebp + 4]
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
lea esi, [esi + 4]
add ebp, ecx
mov dword [esi - 4], ecx
sub ebx, 1
jne 0x101403e3
mov ecx, dword [edi + 0x54800]
mov eax, ebp
mov ebx, dword [esp + 0x14]
cdq
and edx, 3
add eax, edx
sar eax, 2
cmp dword [edi + 0x704], 0xe
mov dword [edi + 0x720], eax
mov esi, dword [ecx]
push 0
jne 0x1014046b
lea eax, [ebx + 0x460]
cdq
push edx
push eax
call dword [esi + 0xc]
mov ecx, edi
call fcn.10131be0
movzx eax, ax
mov ecx, edi
mov dword [edi + 0x70c], eax
call fcn.10131be0
movzx eax, ax
mov dword [edi + 0x708], eax
mov dword [edi + 0x24f5c], eax
mov dword [edi + 0x24f60], eax
mov dword [edi + 0x24f64], eax
mov dword [edi + 0x24f68], eax
jmp case.0x1013fee4.1252
lea eax, [ebx + 0x61c]
jmp 0x10140428
cmp esi, 0x1400
jne case.0x1013fee4.1252
mov eax, dword [edi + 0x5484c]
mov dword [edi + 0x700], 5
cmp eax, 0x3970000
je 0x101405a9
cmp eax, 0x4100000
je 0x101405a9
cmp eax, 0x4180000
je 0x101405a9
cmp eax, 0x80000394
je 0x101405a9
cmp eax, 0x80000398
je 0x101405a9
cmp eax, 0x80000407
je 0x101405a9
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x98]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
nop dword [eax]
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x298b0], ecx
cmp esi, 4
jl 0x101404f0
mov ecx, edi
call fcn.10131be0
xor esi, esi
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x299d0], ecx
cmp esi, 4
jl 0x10140516
mov ecx, edi
call fcn.10131be0
xor esi, esi
nop dword [eax]
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x2a380], ecx
cmp esi, 4
jl 0x10140540
mov ecx, edi
call fcn.10131be0
push 0xc
push 2
mov ecx, edi
call fcn.1012aa80
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x174]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
push 2
mov ecx, edi
call fcn.1012a5a0
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x210]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
jmp 0x101406b8
mov ecx, dword [edi + 0x54800]
lea eax, [ebx + 0x9e]
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
xor esi, esi
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x298b0], ecx
cmp esi, 4
jl 0x101405c1
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 8
mov eax, dword [ecx]
call dword [eax + 0xc]
xor esi, esi
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x299d0], ecx
cmp esi, 4
jl 0x101405f1
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 8
mov eax, dword [ecx]
call dword [eax + 0xc]
xor esi, esi
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x2a380], ecx
cmp esi, 4
jl 0x10140621
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 8
mov eax, dword [ecx]
call dword [eax + 0xc]
push 0x18
push 8
mov ecx, edi
call fcn.1012aa80
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 0xa8
mov eax, dword [ecx]
call dword [eax + 0xc]
xor esi, esi
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
mov eax, esi
shr eax, 1
xor eax, esi
inc esi
mov dword [edi + eax*4 + 0x29480], ecx
cmp esi, 4
jl 0x10140670
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 0x18
mov eax, dword [ecx]
call dword [eax + 0xc]
push 2
mov ecx, edi
call fcn.1012a5a0
mov ecx, dword [edi + 0x54800]
push 1
push 0
push 6
mov eax, dword [ecx]
call dword [eax + 0xc]
xor ebp, ebp
lea esi, [edi + 0x710]
lea ebx, [ebp + 4]
mov ecx, edi
call fcn.10131be0
movzx ecx, ax
lea esi, [esi + 4]
add ebp, ecx
mov dword [esi - 4], ecx
sub ebx, 1
jne 0x101406c3
mov ebx, dword [esp + 0x14]
mov eax, ebp
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [edi + 0x720], eax
mov ecx, dword [edi + 0x54800]
mov eax, ebx
push 0
cdq
push edx
mov esi, dword [ecx]
push eax
call dword [esi + 0xc]
pop ebp
pop ebx
pop esi
pop edi
ret 0xc