Function at 0x1000a630
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 0x100a5dcf
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xe50
mov eax, dword [0x100ee940]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x550], ecx
mov eax, dword [ebx + 0x10]
mov esi, dword [ebx + 8]
mov dword [ebp - 0x530], esi
mov dword [ebp - 0x534], eax
cmp byte [eax], 0
jne 0x1000a695
mov ecx, eax
call fcn.10005880
lea ecx, [esi + 0x84]
call fcn.1001b900
lea ecx, [esi + 0xc]
mov dword [ebp - 0x558], eax
call fcn.1001b900
lea edi, [esi + 0x18]
mov dword [ebp - 0x568], eax
mov ecx, edi
mov dword [ebp - 0x538], edi
call fcn.1001b900
mov ecx, dword [ebp - 0x530]
mov esi, eax
mov dword [ebp - 0x54c], esi
lea ecx, [ecx + 0xc]
call fcn.1001b900
mov edx, dword [ebp - 0x534]
lea eax, [eax + eax*2]
mov dword [ebp - 0x55c], eax
mov eax, dword [ebp - 0x530]
push eax
mov ecx, dword [eax + 0x120]
or dword [edx + 0x1e8], ecx
lea ecx, [ebp - 0x34]
call fcn.1000f0d0
push dword [ebp - 0x530]
lea ecx, [ebp - 0x18]
call fcn.1000f0d0
mov ecx, dword [ebp - 0x530]
cmp byte [ecx + 0x124], 0
jne 0x1000bee8
mov eax, dword [ebp - 0x568]
cmp dword [ebp - 0x558], eax
je 0x1000b67a
cmp esi, dword [ebp - 0x55c]
je 0x1000b67a
mov edi, dword [ebp - 0x534]
test byte [edi + 0x1e8], 1
je 0x1000a932
lea eax, [ebp - 0xcc8]
push eax
call fcn.1001c6e0
mov ecx, eax
call fcn.10020250
mov esi, eax
lea ecx, [edi + 0x58]
mov dword [ebp - 0x538], esi
call fcn.10020250
mov dword [ebp - 0x540], eax
mov dword [ebp - 4], 0
lea eax, [ebp - 0x28c]
mov edi, dword [esi + 4]
mov dword [ebp - 0x53c], eax
mov ecx, edi
mov byte [ebp - 4], 1
call fcn.1001b900
mov ecx, edi
mov esi, eax
call fcn.1001b910
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x288], esi
mov dword [ebp - 4], 2
mov esi, dword [ebp - 0x538]
mov ecx, dword [esi + 4]
call fcn.1001b900
mov ecx, dword [esi + 4]
mov dword [ebp - 0x52c], eax
call fcn.100201e0
mov edi, dword [ebp - 0x540]
mov esi, eax
mov ecx, edi
call fcn.1001b900
mov ecx, dword [ebp - 0x52c]
cmp eax, ecx
jne 0x1000a802
mov ecx, edi
call fcn.100201e0
cmp eax, esi
je 0x1000a82e
mov ecx, dword [ebp - 0x52c]
test ecx, ecx
je 0x1000a821
test esi, esi
je 0x1000a821
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
jle 0x1000a821
call fcn.10002c20
mov ecx, dword [ebp - 0x52c]
push esi
imul esi, ecx
push ecx
mov ecx, edi
push esi
call fcn.10020780
mov ecx, edi
mov byte [ebp - 4], 3
call fcn.100201e0
mov ecx, edi
mov esi, eax
call fcn.1001b910
mov dword [ebp - 0x194], eax
mov dword [ebp - 0x190], esi
mov ecx, edi
mov byte [ebp - 4], 4
call fcn.10020250
lea ecx, [ebp - 0x194]
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x114], ecx
xor edi, edi
lea ecx, [ebp - 0x290]
mov dword [ebp - 0x110], ecx
lea ecx, [ebp - 0x560]
mov dword [ebp - 0x10c], ecx
lea ecx, [ebp - 0x114]
call fcn.1004ce90
test eax, eax
jle 0x1000a901
nop dword [eax]
nop dword [eax + eax]
lea ecx, [ebp - 0x114]
xor esi, esi
call fcn.100411c0
test eax, eax
jle 0x1000a8f1
mov eax, dword [ebp - 0x110]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
imul eax, esi
add eax, edi
shl eax, 3
add ecx, eax
call fcn.1004bbb0
mov eax, dword [ebp - 0x114]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
imul eax, edi
add eax, esi
inc esi
movss dword [ecx + eax*4], xmm0
lea ecx, [ebp - 0x114]
call fcn.100411c0
cmp esi, eax
jl 0x1000a8b1
lea ecx, [ebp - 0x114]
inc edi
call fcn.1004ce90
cmp edi, eax
jl 0x1000a8a0
lea ecx, [ebp - 0x194]
call fcn.10017480
lea ecx, [ebp - 0x290]
mov dword [ebp - 4], 0xffffffff
call fcn.10017480
mov edi, dword [ebp - 0x534]
lea ecx, [edi + 0x58]
call fcn.10020250
mov ecx, dword [ebp - 0x530]
test byte [edi + 0x1e8], 4
je 0x1000ace1
lea eax, [ebp - 0xcbc]
add ecx, 0x48
push eax
call fcn.1001c6e0
mov ecx, eax
call fcn.10020250
mov esi, eax
lea ecx, [edi + 0x64]
mov dword [ebp - 0x538], esi
call fcn.10020250
mov dword [ebp - 0x540], eax
mov dword [ebp - 4], 5
lea eax, [ebp - 0x298]
mov edi, dword [esi + 4]
mov dword [ebp - 0x53c], eax
mov ecx, edi
mov byte [ebp - 4], 6
call fcn.1001b900
mov ecx, edi
mov esi, eax
call fcn.1001b910
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x294], esi
mov dword [ebp - 4], 7
mov esi, dword [ebp - 0x538]
mov ecx, dword [esi + 4]
call fcn.1001b900
mov ecx, dword [esi + 4]
mov dword [ebp - 0x52c], eax
call fcn.100201e0
mov edi, dword [ebp - 0x540]
mov esi, eax
mov ecx, edi
call fcn.1001b900
mov ecx, dword [ebp - 0x52c]
cmp eax, ecx
jne 0x1000a9ee
mov ecx, edi
call fcn.100201e0
cmp eax, esi
je 0x1000aa1a
mov ecx, dword [ebp - 0x52c]
test ecx, ecx
je 0x1000aa0d
test esi, esi
je 0x1000aa0d
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
jle 0x1000aa0d
call fcn.10002c20
mov ecx, dword [ebp - 0x52c]
push esi
imul esi, ecx
push ecx
mov ecx, edi
push esi
call fcn.10020780
mov ecx, edi
mov byte [ebp - 4], 8
call fcn.100201e0
mov ecx, edi
mov esi, eax
call fcn.1001b910
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x198], esi
mov ecx, edi
mov byte [ebp - 4], 9
call fcn.10020250
lea ecx, [ebp - 0x19c]
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x124], ecx
xor edi, edi
lea ecx, [ebp - 0x29c]
mov dword [ebp - 0x120], ecx
lea ecx, [ebp - 0x572]
mov dword [ebp - 0x11c], ecx
lea ecx, [ebp - 0x124]
call fcn.1004ce90
test eax, eax
jle 0x1000aae1
lea ecx, [ebp - 0x124]
xor esi, esi
call fcn.100411c0
test eax, eax
jle 0x1000aad1
mov eax, dword [ebp - 0x120]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
imul eax, esi
add eax, edi
shl eax, 3
add ecx, eax
call fcn.1004bbb0
mov eax, dword [ebp - 0x124]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
imul eax, edi
add eax, esi
inc esi
movss dword [ecx + eax*4], xmm0
lea ecx, [ebp - 0x124]
call fcn.100411c0
cmp esi, eax
jl 0x1000aa91
lea ecx, [ebp - 0x124]
inc edi
call fcn.1004ce90
cmp edi, eax
jl 0x1000aa80
lea ecx, [ebp - 0x19c]
call fcn.10017480
lea ecx, [ebp - 0x29c]
mov dword [ebp - 4], 0xffffffff
call fcn.10017480
mov edi, dword [ebp - 0x534]
add edi, 0x64
mov ecx, edi
call fcn.10020250
cmp byte [ebx + 0xc], 0
je 0x1000acdb
lea eax, [ebp - 0xcb0]
mov ecx, edi
push eax
call fcn.1001c6e0
mov ecx, eax
call fcn.10020250
mov esi, eax
mov ecx, edi
mov dword [ebp - 0x538], esi
call fcn.10020250
mov dword [ebp - 0x540], eax
mov dword [ebp - 4], 0xa
lea eax, [ebp - 0x274]
mov edi, dword [esi + 4]
mov dword [ebp - 0x53c], eax
mov ecx, edi
mov byte [ebp - 4], 0xb
call fcn.100201e0
mov ecx, edi
mov esi, eax
call fcn.1001b910
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x270], esi
mov dword [ebp - 4], 0xc
mov esi, dword [ebp - 0x538]
mov ecx, dword [esi + 4]
call fcn.1001b900
mov ecx, dword [esi + 4]
mov dword [ebp - 0x52c], eax
call fcn.100201e0
mov edi, dword [ebp - 0x540]
mov esi, eax
mov ecx, edi
call fcn.1001b900
mov ecx, dword [ebp - 0x52c]
cmp eax, ecx
jne 0x1000abc5
mov ecx, edi
call fcn.100201e0
cmp eax, esi
je 0x1000abf1
mov ecx, dword [ebp - 0x52c]
test ecx, ecx
je 0x1000abe4
test esi, esi
je 0x1000abe4
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
jle 0x1000abe4
call fcn.10002c20
mov ecx, dword [ebp - 0x52c]
push esi
imul esi, ecx
push ecx
mov ecx, edi
push esi
call fcn.10020780
mov ecx, edi
mov byte [ebp - 4], 0xd
call fcn.100201e0
mov ecx, edi
mov esi, eax
call fcn.1001b910
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x188], esi
mov ecx, edi
mov byte [ebp - 4], 0xe
call fcn.10020250
lea ecx, [ebp - 0x18c]
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1c4], ecx
lea ecx, [ebp - 0x278]
mov dword [ebp - 0x1c0], ecx
lea ecx, [ebp - 0x573]
mov dword [ebp - 0x1bc], ecx
lea ecx, [ebp - 0x1c4]
call fcn.1004cea0
mov dword [ebp - 0x538], eax
xor esi, esi
cdq
and edx, 3
lea edi, [edx + eax]
and edi, 0xfffffffc
test edi, edi
jle 0x1000ac9a
movaps xmm1, xmmword [0x100e3c60]
nop
mov eax, dword [ebp - 0x1c0]
lea ecx, [esi*4]
add esi, 4
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x1c4]
movups xmm0, xmmword [edx + ecx]
mov eax, dword [eax]
xorps xmm0, xmm1
movups xmmword [eax + ecx], xmm0
cmp esi, edi
jl 0x1000ac70
push dword [ebp - 0x538]
mov edx, edi
lea ecx, [ebp - 0x1c4]
call fcn.100512f0
add esp, 4
lea ecx, [ebp - 0x18c]
call fcn.10017480
lea ecx, [ebp - 0x278]
mov dword [ebp - 4], 0xffffffff
call fcn.10017480
mov ecx, dword [ebp - 0x534]
lea ecx, [ecx + 0x64]
call fcn.10020250
mov edi, dword [ebp - 0x534]
test byte [edi + 0x1e8], 8
je 0x1000aecc
mov ecx, dword [ebp - 0x530]
lea eax, [ebp - 0xca4]
push eax
lea ecx, [ecx + 0x54]
call fcn.1001c6e0
mov ecx, eax
call fcn.10020250
mov esi, eax
lea ecx, [edi + 0x70]
mov dword [ebp - 0x538], esi
call fcn.10020250
mov dword [ebp - 0x540], eax
mov dword [ebp - 4], 0xf
lea eax, [ebp - 0x268]
mov edi, dword [esi + 4]
mov dword [ebp - 0x53c], eax
mov ecx, edi
mov byte [ebp - 4], 0x10
call fcn.1001b900
mov ecx, edi
mov esi, eax
call fcn.1001b910
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x264], esi
mov dword [ebp - 4], 0x11
mov esi, dword [ebp - 0x538]
mov ecx, dword [esi + 4]
call fcn.1001b900
mov ecx, dword [esi + 4]
mov dword [ebp - 0x52c], eax
call fcn.100201e0
mov edi, dword [ebp - 0x540]
mov esi, eax
mov ecx, edi
call fcn.1001b900
mov ecx, dword [ebp - 0x52c]
cmp eax, ecx
jne 0x1000ada3
mov ecx, edi
call fcn.100201e0
cmp eax, esi
je 0x1000adcf
mov ecx, dword [ebp - 0x52c]
test ecx, ecx
je 0x1000adc2
test esi, esi
je 0x1000adc2
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
jle 0x1000adc2
call fcn.10002c20
mov ecx, dword [ebp - 0x52c]
push esi
imul esi, ecx
push ecx
mov ecx, edi
push esi
call fcn.10020780
mov ecx, edi
mov byte [ebp - 4], 0x12
call fcn.100201e0
mov ecx, edi
mov esi, eax
call fcn.1001b910
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x180], esi
mov ecx, edi
mov byte [ebp - 4], 0x13
call fcn.10020250
lea ecx, [ebp - 0x184]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0x104], ecx
xor edi, edi
lea ecx, [ebp - 0x26c]
mov dword [ebp - 0x100], ecx
lea ecx, [ebp - 0x574]
mov dword [ebp - 0xfc], ecx
lea ecx, [ebp - 0x104]
call fcn.1004ce90
test eax, eax
jle 0x1000aea1
nop word [eax + eax]
lea ecx, [ebp - 0x104]
xor esi, esi
call fcn.100411c0
test eax, eax
jle 0x1000ae91
mov eax, dword [ebp - 0x100]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
imul eax, esi
add eax, edi
shl eax, 3
add ecx, eax
call fcn.1004bbb0
mov eax, dword [ebp - 0x104]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
imul eax, edi
add eax, esi
inc esi
movss dword [ecx + eax*4], xmm0
lea ecx, [ebp - 0x104]
call fcn.100411c0
cmp esi, eax
jl 0x1000ae51
lea ecx, [ebp - 0x104]
inc edi
call fcn.1004ce90
cmp edi, eax
jl 0x1000ae40
lea ecx, [ebp - 0x184]
call fcn.10017480
lea ecx, [ebp - 0x26c]
mov dword [ebp - 4], 0xffffffff
call fcn.10017480
mov edi, dword [ebp - 0x534]
lea ecx, [edi + 0x70]
call fcn.10020250
test byte [edi + 0x1e8], 0x10
je 0x1000b0ac
mov ecx, dword [ebp - 0x530]
lea eax, [ebp - 0xc98]
push eax
lea ecx, [ecx + 0x60]
call fcn.1001c6e0
mov ecx, eax
call fcn.10020250
mov esi, eax
lea ecx, [edi + 0x7c]
mov dword [ebp - 0x538], esi
call fcn.10020250
mov dword [ebp - 0x540], eax
mov dword [ebp - 4], 0x14
lea eax, [ebp - 0x25c]
mov edi, dword [esi + 4]
mov dword [ebp - 0x53c], eax
mov ecx, edi
mov byte [ebp - 4], 0x15
call fcn.1001b900
mov ecx, edi
mov esi, eax
call fcn.1001b910
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x258], esi
mov dword [ebp - 4], 0x16
mov esi, dword [ebp - 0x538]
mov ecx, dword [esi + 4]
call fcn.1001b900
mov ecx, dword [esi + 4]
mov dword [ebp - 0x52c], eax
call fcn.100201e0
mov edi, dword [ebp - 0x540]
mov esi, eax
mov ecx, edi
call fcn.1001b900
mov ecx, dword [ebp - 0x52c]
cmp eax, ecx
jne 0x1000af8e
mov ecx, edi
call fcn.100201e0
cmp eax, esi
je 0x1000afba
mov ecx, dword [ebp - 0x52c]
test ecx, ecx
je 0x1000afad
test esi, esi
je 0x1000afad
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
jle 0x1000afad
call fcn.10002c20
mov ecx, dword [ebp - 0x52c]
push esi
imul esi, ecx
push ecx
mov ecx, edi
push esi
call fcn.10020780
mov ecx, edi
mov byte [ebp - 4], 0x17
call fcn.100201e0
mov ecx, edi
mov esi, eax
call fcn.1001b910
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x1a0], esi
mov ecx, edi
mov byte [ebp - 4], 0x18
call fcn.10020250
lea ecx, [ebp - 0x1a4]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xf4], ecx
xor edi, edi
lea ecx, [ebp - 0x260]
mov dword [ebp - 0xf0], ecx
lea ecx, [ebp - 0x575]
mov dword [ebp - 0xec], ecx
lea ecx, [ebp - 0xf4]
call fcn.1004ce90
test eax, eax
jle 0x1000b081
lea ecx, [ebp - 0xf4]
xor esi, esi
call fcn.100411c0
test eax, eax
jle 0x1000b071
mov eax, dword [ebp - 0xf0]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
imul eax, esi
add eax, edi
shl eax, 3
add ecx, eax
call fcn.1004bbb0
mov eax, dword [ebp - 0xf4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
imul eax, edi
add eax, esi
inc esi
movss dword [ecx + eax*4], xmm0
lea ecx, [ebp - 0xf4]
call fcn.100411c0
cmp esi, eax
jl 0x1000b031
lea ecx, [ebp - 0xf4]
inc edi
call fcn.1004ce90
cmp edi, eax
jl 0x1000b020
lea ecx, [ebp - 0x1a4]
call fcn.10017480
lea ecx, [ebp - 0x260]
mov dword [ebp - 4], 0xffffffff
call fcn.10017480
mov edi, dword [ebp - 0x534]
lea ecx, [edi + 0x7c]
call fcn.10020250
test byte [edi + 0x1e8], 0x20
je 0x1000b292
mov ecx, dword [ebp - 0x530]
lea eax, [ebp - 0xcd4]
push eax
lea ecx, [ecx + 0x6c]
call fcn.1001c6e0
mov ecx, eax
call fcn.10020250
mov esi, eax
lea ecx, [edi + 0x88]
mov dword [ebp - 0x538], esi
call fcn.10020250
mov dword [ebp - 0x540], eax
mov dword [ebp - 4], 0x19
lea eax, [ebp - 0x250]
mov edi, dword [esi + 4]
mov dword [ebp - 0x53c], eax
mov ecx, edi
mov byte [ebp - 4], 0x1a
call fcn.1001b900
mov ecx, edi
mov esi, eax
call fcn.1001b910
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x24c], esi
mov dword [ebp - 4], 0x1b
mov esi, dword [ebp - 0x538]
mov ecx, dword [esi + 4]
call fcn.1001b900
mov ecx, dword [esi + 4]
mov dword [ebp - 0x52c], eax
call fcn.100201e0
mov edi, dword [ebp - 0x540]
mov esi, eax
mov ecx, edi
call fcn.1001b900
mov ecx, dword [ebp - 0x52c]
cmp eax, ecx
jne 0x1000b171
mov ecx, edi
call fcn.100201e0
cmp eax, esi
je 0x1000b19d
mov ecx, dword [ebp - 0x52c]
test ecx, ecx
je 0x1000b190
test esi, esi
je 0x1000b190
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
jle 0x1000b190
call fcn.10002c20
mov ecx, dword [ebp - 0x52c]
push esi
imul esi, ecx
push ecx
mov ecx, edi
push esi
call fcn.10020780
mov ecx, edi
mov byte [ebp - 4], 0x1c
call fcn.100201e0
mov ecx, edi
mov esi, eax
call fcn.1001b910
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1a8], esi
mov ecx, edi
mov byte [ebp - 4], 0x1d
call fcn.10020250
lea ecx, [ebp - 0x1ac]
mov dword [ebp - 0xd8], eax
mov dword [ebp - 0xe4], ecx
xor edi, edi
lea ecx, [ebp - 0x254]
mov dword [ebp - 0xe0], ecx
lea ecx, [ebp - 0x576]
mov dword [ebp - 0xdc], ecx
lea ecx, [ebp - 0xe4]
call fcn.1004ce90
test eax, eax
jle 0x1000b264
lea ecx, [ebp - 0xe4]
xor esi, esi
call fcn.100411c0
test eax, eax
jle 0x1000b254
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
imul eax, esi
add eax, edi
shl eax, 3
add ecx, eax
call fcn.1004bbb0
mov eax, dword [ebp - 0xe4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
imul eax, edi
add eax, esi
inc esi
movss dword [ecx + eax*4], xmm0
lea ecx, [ebp - 0xe4]
call fcn.100411c0
cmp esi, eax
jl 0x1000b214
lea ecx, [ebp - 0xe4]
inc edi
call fcn.1004ce90
cmp edi, eax
jl 0x1000b203
lea ecx, [ebp - 0x1ac]
call fcn.10017480
lea ecx, [ebp - 0x254]
mov dword [ebp - 4], 0xffffffff
call fcn.10017480
mov edi, dword [ebp - 0x534]
lea ecx, [edi + 0x88]
call fcn.10020250
test byte [edi + 0x1e8], 0x80
je 0x1000b47d
mov ecx, dword [ebp - 0x530]
lea eax, [ebp - 0xc8c]
push eax
lea ecx, [ecx + 0xc]
call fcn.1001c6e0
mov ecx, eax
call fcn.10020250
mov esi, eax
lea ecx, [edi + 0x1c4]
mov dword [ebp - 0x538], esi
call fcn.10020250
mov dword [ebp - 0x540], eax
mov dword [ebp - 4], 0x1e
lea eax, [ebp - 0x244]
mov edi, dword [esi + 4]
mov dword [ebp - 0x53c], eax
mov ecx, edi
mov byte [ebp - 4], 0x1f
call fcn.1001b900
mov ecx, edi
mov esi, eax
call fcn.1001b910
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x240], esi
mov dword [ebp - 4], 0x20
mov esi, dword [ebp - 0x538]
mov ecx, dword [esi + 4]
call fcn.1001b900
mov ecx, dword [esi + 4]
mov dword [ebp - 0x52c], eax
call fcn.100201e0
mov edi, dword [ebp - 0x540]
mov esi, eax
mov ecx, edi
call fcn.1001b900
mov ecx, dword [ebp - 0x52c]
cmp eax, ecx
jne 0x1000b357
mov ecx, edi
call fcn.100201e0
cmp eax, esi
je 0x1000b383
mov ecx, dword [ebp - 0x52c]
test ecx, ecx
je 0x1000b376
test esi, esi
je 0x1000b376
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
jle 0x1000b376
call fcn.10002c20
mov ecx, dword [ebp - 0x52c]
push esi
imul esi, ecx
push ecx
mov ecx, edi
push esi
call fcn.10020780
mov ecx, edi
mov byte [ebp - 4], 0x21
call fcn.100201e0
mov ecx, edi
mov esi, eax
call fcn.1001b910
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x1b0], esi
mov ecx, edi
mov byte [ebp - 4], 0x22
call fcn.10020250
lea ecx, [ebp - 0x1b4]
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x144], ecx
xor edi, edi
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x140], ecx
lea ecx, [ebp - 0x578]
mov dword [ebp - 0x13c], ecx
lea ecx, [ebp - 0x144]
call fcn.1004ce90
test eax, eax
jle 0x1000b44f
nop dword [eax]
lea ecx, [ebp - 0x144]
xor esi, esi
call fcn.100411c0
test eax, eax
jle 0x1000b43f
mov eax, dword [ebp - 0x140]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
imul eax, esi
add eax, edi
shl eax, 2
add ecx, eax
call fcn.1001b910
mov ecx, dword [ebp - 0x144]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
imul ecx, edi
add ecx, esi
inc esi
mov dword [edx + ecx*4], eax
lea ecx, [ebp - 0x144]
call fcn.100411c0
cmp esi, eax
jl 0x1000b401
lea ecx, [ebp - 0x144]
inc edi
call fcn.1004ce90
cmp edi, eax
jl 0x1000b3f0
lea ecx, [ebp - 0x1b4]
call fcn.10017480
lea ecx, [ebp - 0x248]
mov dword [ebp - 4], 0xffffffff
call fcn.10017480
mov edi, dword [ebp - 0x534]
lea ecx, [edi + 0x1c4]
call fcn.10020250
test byte [edi + 0x1e8], 2
je 0x1000b66f
mov ecx, dword [ebp - 0x530]
lea eax, [ebp - 0xcf8]
push eax
lea ecx, [ecx + 0x78]
call fcn.1001c6e0
mov ecx, eax
call fcn.10020250
mov esi, eax
lea ecx, [edi + 0x94]
mov dword [ebp - 0x538], esi
call fcn.10020250
mov dword [ebp - 0x540], eax
mov dword [ebp - 4], 0x23
lea eax, [ebp - 0x280]
mov edi, dword [esi + 4]
mov dword [ebp - 0x53c], eax
mov ecx, edi
mov byte [ebp - 4], 0x24
call fcn.1001b900
mov ecx, edi
mov esi, eax
call fcn.1001b910
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x27c], esi
mov dword [ebp - 4], 0x25
mov esi, dword [ebp - 0x538]
mov ecx, dword [esi + 4]
call fcn.1001b900
mov ecx, dword [esi + 4]
mov dword [ebp - 0x52c], eax
call fcn.100201e0
mov edi, dword [ebp - 0x540]
mov esi, eax
mov ecx, edi
call fcn.1001b900
mov ecx, dword [ebp - 0x52c]
cmp eax, ecx
jne 0x1000b542
mov ecx, edi
call fcn.100201e0
cmp eax, esi
je 0x1000b56e
mov ecx, dword [ebp - 0x52c]
test ecx, ecx
je 0x1000b561
test esi, esi
je 0x1000b561
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
jle 0x1000b561
call fcn.10002c20
mov ecx, dword [ebp - 0x52c]
push esi
imul esi, ecx
push ecx
mov ecx, edi
push esi
call fcn.10020780
mov ecx, edi
mov byte [ebp - 4], 0x26
call fcn.100201e0
mov ecx, edi
mov esi, eax
call fcn.1001b910
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], esi
mov ecx, edi
mov byte [ebp - 4], 0x27
call fcn.10020250
lea ecx, [ebp - 0x14c]
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x134], ecx
xor edi, edi
lea ecx, [ebp - 0x284]
mov dword [ebp - 0x130], ecx
lea ecx, [ebp - 0x579]
mov dword [ebp - 0x12c], ecx
lea ecx, [ebp - 0x134]
call fcn.1004ce90
test eax, eax
jle 0x1000b641
nop dword [eax]
nop dword [eax + eax]
lea ecx, [ebp - 0x134]
xor esi, esi
call fcn.100411c0
test eax, eax
jle 0x1000b631
mov eax, dword [ebp - 0x130]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 8]
imul eax, esi
add eax, edi
shl eax, 3
add ecx, eax
call fcn.1004bbb0
mov eax, dword [ebp - 0x134]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
imul eax, edi
add eax, esi
inc esi
movss dword [ecx + eax*4], xmm0
lea ecx, [ebp - 0x134]
call fcn.100411c0
cmp esi, eax
jl 0x1000b5f1
lea ecx, [ebp - 0x134]
inc edi
call fcn.1004ce90
cmp edi, eax
jl 0x1000b5e0
lea ecx, [ebp - 0x14c]
call fcn.10017480
lea ecx, [ebp - 0x284]
mov dword [ebp - 4], 0xffffffff
call fcn.10017480
mov edi, dword [ebp - 0x534]
lea ecx, [edi + 0x94]
call fcn.10020250
mov edx, dword [ebp - 0x530]
jmp 0x1000ca1b
mov edi, dword [ebp - 0x534]
test byte [edi + 0x1e8], 1
je 0x1000b69c
lea eax, [edi + 0x58]
push eax
push ecx
lea ecx, [ebp - 0x18]
call fcn.1000f0e0
mov ecx, dword [ebp - 0x530]
test byte [edi + 0x1e8], 8
je 0x1000b6f1
lea ecx, [ecx + 0xc]
add edi, 0x70
call fcn.1001b900
lea esi, [eax + eax*2]
test esi, esi
je 0x1000b6c4
cmp esi, 0x1fffffff
jle 0x1000b6c4
call fcn.10002c20
push 4
push esi
lea eax, [esi*4]
mov ecx, edi
push eax
call fcn.10020780
mov esi, dword [ebp - 0x530]
lea ecx, [ebp - 0x18]
push edi
lea eax, [esi + 0x54]
push eax
call fcn.1000f0e0
mov edi, dword [ebp - 0x534]
jmp 0x1000b6f7
mov esi, dword [ebp - 0x530]
test byte [edi + 0x1e8], 0x10
je 0x1000b74a
lea ecx, [esi + 0xc]
add edi, 0x7c
call fcn.1001b900
lea esi, [eax + eax*2]
test esi, esi
je 0x1000b71f
cmp esi, 0x1fffffff
jle 0x1000b71f
call fcn.10002c20
push 4
push esi
lea eax, [esi*4]
mov ecx, edi
push eax
call fcn.10020780
mov esi, dword [ebp - 0x530]
lea ecx, [ebp - 0x18]
push edi
lea eax, [esi + 0x60]
push eax
call fcn.1000f0e0
mov edi, dword [ebp - 0x534]
test byte [edi + 0x1e8], 0x20
je 0x1000b7a0
lea ecx, [esi + 0xc]
add edi, 0x88
call fcn.1001b900
lea esi, [eax + eax*2]
test esi, esi
je 0x1000b775
cmp esi, 0x1fffffff
jle 0x1000b775
call fcn.10002c20
push 4
push esi
lea eax, [esi*4]
mov ecx, edi
push eax
call fcn.10020780
mov esi, dword [ebp - 0x530]
lea ecx, [ebp - 0x18]
push edi
lea eax, [esi + 0x6c]
push eax
call fcn.1000f0e0
mov edi, dword [ebp - 0x534]
test byte [edi + 0x1e8], 4
je 0x1000b9bb
lea ecx, [esi + 0xc]
add edi, 0x64
call fcn.1001b900
lea esi, [eax + eax*2]
test esi, esi
je 0x1000b7cc
cmp esi, 0x2aaaaaaa
jle 0x1000b7cc
call fcn.10002c20
push 3
push esi
lea eax, [esi + esi*2]
mov ecx, edi
push eax
call fcn.10020780
mov esi, dword [ebp - 0x530]
lea ecx, [ebp - 0x18]
push edi
lea eax, [esi + 0x48]
push eax
call fcn.1000f0e0
cmp byte [ebx + 0xc], 0
je 0x1000b9c3
lea eax, [ebp - 0xcec]
mov ecx, edi
push eax
call fcn.1001c6e0
mov ecx, eax
call fcn.10020250
mov esi, eax
mov ecx, edi
mov dword [ebp - 0x538], esi
call fcn.10020250
mov dword [ebp - 0x540], eax
mov dword [ebp - 4], 0x28
lea eax, [ebp - 0x238]
mov edi, dword [esi + 4]
mov dword [ebp - 0x53c], eax
mov ecx, edi
mov byte [ebp - 4], 0x29
call fcn.100201e0
mov ecx, edi
mov esi, eax
call fcn.1001b910
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x234], esi
mov dword [ebp - 4], 0x2a
mov esi, dword [ebp - 0x538]
mov ecx, dword [esi + 4]
call fcn.1001b900
mov ecx, dword [esi + 4]
mov dword [ebp - 0x52c], eax
call fcn.100201e0
mov edi, dword [ebp - 0x540]
mov esi, eax
mov ecx, edi
call fcn.1001b900
mov ecx, dword [ebp - 0x52c]
cmp eax, ecx
jne 0x1000b8a4
mov ecx, edi
call fcn.100201e0
cmp eax, esi
je 0x1000b8d0
mov ecx, dword [ebp - 0x52c]
test ecx, ecx
je 0x1000b8c3
test esi, esi
je 0x1000b8c3
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
jle 0x1000b8c3
call fcn.10002c20
mov ecx, dword [ebp - 0x52c]
push esi
imul esi, ecx
push ecx
mov ecx, edi
push esi
call fcn.10020780
mov ecx, edi
mov byte [ebp - 4], 0x2b
call fcn.100201e0
mov ecx, edi
mov esi, eax
call fcn.1001b910
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], esi
mov ecx, edi
mov byte [ebp - 4], 0x2c
call fcn.10020250
lea ecx, [ebp - 0x154]
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x17c], ecx
lea ecx, [ebp - 0x23c]
mov dword [ebp - 0x178], ecx
lea ecx, [ebp - 0x57a]
mov dword [ebp - 0x174], ecx
lea ecx, [ebp - 0x17c]
call fcn.1004cea0
mov dword [ebp - 0x538], eax
xor esi, esi
cdq
and edx, 3
lea edi, [edx + eax]
and edi, 0xfffffffc
test edi, edi
jle 0x1000b97a
movaps xmm1, xmmword [0x100e3c60]
nop dword [eax]
mov eax, dword [ebp - 0x178]
lea ecx, [esi*4]
add esi, 4
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x17c]
movups xmm0, xmmword [edx + ecx]
mov eax, dword [eax]
xorps xmm0, xmm1
movups xmmword [eax + ecx], xmm0
cmp esi, edi
jl 0x1000b950
push dword [ebp - 0x538]
mov edx, edi
lea ecx, [ebp - 0x17c]
call fcn.100512f0
add esp, 4
lea ecx, [ebp - 0x154]
call fcn.10017480
lea ecx, [ebp - 0x23c]
mov dword [ebp - 4], 0xffffffff
call fcn.10017480
mov edi, dword [ebp - 0x534]
lea ecx, [edi + 0x64]
call fcn.10020250
mov esi, dword [ebp - 0x530]
jmp 0x1000b9c9
mov edi, dword [ebp - 0x534]
test byte [edi + 0x1e8], 0x80
je 0x1000bc18
add edi, 0x1c4
lea ecx, [esi + 0xc]
mov dword [ebp - 0x538], edi
call fcn.1001b900
mov esi, eax
test esi, esi
je 0x1000b9fd
cmp esi, 0x2aaaaaaa
jle 0x1000b9fd
call fcn.10002c20
push 3
push esi
lea eax, [esi + esi*2]
mov ecx, edi
push eax
call fcn.10020780
mov esi, dword [ebp - 0x530]
mov dword [ebp - 0x52c], 0
lea ecx, [esi + 0xc]
call fcn.1001b900
test eax, eax
je 0x1000bb41
mov dword [ebp - 0x544], 2
mov ecx, edi
call fcn.10020250
mov edi, eax
mov ecx, edi
mov dword [ebp - 0x548], edi
call fcn.100201e0
mov ecx, edi
mov esi, eax
call fcn.100201e0
mov ecx, dword [ebp - 0x548]
mov edi, eax
call fcn.1001b910
imul edi, dword [ebp - 0x52c]
lea ecx, [ebp - 0x8dc]
push esi
push 1
lea eax, [eax + edi*4]
push eax
call fcn.100221c0
mov eax, dword [ebp - 0x548]
mov ecx, eax
mov edi, dword [ebp - 0x52c]
mov dword [ebp - 0x8d0], eax
mov dword [ebp - 0x8cc], edi
mov dword [ebp - 0x8c8], 0
call fcn.100201e0
mov esi, dword [ebp - 0x544]
lea ecx, [ebp - 0x8dc]
mov dword [ebp - 0x8c4], eax
lea eax, [esi - 2]
mov dword [ebp - 0x58c], eax
lea eax, [ebp - 0x58c]
push eax
lea eax, [ebp - 0xb50]
push eax
call fcn.10022ad0
lea ecx, [esi - 1]
mov dword [ebp - 4], 0x2d
mov dword [ebp - 0x590], ecx
lea ecx, [ebp - 0x590]
push ecx
mov ecx, eax
call fcn.1001b8b0
lea ecx, [ebp - 0x594]
mov dword [ebp - 0x594], esi
push ecx
mov ecx, eax
call fcn.1001b8b0
lea ecx, [ebp - 0xb50]
mov dword [ebp - 4], 0xffffffff
call fcn.10017480
add esi, 3
inc edi
mov dword [ebp - 0x544], esi
mov esi, dword [ebp - 0x530]
mov dword [ebp - 0x52c], edi
lea ecx, [esi + 0xc]
call fcn.1001b900
cmp edi, eax
mov edi, dword [ebp - 0x538]
jb 0x1000ba35
mov edi, dword [ebp - 0x534]
test byte [edi + 0x1e8], 2
je 0x1000b66f
lea ecx, [esi + 0x78]
call fcn.1001b900
test eax, eax
jle 0x1000b66f
mov ecx, dword [ebp - 0x530]
lea esi, [edi + 0x94]
lea ecx, [ecx + 0xc]
call fcn.1001b900
lea edi, [eax + eax*2]
test edi, edi
je 0x1000bb8c
cmp edi, 0x3fffffff
jle 0x1000bb8c
call fcn.10002c20
push 2
push edi
lea eax, [edi + edi]
mov ecx, esi
push eax
call fcn.10020780
mov edx, dword [ebp - 0x530]
mov dword [ebp - 0x548], 0
cmp dword [edx + 0x10], 0
jbe 0x1000ca15
xor ecx, ecx
nop word [eax + eax]
mov dword [ebp - 0x52c], 0
mov dword [ebp - 0x544], ecx
mov eax, dword [ebp - 0x568]
cmp dword [ebp - 0x558], eax
jne 0x1000bc23
lea ecx, [edx + 0x84]
call fcn.10020250
mov esi, eax
mov ecx, esi
mov dword [ebp - 4], 0x2e
call fcn.1001b900
mov ecx, esi
mov edi, eax
call fcn.1001b910
mov esi, eax
mov dword [ebp - 0x5a4], edi
mov dword [ebp - 0x5a8], esi
lea ecx, [ebp - 0x5a8]
jmp 0x1000bc58
mov esi, dword [ebp - 0x530]
jmp 0x1000bb47
lea ecx, [edx + 0xc]
call fcn.10020250
mov esi, eax
mov ecx, esi
mov dword [ebp - 4], 0x2f
call fcn.1001b900
mov ecx, esi
mov edi, eax
call fcn.1001b910
mov esi, eax
mov dword [ebp - 0x59c], edi
mov dword [ebp - 0x5a0], esi
lea ecx, [ebp - 0x5a0]
imul edi, dword [ebp - 0x52c]
add edi, dword [ebp - 0x548]
call fcn.10017480
mov edx, dword [esi + edi*4]
mov esi, dword [ebp - 0x530]
mov edi, dword [ebp - 0x534]
add esi, 0x78
mov dword [ebp - 0x6ec], esi
add edi, 0x94
mov dword [ebp - 0x6e8], edx
mov dword [ebp - 0x6e4], 0
mov eax, dword [esi]
mov ecx, dword [esi + 8]
mov esi, dword [edi + 8]
mov dword [ebp - 0x6f0], ecx
lea eax, [eax + edx*8]
mov dword [ebp - 0x6e0], 1
mov dword [ebp - 0x6f8], eax
movups xmm0, xmmword [ebp - 0x6f8]
mov dword [ebp - 0xa90], 1
movups xmmword [ebp - 0xaa8], xmm0
movq xmm0, qword [ebp - 0x6e8]
movq qword [ebp - 0xa98], xmm0
mov ecx, edi
mov dword [ebp - 4], 0x32
call fcn.100201e0
push esi
mov esi, dword [ebp - 0x544]
mov ecx, esi
imul ecx, eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [edi]
push 1
lea eax, [eax + ecx*4]
push eax
lea ecx, [ebp - 0x848]
call fcn.100221c0
mov dword [ebp - 0x83c], edi
mov dword [ebp - 0x838], esi
mov dword [ebp - 0x834], 0
mov ecx, edi
mov dword [ebp - 4], 0x33
call fcn.100201e0
mov dword [ebp - 0x830], eax
mov eax, dword [ebp - 0xaa8]
mov dword [ebp - 0x3a0], eax
mov dword [ebp - 4], 0x34
mov ecx, dword [ebp - 0xa9c]
call fcn.1001b900
mov dword [ebp - 0x39c], eax
mov eax, dword [ebp - 0x848]
mov dword [ebp - 0x388], eax
mov dword [ebp - 4], 0x37
mov ecx, dword [ebp - 0x83c]
call fcn.100201e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x380], eax
lea eax, [ebp - 0x388]
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x3a4]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0x561]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x848]
mov dword [ebp - 0x38], eax
call fcn.100411c0
mov edi, eax
xor esi, esi
mov dword [ebp - 0x540], edi
cmp edi, 4
jl 0x1000be79
lea eax, [edi - 3]
mov dword [ebp - 0x538], eax
lea edi, [esi + 2]
nop dword [eax]
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
imul ecx, esi
movsd xmm0, qword [eax + ecx*8]
lea ecx, [edi - 1]
mov eax, dword [ebp - 0x44]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4], xmm0
mov eax, dword [ebp - 0x40]
imul ecx, dword [eax + 8]
mov eax, dword [eax + 4]
movsd xmm0, qword [eax + ecx*8]
mov eax, dword [ebp - 0x44]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4 + 4], xmm0
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
imul ecx, edi
movsd xmm0, qword [eax + ecx*8]
mov eax, dword [ebp - 0x44]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4 + 8], xmm0
lea eax, [edi + 1]
mov ecx, dword [ebp - 0x40]
add edi, 4
imul eax, dword [ecx + 8]
mov edx, dword [ecx + 4]
movsd xmm0, qword [edx + eax*8]
mov eax, dword [ebp - 0x44]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4 + 0xc], xmm0
add esi, 4
cmp esi, dword [ebp - 0x538]
jl 0x1000bde0
mov edi, dword [ebp - 0x540]
cmp esi, edi
jge 0x1000bea4
nop dword [eax]
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x44]
imul ecx, esi
mov eax, dword [eax]
movsd xmm0, qword [edx + ecx*8]
cvtpd2ps xmm0, xmm0
movss dword [eax + esi*4], xmm0
inc esi
cmp esi, edi
jl 0x1000be80
mov eax, dword [ebp - 0x52c]
mov ecx, dword [ebp - 0x544]
inc eax
mov edx, dword [ebp - 0x530]
inc ecx
mov dword [ebp - 0x52c], eax
mov dword [ebp - 0x544], ecx
cmp eax, 3
jb 0x1000bbd0
mov eax, dword [ebp - 0x548]
inc eax
mov dword [ebp - 0x548], eax
cmp eax, dword [edx + 0x10]
jb 0x1000bbc0
jmp 0x1000ca15
mov eax, dword [ebp - 0x534]
test byte [eax + 0x1e8], 1
je 0x1000bf10
add eax, 0x58
push eax
push ecx
lea ecx, [ebp - 0x18]
call fcn.1000f0e0
mov ecx, dword [ebp - 0x530]
mov eax, dword [ebp - 0x534]
test byte [eax + 0x1e8], 8
je 0x1000bf2f
add eax, 0x70
push eax
lea eax, [ecx + 0x24]
push eax
lea ecx, [ebp - 0x34]
call fcn.1000ef10
mov eax, dword [ebp - 0x534]
test byte [eax + 0x1e8], 0x10
mov esi, dword [ebp - 0x530]
je 0x1000bf54
add eax, 0x7c
lea ecx, [ebp - 0x34]
push eax
lea eax, [esi + 0x30]
push eax
call fcn.1000ef10
mov eax, dword [ebp - 0x534]
test byte [eax + 0x1e8], 0x20
je 0x1000bf75
add eax, 0x88
lea ecx, [ebp - 0x34]
push eax
lea eax, [esi + 0x3c]
push eax
call fcn.1000ef10
mov eax, dword [ebp - 0x534]
test byte [eax + 0x1e8], 4
je 0x1000c538
add eax, 0x64
lea ecx, [esi + 0xc]
mov dword [ebp - 0x544], eax
call fcn.1001b900
lea esi, [eax + eax*2]
test esi, esi
je 0x1000bfa7
cmp esi, 0x2aaaaaaa
jle 0x1000bfa7
call fcn.10002c20
push 3
push esi
lea eax, [esi + esi*2]
mov esi, dword [ebp - 0x544]
push eax
mov ecx, esi
call fcn.10020780
mov eax, dword [ebp - 0x530]
xor ecx, ecx
mov dword [ebp - 0x548], ecx
cmp dword [eax + 0x10], ecx
jbe 0x1000c362
xor eax, eax
nop dword [eax]
nop dword [eax + eax]
mov dword [ebp - 0x52c], eax
mov dword [ebp - 0x540], 3
mov eax, dword [ebp - 0x55c]
mov ecx, edi
cmp dword [ebp - 0x54c], eax
jne 0x1000c07c
call fcn.10020250
mov edi, eax
mov ecx, edi
mov dword [ebp - 0x554], edi
call fcn.100201e0
mov ecx, edi
mov esi, eax
call fcn.10002510
mov ecx, dword [ebp - 0x554]
mov edi, eax
call fcn.1001b910
push esi
mov esi, dword [ebp - 0x52c]
lea ecx, [ebp - 0x8f8]
imul edi, esi
push 1
lea eax, [eax + edi*8]
push eax
call fcn.100221c0
mov eax, dword [ebp - 0x554]
mov ecx, eax
mov dword [ebp - 0x8ec], eax
mov dword [ebp - 0x8e8], esi
mov dword [ebp - 0x8e4], 0
call fcn.10002510
mov dword [ebp - 0x8e0], eax
lea ecx, [ebp - 0x8f8]
lea eax, [ebp - 0xe60]
jmp 0x1000c0f6
call fcn.10020250
mov edi, eax
mov ecx, edi
mov dword [ebp - 0x554], edi
call fcn.100201e0
mov ecx, edi
mov esi, eax
call fcn.10002510
mov ecx, dword [ebp - 0x554]
mov edi, eax
call fcn.1001b910
push esi
mov esi, dword [ebp - 0x548]
lea ecx, [ebp - 0x9bc]
imul edi, esi
push 1
lea eax, [eax + edi*8]
push eax
call fcn.100221c0
mov eax, dword [ebp - 0x554]
mov ecx, eax
mov dword [ebp - 0x9b0], eax
mov dword [ebp - 0x9ac], esi
mov dword [ebp - 0x9a8], 0
call fcn.10002510
mov dword [ebp - 0x9a4], eax
lea ecx, [ebp - 0x9bc]
lea eax, [ebp - 0xe3c]
push eax
call fcn.10022aa0
mov ecx, dword [ebp - 0x544]
mov dword [ebp - 0x53c], eax
call fcn.10020250
mov edi, eax
mov ecx, edi
mov dword [ebp - 0x554], edi
call fcn.100201e0
mov ecx, edi
mov esi, eax
call fcn.100201e0
mov ecx, dword [ebp - 0x554]
mov edi, eax
call fcn.1001b910
push esi
mov esi, dword [ebp - 0x52c]
lea ecx, [ebp - 0x5f8]
imul edi, esi
push 1
lea eax, [eax + edi*4]
push eax
call fcn.100221c0
mov eax, dword [ebp - 0x554]
mov ecx, eax
mov dword [ebp - 0x5ec], eax
mov dword [ebp - 0x5e8], esi
mov dword [ebp - 0x5e4], 0
call fcn.100201e0
mov ecx, dword [ebp - 0x53c]
mov dword [ebp - 0x5e0], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x36c], eax
mov dword [ebp - 4], 0x38
mov ecx, dword [ecx + 0x10]
call fcn.1001b900
mov dword [ebp - 0x368], eax
mov eax, dword [ebp - 0x5f8]
mov dword [ebp - 0x394], eax
mov dword [ebp - 4], 0x3b
mov ecx, dword [ebp - 0x5ec]
call fcn.100201e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x38c], eax
lea eax, [ebp - 0x394]
mov dword [ebp - 0xc4], eax
lea eax, [ebp - 0x370]
mov dword [ebp - 0xc0], eax
lea eax, [ebp - 0x57b]
mov dword [ebp - 0xbc], eax
lea eax, [ebp - 0x5f8]
mov dword [ebp - 0xb8], eax
call fcn.100411c0
mov edi, eax
xor esi, esi
mov dword [ebp - 0x554], edi
cmp edi, 4
jl 0x1000c2d1
lea eax, [edi - 3]
mov dword [ebp - 0x53c], eax
lea edi, [esi + 2]
nop
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
imul ecx, esi
movsd xmm0, qword [eax + ecx*8]
lea ecx, [edi - 1]
mov eax, dword [ebp - 0xc4]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4], xmm0
mov eax, dword [ebp - 0xc0]
imul ecx, dword [eax + 8]
mov eax, dword [eax + 4]
movsd xmm0, qword [eax + ecx*8]
mov eax, dword [ebp - 0xc4]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4 + 4], xmm0
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
imul ecx, edi
movsd xmm0, qword [eax + ecx*8]
mov eax, dword [ebp - 0xc4]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4 + 8], xmm0
lea eax, [edi + 1]
mov ecx, dword [ebp - 0xc0]
add edi, 4
imul eax, dword [ecx + 8]
mov edx, dword [ecx + 4]
movsd xmm0, qword [edx + eax*8]
mov eax, dword [ebp - 0xc4]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4 + 0xc], xmm0
add esi, 4
cmp esi, dword [ebp - 0x53c]
jl 0x1000c220
mov edi, dword [ebp - 0x554]
cmp esi, edi
jge 0x1000c30a
nop word [eax + eax]
mov eax, dword [ebp - 0xc0]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xc4]
imul ecx, esi
mov eax, dword [eax]
movsd xmm0, qword [edx + ecx*8]
cvtpd2ps xmm0, xmm0
movss dword [eax + esi*4], xmm0
inc esi
cmp esi, edi
jl 0x1000c2e0
lea ecx, [ebp - 0x370]
call fcn.10017480
lea ecx, [ebp - 0x5f8]
call fcn.10020250
mov eax, dword [ebp - 0x52c]
mov edi, dword [ebp - 0x538]
inc eax
sub dword [ebp - 0x540], 1
mov dword [ebp - 0x52c], eax
jne 0x1000bff0
mov ecx, dword [ebp - 0x548]
mov edx, dword [ebp - 0x530]
inc ecx
mov dword [ebp - 0x548], ecx
cmp ecx, dword [edx + 0x10]
jb 0x1000bfe0
mov esi, dword [ebp - 0x544]
cmp byte [ebx + 0xc], 0
je 0x1000c538
lea eax, [ebp - 0xce0]
mov ecx, esi
push eax
call fcn.1001c6e0
mov ecx, eax
call fcn.10020250
mov ecx, dword [ebp - 0x544]
mov esi, eax
mov dword [ebp - 0x53c], esi
call fcn.10020250
mov dword [ebp - 0x54c], eax
mov dword [ebp - 4], 0x3c
lea eax, [ebp - 0x22c]
mov edi, dword [esi + 4]
mov dword [ebp - 0x538], eax
mov ecx, edi
mov byte [ebp - 4], 0x3d
call fcn.100201e0
mov ecx, edi
mov esi, eax
call fcn.1001b910
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x228], esi
mov dword [ebp - 4], 0x3e
mov esi, dword [ebp - 0x53c]
mov ecx, dword [esi + 4]
call fcn.1001b900
mov ecx, dword [esi + 4]
mov dword [ebp - 0x52c], eax
call fcn.100201e0
mov edi, dword [ebp - 0x54c]
mov esi, eax
mov ecx, edi
call fcn.1001b900
mov ecx, dword [ebp - 0x52c]
cmp eax, ecx
jne 0x1000c41d
mov ecx, edi
call fcn.100201e0
cmp eax, esi
je 0x1000c449
mov ecx, dword [ebp - 0x52c]
test ecx, ecx
je 0x1000c43c
test esi, esi
je 0x1000c43c
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
jle 0x1000c43c
call fcn.10002c20
mov ecx, dword [ebp - 0x52c]
push esi
imul esi, ecx
push ecx
mov ecx, edi
push esi
call fcn.10020780
mov ecx, edi
mov byte [ebp - 4], 0x3f
call fcn.100201e0
mov ecx, edi
mov esi, eax
call fcn.1001b910
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], esi
mov ecx, edi
mov byte [ebp - 4], 0x40
call fcn.10020250
lea ecx, [ebp - 0x15c]
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x16c], ecx
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x168], ecx
lea ecx, [ebp - 0x57c]
mov dword [ebp - 0x164], ecx
lea ecx, [ebp - 0x16c]
call fcn.1004cea0
mov dword [ebp - 0x53c], eax
xor esi, esi
cdq
and edx, 3
lea edi, [edx + eax]
and edi, 0xfffffffc
test edi, edi
jle 0x1000c4fa
movaps xmm1, xmmword [0x100e3c60]
nop word [eax + eax]
mov eax, dword [ebp - 0x168]
lea ecx, [esi*4]
add esi, 4
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x16c]
movups xmm0, xmmword [edx + ecx]
mov eax, dword [eax]
xorps xmm0, xmm1
movups xmmword [eax + ecx], xmm0
cmp esi, edi
jl 0x1000c4d0
push dword [ebp - 0x53c]
mov edx, edi
lea ecx, [ebp - 0x16c]
call fcn.100512f0
add esp, 4
lea ecx, [ebp - 0x15c]
call fcn.10017480
lea ecx, [ebp - 0x230]
mov dword [ebp - 4], 0xffffffff
call fcn.10017480
mov ecx, dword [ebp - 0x544]
call fcn.10020250
mov edi, dword [ebp - 0x534]
test byte [edi + 0x1e8], 0x80
je 0x1000c773
mov ecx, dword [ebp - 0x530]
add edi, 0x1c4
mov dword [ebp - 0x53c], edi
lea ecx, [ecx + 0xc]
call fcn.1001b900
mov esi, eax
test esi, esi
je 0x1000c578
cmp esi, 0x2aaaaaaa
jle 0x1000c578
call fcn.10002c20
push 3
push esi
lea eax, [esi + esi*2]
mov ecx, edi
push eax
call fcn.10020780
mov esi, dword [ebp - 0x530]
mov dword [ebp - 0x52c], 0
lea ecx, [esi + 0xc]
call fcn.1001b900
test eax, eax
je 0x1000c6bc
mov dword [ebp - 0x540], 2
mov ecx, edi
call fcn.10020250
mov edi, eax
mov ecx, edi
mov dword [ebp - 0x538], edi
call fcn.100201e0
mov ecx, edi
mov esi, eax
call fcn.100201e0
mov ecx, dword [ebp - 0x538]
mov edi, eax
call fcn.1001b910
imul edi, dword [ebp - 0x52c]
lea ecx, [ebp - 0x914]
push esi
push 1
lea eax, [eax + edi*4]
push eax
call fcn.100221c0
mov eax, dword [ebp - 0x538]
mov ecx, eax
mov edi, dword [ebp - 0x52c]
mov dword [ebp - 0x908], eax
mov dword [ebp - 0x904], edi
mov dword [ebp - 0x900], 0
call fcn.100201e0
mov esi, dword [ebp - 0x540]
lea ecx, [ebp - 0x914]
mov dword [ebp - 0x8fc], eax
lea eax, [esi - 2]
mov dword [ebp - 0x598], eax
lea eax, [ebp - 0x598]
push eax
lea eax, [ebp - 0xb60]
push eax
call fcn.10022ad0
lea ecx, [esi - 1]
mov dword [ebp - 4], 0x41
mov dword [ebp - 0x588], ecx
lea ecx, [ebp - 0x588]
push ecx
mov ecx, eax
call fcn.1001b8b0
lea ecx, [ebp - 0x584]
mov dword [ebp - 0x584], esi
push ecx
mov ecx, eax
call fcn.1001b8b0
lea ecx, [ebp - 0xb60]
mov dword [ebp - 4], 0xffffffff
call fcn.10017480
add esi, 3
inc edi
mov dword [ebp - 0x540], esi
mov esi, dword [ebp - 0x530]
mov dword [ebp - 0x52c], edi
lea ecx, [esi + 0xc]
call fcn.1001b900
cmp edi, eax
mov edi, dword [ebp - 0x53c]
jb 0x1000c5b0
mov edi, dword [ebp - 0x534]
test byte [edi + 0x1e8], 2
je 0x1000b66f
lea ecx, [esi + 0x78]
call fcn.1001b900
test eax, eax
jle 0x1000b66f
mov ecx, dword [ebp - 0x530]
lea esi, [edi + 0x94]
lea ecx, [ecx + 0xc]
call fcn.1001b900
lea edi, [eax + eax*2]
test edi, edi
je 0x1000c707
cmp edi, 0x3fffffff
jle 0x1000c707
call fcn.10002c20
push 2
push edi
lea eax, [edi + edi]
mov ecx, esi
push eax
call fcn.10020780
mov edx, dword [ebp - 0x530]
mov dword [ebp - 0x52c], 0
cmp dword [edx + 0x10], 0
jbe 0x1000ca15
xor edi, edi
xor esi, esi
mov dword [ebp - 0x540], edi
mov dword [ebp - 0x538], esi
nop
mov eax, dword [ebp - 0x568]
cmp dword [ebp - 0x558], eax
jne 0x1000c77e
lea ecx, [edx + 0x84]
mov dword [ebp - 4], 0x42
call fcn.1001b900
mov edx, dword [ebp - 0x530]
mov ecx, esi
imul ecx, eax
mov eax, dword [edx + 0x84]
jmp 0x1000c79b
mov esi, dword [ebp - 0x530]
jmp 0x1000c6c2
lea ecx, [edx + 0xc]
mov dword [ebp - 4], 0x43
call fcn.1001b900
mov edx, dword [ebp - 0x530]
mov ecx, esi
imul ecx, eax
mov eax, dword [edx + 0xc]
add ecx, dword [ebp - 0x52c]
mov esi, dword [ebp - 0x530]
add esi, 0x78
mov dword [ebp - 0x6ac], 0
mov dword [ebp - 0x6b4], esi
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x6b0], edx
mov eax, dword [esi]
mov ecx, dword [esi + 8]
mov dword [ebp - 0x6b8], ecx
mov dword [ebp - 0x6a8], 1
lea eax, [eax + edx*8]
mov dword [ebp - 0xab4], 1
mov dword [ebp - 0x6c0], eax
movups xmm0, xmmword [ebp - 0x6c0]
mov eax, dword [ebp - 0x534]
movups xmmword [ebp - 0xacc], xmm0
movq xmm0, qword [ebp - 0x6b0]
mov esi, dword [eax + 0x9c]
movq qword [ebp - 0xabc], xmm0
lea ecx, [eax + 0x94]
mov dword [ebp - 4], 0x46
call fcn.100201e0
push esi
mov esi, dword [ebp - 0x534]
imul eax, edi
add esi, 0x94
mov dword [ebp - 4], 0xffffffff
push 1
mov ecx, dword [esi]
lea eax, [ecx + eax*4]
push eax
lea ecx, [ebp - 0x6dc]
call fcn.100221c0
mov dword [ebp - 0x6d0], esi
mov dword [ebp - 0x6cc], edi
mov dword [ebp - 0x6c8], 0
mov ecx, esi
mov dword [ebp - 4], 0x47
call fcn.100201e0
mov dword [ebp - 0x6c4], eax
mov eax, dword [ebp - 0xacc]
mov dword [ebp - 0x3c0], eax
mov dword [ebp - 4], 0x48
mov ecx, dword [ebp - 0xac0]
call fcn.1001b900
mov dword [ebp - 0x3bc], eax
mov eax, dword [ebp - 0x6dc]
mov dword [ebp - 0x2b8], eax
mov dword [ebp - 4], 0x4b
mov ecx, dword [ebp - 0x6d0]
call fcn.100201e0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x2b0], eax
lea eax, [ebp - 0x2b8]
mov dword [ebp - 0x74], eax
lea eax, [ebp - 0x3c4]
mov dword [ebp - 0x70], eax
lea eax, [ebp - 0x57d]
mov dword [ebp - 0x6c], eax
lea eax, [ebp - 0x6dc]
mov dword [ebp - 0x68], eax
call fcn.100411c0
mov edi, eax
xor esi, esi
mov dword [ebp - 0x54c], edi
cmp edi, 4
jl 0x1000c9ae
lea eax, [edi - 3]
mov dword [ebp - 0x53c], eax
lea edi, [esi + 2]
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
imul ecx, esi
movsd xmm0, qword [eax + ecx*8]
lea ecx, [edi - 1]
mov eax, dword [ebp - 0x74]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4], xmm0
mov eax, dword [ebp - 0x70]
imul ecx, dword [eax + 8]
mov eax, dword [eax + 4]
movsd xmm0, qword [eax + ecx*8]
mov eax, dword [ebp - 0x74]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4 + 4], xmm0
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
imul ecx, edi
movsd xmm0, qword [eax + ecx*8]
mov eax, dword [ebp - 0x74]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4 + 8], xmm0
lea eax, [edi + 1]
mov ecx, dword [ebp - 0x70]
add edi, 4
imul eax, dword [ecx + 8]
mov edx, dword [ecx + 4]
movsd xmm0, qword [edx + eax*8]
mov eax, dword [ebp - 0x74]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4 + 0xc], xmm0
add esi, 4
cmp esi, dword [ebp - 0x53c]
jl 0x1000c915
mov edi, dword [ebp - 0x54c]
cmp esi, edi
jge 0x1000c9d6
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x74]
imul ecx, esi
mov eax, dword [eax]
movsd xmm0, qword [edx + ecx*8]
cvtpd2ps xmm0, xmm0
movss dword [eax + esi*4], xmm0
inc esi
cmp esi, edi
jl 0x1000c9b2
mov esi, dword [ebp - 0x538]
mov edi, dword [ebp - 0x540]
inc esi
mov edx, dword [ebp - 0x530]
inc edi
mov dword [ebp - 0x538], esi
mov dword [ebp - 0x540], edi
cmp esi, 3
jb 0x1000c740
mov eax, dword [ebp - 0x52c]
inc eax
mov dword [ebp - 0x52c], eax
cmp eax, dword [edx + 0x10]
jb 0x1000c731
mov edi, dword [ebp - 0x534]
test byte [edi + 0x1e8], 0x40
je 0x1000cb56
lea esi, [edx + 0x90]
mov ecx, esi
call fcn.1001b900
mov ecx, esi
mov dword [edi + 0x1ac], eax
call fcn.100201e0
mov ecx, esi
mov dword [edi + 0x1b0], eax
call fcn.1001bab0
shl eax, 2
lea ecx, [edi + 0x1bc]
push eax
call fcn.1001c690
mov ecx, dword [ebp - 0x530]
xor esi, esi
lea ecx, [ecx + 0x90]
call fcn.1001bab0
test eax, eax
je 0x1000cb50
mov ecx, dword [ebp - 0x530]
nop
lea ecx, [ecx + 0x90]
mov dword [ebp - 4], 0x4c
call fcn.1001b900
mov edx, dword [ebp - 0x530]
mov eax, dword [edx + 0x90]
movzx ecx, byte [eax + esi]
mov eax, dword [edi + 0x1bc]
mov byte [eax + esi*4], cl
lea ecx, [edx + 0x9c]
mov dword [ebp - 4], 0x4e
call fcn.1001b900
mov edx, dword [ebp - 0x530]
mov eax, dword [edx + 0x9c]
movzx ecx, byte [eax + esi]
mov eax, dword [edi + 0x1bc]
mov byte [eax + esi*4 + 1], cl
lea ecx, [edx + 0xa8]
mov dword [ebp - 4], 0x50
call fcn.1001b900
mov edx, dword [ebp - 0x530]
mov eax, dword [edx + 0xa8]
movzx ecx, byte [eax + esi]
mov eax, dword [edi + 0x1bc]
mov byte [eax + esi*4 + 2], cl
lea ecx, [edx + 0xb4]
mov dword [ebp - 4], 0x52
call fcn.1001b900
mov edx, dword [ebp - 0x530]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [edx + 0xb4]
movzx ecx, byte [eax + esi]
mov eax, dword [edi + 0x1bc]
mov byte [eax + esi*4 + 3], cl
lea ecx, [edx + 0x90]
inc esi
call fcn.1001bab0
mov ecx, dword [ebp - 0x530]
cmp esi, eax
jb 0x1000ca80
mov edi, dword [ebp - 0x534]
test dword [edi + 0x1e8], 0x100
mov esi, dword [ebp - 0x530]
je 0x1000d64e
mov eax, dword [esi + 0xc4]
lea ecx, [edi + 0xa0]
add eax, eax
je 0x1000cb87
cmp eax, 0x2aaaaaaa
jg 0x1000edf0
push 3
push eax
lea eax, [eax + eax*2]
push eax
call fcn.10020780
mov eax, dword [esi + 0xc4]
lea ecx, [edi + 0xac]
add eax, eax
je 0x1000cbae
cmp eax, 0x2aaaaaaa
jg 0x1000ee0c
push 3
push eax
lea eax, [eax + eax*2]
push eax
call fcn.10020780
mov eax, dword [esi + 0xc4]
lea ecx, [edi + 0x1d0]
add eax, eax
push 1
push eax
push eax
call fcn.10020780
xor edi, edi
mov dword [ebp - 0x548], edi
cmp dword [esi + 0xc4], edi
jbe 0x1000d648
lea eax, [esi + 0xc0]
xor ecx, ecx
mov dword [ebp - 0x544], eax
mov dword [ebp - 0x52c], ecx
nop dword [eax]
mov esi, dword [eax]
mov ecx, eax
mov dword [ebp - 4], 0x54
call fcn.1001b900
lea eax, [esi + edi*8]
mov dword [ebp - 4], 0xffffffff
push eax
lea ecx, [ebp - 0x628]
call fcn.1000f0d0
mov eax, dword [ebp - 0x544]
mov dword [ebp - 0x61c], edi
mov edi, dword [ebp - 0x534]
mov dword [ebp - 0x620], eax
add edi, 0xa0
movups xmm0, xmmword [ebp - 0x628]
mov dword [ebp - 0x618], 0
mov dword [ebp - 0x614], 1
mov esi, dword [edi + 8]
movups xmmword [ebp - 0xb7c], xmm0
movq xmm0, qword [ebp - 0x618]
movq qword [ebp - 0xb6c], xmm0
mov ecx, edi
mov dword [ebp - 4], 0x56
call fcn.100201e0
push esi
mov esi, dword [ebp - 0x52c]
mov ecx, esi
imul ecx, eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [edi]
push 1
lea eax, [eax + ecx*4]
push eax
lea ecx, [ebp - 0x82c]
call fcn.100221c0
mov dword [ebp - 0x820], edi
mov dword [ebp - 0x81c], esi
mov dword [ebp - 0x818], 0
mov ecx, edi
mov dword [ebp - 4], 0x57
call fcn.100201e0
mov dword [ebp - 0x814], eax
mov eax, dword [ebp - 0xb7c]
mov dword [ebp - 0x3d0], eax
mov dword [ebp - 4], 0x58
mov ecx, dword [ebp - 0xb74]
call fcn.1001b900
mov dword [ebp - 0x3cc], eax
mov eax, dword [ebp - 0x82c]
mov dword [ebp - 0x2c4], eax
mov dword [ebp - 4], 0x5b
mov ecx, dword [ebp - 0x820]
call fcn.100201e0
mov dword [ebp - 0x2bc], eax
lea ecx, [ebp - 0xb4]
lea eax, [ebp - 0x2c4]
mov dword [ebp - 0xb4], eax
lea eax, [ebp - 0x3d4]
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0x57e]
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0x82c]
mov dword [ebp - 0xa8], eax
call fcn.100411c0
mov edi, eax
xor esi, esi
mov dword [ebp - 0x54c], edi
cmp edi, 4
jl 0x1000ce31
lea eax, [edi - 3]
mov dword [ebp - 0x53c], eax
lea edi, [esi + 2]
nop dword [eax]
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
imul ecx, esi
movsd xmm0, qword [eax + ecx*8]
lea ecx, [edi - 1]
mov eax, dword [ebp - 0xb4]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4], xmm0
mov eax, dword [ebp - 0xb0]
imul ecx, dword [eax + 8]
mov eax, dword [eax + 4]
movsd xmm0, qword [eax + ecx*8]
mov eax, dword [ebp - 0xb4]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4 + 4], xmm0
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
imul ecx, edi
movsd xmm0, qword [eax + ecx*8]
mov eax, dword [ebp - 0xb4]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4 + 8], xmm0
lea eax, [edi + 1]
mov ecx, dword [ebp - 0xb0]
add edi, 4
imul eax, dword [ecx + 8]
mov edx, dword [ecx + 4]
movsd xmm0, qword [edx + eax*8]
mov eax, dword [ebp - 0xb4]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4 + 0xc], xmm0
add esi, 4
cmp esi, dword [ebp - 0x53c]
jl 0x1000cd80
mov edi, dword [ebp - 0x54c]
cmp esi, edi
jge 0x1000ce6a
nop word [eax + eax]
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xb4]
imul ecx, esi
mov eax, dword [eax]
movsd xmm0, qword [edx + ecx*8]
cvtpd2ps xmm0, xmm0
movss dword [eax + esi*4], xmm0
inc esi
cmp esi, edi
jl 0x1000ce40
mov eax, dword [ebp - 0x544]
mov esi, dword [eax]
mov ecx, eax
mov dword [ebp - 4], 0x5c
call fcn.1001b900
mov edi, dword [ebp - 0x548]
mov dword [ebp - 4], 0xffffffff
lea ecx, [edi + eax*2]
add ecx, eax
lea eax, [esi + ecx*8]
push eax
lea ecx, [ebp - 0x640]
call fcn.1000f0d0
mov eax, dword [ebp - 0x544]
mov dword [ebp - 0x634], edi
mov edi, dword [ebp - 0x534]
mov dword [ebp - 0x638], eax
add edi, 0xa0
movups xmm0, xmmword [ebp - 0x640]
mov dword [ebp - 0x630], 3
mov dword [ebp - 0x62c], 1
mov esi, dword [edi + 8]
movups xmmword [ebp - 0xb9c], xmm0
movq xmm0, qword [ebp - 0x630]
movq qword [ebp - 0xb8c], xmm0
mov ecx, edi
mov dword [ebp - 4], 0x5e
call fcn.100201e0
mov ecx, dword [ebp - 0x52c]
inc ecx
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x538], ecx
imul ecx, eax
mov eax, dword [edi]
push esi
push 1
lea eax, [eax + ecx*4]
push eax
lea ecx, [ebp - 0x7bc]
call fcn.100221c0
mov ecx, dword [ebp - 0x538]
mov dword [ebp - 0x7b0], edi
mov dword [ebp - 0x7ac], ecx
mov dword [ebp - 0x7a8], 0
mov ecx, edi
mov dword [ebp - 4], 0x5f
call fcn.100201e0
mov dword [ebp - 0x7a4], eax
mov eax, dword [ebp - 0xb9c]
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 4], 0x60
mov ecx, dword [ebp - 0xb94]
call fcn.1001b900
mov dword [ebp - 0x3dc], eax
mov eax, dword [ebp - 0x7bc]
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 4], 0x63
mov ecx, dword [ebp - 0x7b0]
call fcn.100201e0
mov dword [ebp - 0x2c8], eax
lea ecx, [ebp - 0xa4]
lea eax, [ebp - 0x2d0]
mov dword [ebp - 0xa4], eax
lea eax, [ebp - 0x3e4]
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0x55d]
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0x7bc]
mov dword [ebp - 0x98], eax
call fcn.100411c0
mov edi, eax
xor esi, esi
mov dword [ebp - 0x54c], edi
cmp edi, 4
jl 0x1000d0b1
lea eax, [edi - 3]
mov dword [ebp - 0x53c], eax
lea edi, [esi + 2]
nop
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
imul ecx, esi
movsd xmm0, qword [eax + ecx*8]
lea ecx, [edi - 1]
mov eax, dword [ebp - 0xa4]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4], xmm0
mov eax, dword [ebp - 0xa0]
imul ecx, dword [eax + 8]
mov eax, dword [eax + 4]
movsd xmm0, qword [eax + ecx*8]
mov eax, dword [ebp - 0xa4]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4 + 4], xmm0
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
imul ecx, edi
movsd xmm0, qword [eax + ecx*8]
mov eax, dword [ebp - 0xa4]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4 + 8], xmm0
lea eax, [edi + 1]
mov ecx, dword [ebp - 0xa0]
add edi, 4
imul eax, dword [ecx + 8]
mov edx, dword [ecx + 4]
movsd xmm0, qword [edx + eax*8]
mov eax, dword [ebp - 0xa4]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4 + 0xc], xmm0
add esi, 4
cmp esi, dword [ebp - 0x53c]
jl 0x1000d000
mov edi, dword [ebp - 0x54c]
cmp esi, edi
jge 0x1000d0ea
nop word [eax + eax]
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xa4]
imul ecx, esi
mov eax, dword [eax]
movsd xmm0, qword [edx + ecx*8]
cvtpd2ps xmm0, xmm0
movss dword [eax + esi*4], xmm0
inc esi
cmp esi, edi
jl 0x1000d0c0
mov eax, dword [ebp - 0x544]
mov esi, dword [eax]
mov ecx, eax
mov dword [ebp - 4], 0x64
call fcn.1001b900
mov edi, dword [ebp - 0x548]
lea ecx, [ebp - 0x658]
mov dword [ebp - 4], 0xffffffff
lea eax, [eax + eax*2]
lea eax, [edi + eax*2]
lea eax, [esi + eax*8]
push eax
call fcn.1000f0d0
mov eax, dword [ebp - 0x544]
mov dword [ebp - 0x64c], edi
mov edi, dword [ebp - 0x534]
mov dword [ebp - 0x650], eax
add edi, 0xac
movups xmm0, xmmword [ebp - 0x658]
mov dword [ebp - 0x648], 6
mov dword [ebp - 0x644], 1
mov esi, dword [edi + 8]
movups xmmword [ebp - 0xbbc], xmm0
movq xmm0, qword [ebp - 0x648]
movq qword [ebp - 0xbac], xmm0
mov ecx, edi
mov dword [ebp - 4], 0x66
call fcn.100201e0
push esi
mov esi, dword [ebp - 0x52c]
mov ecx, esi
imul ecx, eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [edi]
push 1
lea eax, [eax + ecx*4]
push eax
lea ecx, [ebp - 0x7d8]
call fcn.100221c0
mov dword [ebp - 0x7cc], edi
mov dword [ebp - 0x7c8], esi
mov dword [ebp - 0x7c4], 0
mov ecx, edi
mov dword [ebp - 4], 0x67
call fcn.100201e0
mov dword [ebp - 0x7c0], eax
mov eax, dword [ebp - 0xbbc]
mov dword [ebp - 0x3f0], eax
mov dword [ebp - 4], 0x68
mov ecx, dword [ebp - 0xbb4]
call fcn.1001b900
mov dword [ebp - 0x3ec], eax
mov eax, dword [ebp - 0x7d8]
mov dword [ebp - 0x2dc], eax
mov dword [ebp - 4], 0x6b
mov ecx, dword [ebp - 0x7cc]
call fcn.100201e0
mov dword [ebp - 0x2d4], eax
lea ecx, [ebp - 0x94]
lea eax, [ebp - 0x2dc]
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0x3f4]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x55e]
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0x7d8]
mov dword [ebp - 0x88], eax
call fcn.100411c0
mov edi, eax
xor esi, esi
mov dword [ebp - 0x54c], edi
cmp edi, 4
jl 0x1000d331
lea eax, [edi - 3]
mov dword [ebp - 0x53c], eax
lea edi, [esi + 2]
nop word [eax + eax]
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
imul ecx, esi
movsd xmm0, qword [eax + ecx*8]
lea ecx, [edi - 1]
mov eax, dword [ebp - 0x94]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4], xmm0
mov eax, dword [ebp - 0x90]
imul ecx, dword [eax + 8]
mov eax, dword [eax + 4]
movsd xmm0, qword [eax + ecx*8]
mov eax, dword [ebp - 0x94]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4 + 4], xmm0
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
imul ecx, edi
movsd xmm0, qword [eax + ecx*8]
mov eax, dword [ebp - 0x94]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4 + 8], xmm0
lea eax, [edi + 1]
mov ecx, dword [ebp - 0x90]
add edi, 4
imul eax, dword [ecx + 8]
mov edx, dword [ecx + 4]
movsd xmm0, qword [edx + eax*8]
mov eax, dword [ebp - 0x94]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4 + 0xc], xmm0
add esi, 4
cmp esi, dword [ebp - 0x53c]
jl 0x1000d280
mov edi, dword [ebp - 0x54c]
cmp esi, edi
jge 0x1000d36a
nop word [eax + eax]
mov eax, dword [ebp - 0x90]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x94]
imul ecx, esi
mov eax, dword [eax]
movsd xmm0, qword [edx + ecx*8]
cvtpd2ps xmm0, xmm0
movss dword [eax + esi*4], xmm0
inc esi
cmp esi, edi
jl 0x1000d340
mov eax, dword [ebp - 0x544]
mov esi, dword [eax]
mov ecx, eax
mov dword [ebp - 4], 0x6c
call fcn.1001b900
mov edi, dword [ebp - 0x548]
lea ecx, [ebp - 0x688]
mov dword [ebp - 4], 0xffffffff
lea eax, [eax + eax*2]
lea eax, [edi + eax*2]
lea eax, [esi + eax*8]
push eax
call fcn.1000f0d0
mov eax, dword [ebp - 0x544]
mov dword [ebp - 0x67c], edi
mov edi, dword [ebp - 0x534]
mov dword [ebp - 0x680], eax
add edi, 0xac
movups xmm0, xmmword [ebp - 0x688]
mov dword [ebp - 0x678], 6
mov dword [ebp - 0x674], 1
mov esi, dword [edi + 8]
movups xmmword [ebp - 0xaec], xmm0
movq xmm0, qword [ebp - 0x678]
movq qword [ebp - 0xadc], xmm0
mov ecx, edi
mov dword [ebp - 4], 0x6e
call fcn.100201e0
push esi
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x538]
mov ecx, esi
imul ecx, eax
mov eax, dword [edi]
push 1
lea eax, [eax + ecx*4]
push eax
lea ecx, [ebp - 0x7f4]
call fcn.100221c0
mov dword [ebp - 0x7e8], edi
mov dword [ebp - 0x7e4], esi
mov dword [ebp - 0x7e0], 0
mov ecx, edi
mov dword [ebp - 4], 0x6f
call fcn.100201e0
mov dword [ebp - 0x7dc], eax
mov eax, dword [ebp - 0xaec]
mov dword [ebp - 0x400], eax
mov dword [ebp - 4], 0x70
mov ecx, dword [ebp - 0xae4]
call fcn.1001b900
mov dword [ebp - 0x3fc], eax
mov eax, dword [ebp - 0x7f4]
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 4], 0x73
mov ecx, dword [ebp - 0x7e8]
call fcn.100201e0
mov dword [ebp - 0x2e0], eax
lea ecx, [ebp - 0x84]
lea eax, [ebp - 0x2e8]
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x404]
mov dword [ebp - 0x80], eax
lea eax, [ebp - 0x55f]
mov dword [ebp - 0x7c], eax
lea eax, [ebp - 0x7f4]
mov dword [ebp - 0x78], eax
call fcn.100411c0
mov edi, eax
xor esi, esi
mov dword [ebp - 0x54c], edi
cmp edi, 4
jl 0x1000d595
lea eax, [edi - 3]
mov dword [ebp - 0x53c], eax
lea edi, [esi + 2]
nop dword [eax]
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
imul ecx, esi
movsd xmm0, qword [eax + ecx*8]
lea ecx, [edi - 1]
mov eax, dword [ebp - 0x84]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4], xmm0
mov eax, dword [ebp - 0x80]
imul ecx, dword [eax + 8]
mov eax, dword [eax + 4]
movsd xmm0, qword [eax + ecx*8]
mov eax, dword [ebp - 0x84]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4 + 4], xmm0
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
imul ecx, edi
movsd xmm0, qword [eax + ecx*8]
mov eax, dword [ebp - 0x84]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4 + 8], xmm0
lea eax, [edi + 1]
mov ecx, dword [ebp - 0x80]
add edi, 4
imul eax, dword [ecx + 8]
mov edx, dword [ecx + 4]
movsd xmm0, qword [edx + eax*8]
mov eax, dword [ebp - 0x84]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4 + 0xc], xmm0
add esi, 4
cmp esi, dword [ebp - 0x53c]
jl 0x1000d4f0
mov edi, dword [ebp - 0x54c]
cmp esi, edi
jge 0x1000d5c7
nop dword [eax]
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x84]
imul ecx, esi
mov eax, dword [eax]
movsd xmm0, qword [edx + ecx*8]
cvtpd2ps xmm0, xmm0
movss dword [eax + esi*4], xmm0
inc esi
cmp esi, edi
jl 0x1000d5a0
mov esi, dword [ebp - 0x534]
mov dword [ebp - 4], 0x74
lea ecx, [esi + 0x1d0]
call fcn.100201e0
mov eax, dword [esi + 0x1d0]
lea ecx, [esi + 0x1d0]
mov edi, dword [ebp - 0x548]
mov esi, dword [ebp - 0x52c]
mov dword [eax + edi*8], esi
mov dword [ebp - 4], 0x75
call fcn.100201e0
mov ecx, dword [ebp - 0x534]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ecx + 0x1d0]
lea ecx, [esi + 1]
add esi, 2
mov dword [ebp - 0x52c], esi
mov esi, dword [ebp - 0x530]
mov dword [eax + edi*8 + 4], ecx
inc edi
mov eax, dword [ebp - 0x544]
mov dword [ebp - 0x548], edi
cmp edi, dword [esi + 0xc4]
jb 0x1000cc00
mov edi, dword [ebp - 0x534]
test dword [edi + 0x1e8], 0x200
je 0x1000dbf5
mov eax, dword [esi + 0xd0]
lea ecx, [edi + 0xb8]
test eax, eax
je 0x1000d679
cmp eax, 0x2aaaaaaa
jg 0x1000ee28
push 3
push eax
lea eax, [eax + eax*2]
push eax
call fcn.10020780
mov eax, dword [esi + 0xd0]
lea ecx, [edi + 0xc4]
test eax, eax
je 0x1000d6a0
cmp eax, 0x2aaaaaaa
jg 0x1000ee44
push 3
push eax
lea eax, [eax + eax*2]
push eax
call fcn.10020780
mov eax, dword [esi + 0xd0]
lea ecx, [edi + 0x1dc]
push 1
push eax
push eax
call fcn.10020780
xor edi, edi
mov dword [ebp - 0x52c], edi
cmp dword [esi + 0xd0], edi
jbe 0x1000dbef
lea eax, [esi + 0xcc]
mov dword [ebp - 0x548], eax
mov esi, dword [eax]
mov ecx, eax
mov dword [ebp - 4], 0x76
call fcn.1001b900
lea eax, [esi + edi*8]
mov dword [ebp - 4], 0xffffffff
push eax
lea ecx, [ebp - 0x610]
call fcn.1000f0d0
mov eax, dword [ebp - 0x548]
mov ecx, dword [ebp - 0x534]
mov dword [ebp - 0x608], eax
mov dword [ebp - 0x604], edi
movups xmm0, xmmword [ebp - 0x610]
mov dword [ebp - 0x600], 0
mov dword [ebp - 0x5fc], 1
mov esi, dword [ecx + 0xc0]
movups xmmword [ebp - 0xb0c], xmm0
movq xmm0, qword [ebp - 0x600]
movq qword [ebp - 0xafc], xmm0
lea ecx, [ecx + 0xb8]
mov dword [ebp - 4], 0x78
call fcn.100201e0
push esi
mov esi, dword [ebp - 0x534]
imul eax, edi
add esi, 0xb8
mov dword [ebp - 4], 0xffffffff
push 1
mov ecx, dword [esi]
lea eax, [ecx + eax*4]
push eax
lea ecx, [ebp - 0x810]
call fcn.100221c0
mov dword [ebp - 0x804], esi
mov dword [ebp - 0x800], edi
mov dword [ebp - 0x7fc], 0
mov ecx, esi
mov dword [ebp - 4], 0x79
call fcn.100201e0
mov dword [ebp - 0x7f8], eax
mov eax, dword [ebp - 0xb0c]
mov dword [ebp - 0x3b0], eax
mov dword [ebp - 4], 0x7a
mov ecx, dword [ebp - 0xb04]
call fcn.1001b900
mov dword [ebp - 0x3ac], eax
mov eax, dword [ebp - 0x810]
mov dword [ebp - 0x2f4], eax
mov dword [ebp - 4], 0x7d
mov ecx, dword [ebp - 0x804]
call fcn.100201e0
mov dword [ebp - 0x2ec], eax
lea ecx, [ebp - 0x54]
lea eax, [ebp - 0x2f4]
mov dword [ebp - 0x54], eax
lea eax, [ebp - 0x3b4]
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x571]
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x810]
mov dword [ebp - 0x48], eax
call fcn.100411c0
xor esi, esi
mov dword [ebp - 0x538], eax
cmp eax, 4
jl 0x1000d8ef
add eax, 0xfffffffd
lea edi, [esi + 2]
mov dword [ebp - 0x53c], eax
nop
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
imul ecx, esi
movsd xmm0, qword [eax + ecx*8]
lea ecx, [edi - 1]
mov eax, dword [ebp - 0x54]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4], xmm0
mov eax, dword [ebp - 0x50]
imul ecx, dword [eax + 8]
mov eax, dword [eax + 4]
movsd xmm0, qword [eax + ecx*8]
mov eax, dword [ebp - 0x54]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4 + 4], xmm0
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
imul ecx, edi
movsd xmm0, qword [eax + ecx*8]
mov eax, dword [ebp - 0x54]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4 + 8], xmm0
lea eax, [edi + 1]
mov ecx, dword [ebp - 0x50]
add edi, 4
imul eax, dword [ecx + 8]
mov edx, dword [ecx + 4]
movsd xmm0, qword [edx + eax*8]
mov eax, dword [ebp - 0x54]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4 + 0xc], xmm0
add esi, 4
cmp esi, dword [ebp - 0x53c]
jl 0x1000d850
mov edi, dword [ebp - 0x52c]
mov eax, dword [ebp - 0x538]
cmp esi, eax
jge 0x1000d92a
mov edi, dword [ebp - 0x538]
nop dword [eax]
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x54]
imul ecx, esi
mov eax, dword [eax]
movsd xmm0, qword [edx + ecx*8]
cvtpd2ps xmm0, xmm0
movss dword [eax + esi*4], xmm0
inc esi
cmp esi, edi
jl 0x1000d900
mov edi, dword [ebp - 0x52c]
mov eax, dword [ebp - 0x548]
mov esi, dword [eax]
mov ecx, eax
mov dword [ebp - 4], 0x7e
call fcn.1001b900
mov dword [ebp - 4], 0xffffffff
lea ecx, [edi + eax*2]
add ecx, eax
lea eax, [esi + ecx*8]
push eax
lea ecx, [ebp - 0x670]
call fcn.1000f0d0
mov eax, dword [ebp - 0x548]
mov ecx, dword [ebp - 0x534]
mov dword [ebp - 0x668], eax
mov dword [ebp - 0x664], edi
movups xmm0, xmmword [ebp - 0x670]
mov dword [ebp - 0x660], 3
mov dword [ebp - 0x65c], 1
mov esi, dword [ecx + 0xcc]
movups xmmword [ebp - 0xb2c], xmm0
movq xmm0, qword [ebp - 0x660]
movq qword [ebp - 0xb1c], xmm0
lea ecx, [ecx + 0xc4]
mov dword [ebp - 4], 0x80
call fcn.100201e0
push esi
mov esi, dword [ebp - 0x534]
mov ecx, edi
imul ecx, eax
add esi, 0xc4
mov dword [ebp - 4], 0xffffffff
push 1
mov eax, dword [esi]
lea eax, [eax + ecx*4]
push eax
lea ecx, [ebp - 0x714]
call fcn.100221c0
mov dword [ebp - 0x708], esi
mov dword [ebp - 0x704], edi
mov dword [ebp - 0x700], 0
mov ecx, esi
mov dword [ebp - 4], 0x81
call fcn.100201e0
mov dword [ebp - 0x6fc], eax
mov eax, dword [ebp - 0xb2c]
mov dword [ebp - 0x410], eax
mov dword [ebp - 4], 0x82
mov ecx, dword [ebp - 0xb24]
call fcn.1001b900
mov dword [ebp - 0x40c], eax
mov eax, dword [ebp - 0x714]
mov dword [ebp - 0x300], eax
mov dword [ebp - 4], 0x85
mov ecx, dword [ebp - 0x708]
call fcn.100201e0
mov dword [ebp - 0x2f8], eax
lea ecx, [ebp - 0xd4]
lea eax, [ebp - 0x300]
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0x414]
mov dword [ebp - 0xd0], eax
lea eax, [ebp - 0x57f]
mov dword [ebp - 0xcc], eax
lea eax, [ebp - 0x714]
mov dword [ebp - 0xc8], eax
call fcn.100411c0
xor esi, esi
mov dword [ebp - 0x538], eax
cmp eax, 4
jl 0x1000db6a
add eax, 0xfffffffd
lea edi, [esi + 2]
mov dword [ebp - 0x53c], eax
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
imul ecx, esi
movsd xmm0, qword [eax + ecx*8]
lea ecx, [edi - 1]
mov eax, dword [ebp - 0xd4]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4], xmm0
mov eax, dword [ebp - 0xd0]
imul ecx, dword [eax + 8]
mov eax, dword [eax + 4]
movsd xmm0, qword [eax + ecx*8]
mov eax, dword [ebp - 0xd4]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4 + 4], xmm0
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
imul ecx, edi
movsd xmm0, qword [eax + ecx*8]
mov eax, dword [ebp - 0xd4]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4 + 8], xmm0
lea eax, [edi + 1]
mov ecx, dword [ebp - 0xd0]
add edi, 4
imul eax, dword [ecx + 8]
mov edx, dword [ecx + 4]
movsd xmm0, qword [edx + eax*8]
mov eax, dword [ebp - 0xd4]
cvtpd2ps xmm0, xmm0
mov eax, dword [eax]
movss dword [eax + esi*4 + 0xc], xmm0
add esi, 4
cmp esi, dword [ebp - 0x53c]
jl 0x1000dab3
mov edi, dword [ebp - 0x52c]
mov eax, dword [ebp - 0x538]
cmp esi, eax
jge 0x1000dba4
mov edi, dword [ebp - 0x538]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xd4]
imul ecx, esi
mov eax, dword [eax]
movsd xmm0, qword [edx + ecx*8]
cvtpd2ps xmm0, xmm0
movss dword [eax + esi*4], xmm0
inc esi
cmp esi, edi
jl 0x1000db74
mov edi, dword [ebp - 0x52c]
mov esi, dword [ebp - 0x534]
mov dword [ebp - 4], 0x86
lea ecx, [esi + 0x1dc]
call fcn.100201e0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [esi + 0x1dc]
mov dword [eax + edi*4], edi
inc edi
mov eax, dword [ebp - 0x530]
mov dword [ebp - 0x52c], edi
cmp edi, dword [eax + 0xd0]
mov eax, dword [ebp - 0x548]
jb 0x1000d6e1
mov edi, esi
jmp 0x1000dbf5
mov edi, dword [ebp - 0x534]
test dword [edi + 0x1e8], 0x800
mov esi, dword [ebp - 0x550]
je 0x1000e7d2
cmp dword [esi + 0xe8], 0
jne 0x1000e7b6
mov edx, dword [esi + 0x10]
lea ecx, [esi + 0xe4]
push 3
mov dword [ebp - 0x52c], ecx
call fcn.1001fde0
add esp, 4
mov dword [ebp - 0x28], 0
xorps xmm0, xmm0
lea edi, [esi + 0x18]
lea ecx, [ebp - 0x5c0]
movq qword [ebp - 0x30], xmm0
mov dword [ebp - 0x5bc], edi
call fcn.10038ea0
test eax, eax
jne 0x1000dc5d
xorps xmm1, xmm1
jmp 0x1000dcb1
mov esi, dword [ebp - 0x5bc]
mov ecx, esi
mov dword [ebp - 4], 0x87
call fcn.1001b900
mov ecx, dword [esi]
mov dword [ebp - 0x308], ecx
mov dword [ebp - 0x304], eax
lea eax, [ebp - 0x5c0]
mov dword [ebp - 4], 0x88
push eax
lea edx, [ebp - 0x570]
lea ecx, [ebp - 0x30c]
call fcn.10041db0
mov esi, dword [ebp - 0x550]
add esp, 4
movaps xmm1, xmm0
mov dword [ebp - 4], 0xffffffff
xorps xmm0, xmm0
comisd xmm1, xmm0
jbe 0x1000deb8
movsd xmm0, xmm1
lea eax, [ebp - 0x8b0]
sqrtpd xmm0, xmm0
lea ecx, [ebp - 0xda8]
push eax
movsd qword [ebp - 0x8b0], xmm0
push dword [edi + 8]
push dword [edi + 4]
call fcn.10029970
push eax
lea ecx, [ebp - 0x9e0]
mov dword [ebp - 0x9e4], edi
call fcn.10021cd0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov dword [ebp - 4], 0x89
mov ecx, dword [ebp - 0x9dc]
mov esi, dword [ebp - 0x9d8]
test ecx, ecx
je 0x1000dd5a
test esi, esi
je 0x1000dd3d
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
setg al
test al, al
jne 0x1000ee60
test ecx, ecx
je 0x1000dd5a
test esi, esi
je 0x1000dd5a
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
setg al
test al, al
jne 0x1000ee7c
push esi
push ecx
imul ecx, esi
push ecx
lea ecx, [ebp - 0x30]
call fcn.100201f0
mov esi, dword [ebp - 0x9e4]
lea eax, [ebp - 0x438]
mov dword [ebp - 0x53c], eax
mov ecx, esi
mov byte [ebp - 4], 0x8b
call fcn.1001b900
mov ecx, dword [esi]
mov dword [ebp - 0x434], ecx
mov dword [ebp - 0x430], eax
lea eax, [ebp - 0x9e0]
mov byte [ebp - 4], 0x8c
push eax
lea ecx, [ebp - 0x428]
call fcn.10045790
mov byte [ebp - 4], 0x8d
mov ecx, dword [ebp - 0x9dc]
mov esi, dword [ebp - 0x9d8]
cmp dword [ebp - 0x2c], ecx
jne 0x1000ddc3
cmp dword [ebp - 0x28], esi
je 0x1000ddee
test ecx, ecx
je 0x1000dde0
test esi, esi
je 0x1000dde0
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
setg al
test al, al
jne 0x1000ee98
push esi
push ecx
imul ecx, esi
push ecx
lea ecx, [ebp - 0x30]
call fcn.100201f0
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x8e
call fcn.1001b900
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x2a4], ecx
mov dword [ebp - 0x2a0], eax
mov byte [ebp - 4], 0x8f
lea eax, [ebp - 0x2a4]
mov dword [ebp - 0x1d4], eax
lea eax, [ebp - 0x438]
mov dword [ebp - 0x1d0], eax
lea eax, [ebp - 0x56f]
mov dword [ebp - 0x1cc], eax
lea eax, [ebp - 0x30]
mov ecx, eax
mov dword [ebp - 0x1c8], eax
call fcn.1001bab0
mov dword [ebp - 0x54c], eax
xor edi, edi
cdq
sub eax, edx
and eax, 0xfffffffe
mov dword [ebp - 0x53c], eax
test eax, eax
jle 0x1000de9a
nop dword [eax]
mov esi, dword [ebp - 0x1d0]
lea ecx, [edi*8]
mov eax, dword [ebp - 0x1d4]
add edi, 2
mov edx, dword [esi + 4]
movsd xmm0, qword [esi + 0x10]
unpcklpd xmm0, xmm0
mov eax, dword [eax]
movups xmm1, xmmword [edx + ecx]
divpd xmm1, xmm0
movups xmmword [eax + ecx], xmm1
mov eax, dword [ebp - 0x53c]
cmp edi, eax
jl 0x1000de60
push dword [ebp - 0x54c]
mov edx, eax
lea ecx, [ebp - 0x1d4]
call fcn.10051240
mov esi, dword [ebp - 0x550]
add esp, 4
jmp 0x1000dec1
push edi
lea ecx, [ebp - 0x30]
call fcn.10021560
xor edi, edi
mov dword [ebp - 4], 0x90
mov dword [ebp - 0x548], edi
cmp dword [esi + 0x10], edi
jle 0x1000e7a1
lea eax, [ebp - 0x4e0]
add esi, 0xc
mov dword [ebp - 0x544], esi
mov dword [ebp - 0x540], eax
mov dword [ebp - 0x554], eax
mov dword [ebp - 0x55c], eax
nop word [eax + eax]
mov edx, edi
lea ecx, [ebp - 0x510]
call fcn.10022600
mov byte [ebp - 4], 0x91
lea ecx, [edi*4]
push dword [esi + 8]
mov eax, dword [esi]
add eax, ecx
mov dword [ebp - 0x54c], ecx
push 1
push eax
lea ecx, [ebp - 0x930]
call fcn.100221c0
mov dword [ebp - 0x924], esi
mov esi, dword [ebp - 0x930]
mov dword [ebp - 0x920], edi
mov dword [ebp - 0x91c], 0
mov dword [ebp - 0x918], 1
mov ecx, dword [ebp - 0x544]
mov byte [ebp - 4], 0x94
call fcn.1001b900
mov eax, dword [ebp - 0x550]
lea ecx, [ebp - 0x94c]
mov byte [ebp - 4], 0x91
mov esi, dword [esi]
push dword [eax + 8]
mov eax, dword [eax]
push 1
lea eax, [eax + esi*8]
push eax
call fcn.100221c0
mov eax, dword [ebp - 0x550]
lea ecx, [edi*8]
mov dword [ebp - 0x93c], esi
mov esi, dword [ebp - 0x52c]
mov dword [ebp - 0x940], eax
mov dword [ebp - 0x938], 0
mov dword [ebp - 0x934], 1
push dword [esi + 8]
mov eax, dword [esi]
add eax, ecx
mov dword [ebp - 0x538], ecx
push 1
push eax
lea ecx, [ebp - 0x968]
call fcn.100221c0
lea eax, [ebp - 0x94c]
mov dword [ebp - 0x95c], esi
push eax
lea ecx, [ebp - 0x968]
mov dword [ebp - 0x958], edi
mov dword [ebp - 0x954], 0
mov dword [ebp - 0x950], 1
call fcn.10021a20
mov esi, dword [ebp - 0x544]
lea ecx, [edi*4]
push dword [esi + 8]
mov eax, dword [esi]
add eax, ecx
lea ecx, [ebp - 0x984]
push 1
push eax
call fcn.100221c0
mov dword [ebp - 0x978], esi
mov esi, dword [ebp - 0x984]
mov dword [ebp - 0x974], edi
mov dword [ebp - 0x970], 0
mov dword [ebp - 0x96c], 1
mov ecx, dword [ebp - 0x544]
mov byte [ebp - 4], 0x9c
call fcn.1001b900
mov byte [ebp - 4], 0x91
mov esi, dword [esi + eax*4]
mov eax, dword [ebp - 0x550]
push dword [eax + 8]
mov eax, dword [eax]
push 1
lea eax, [eax + esi*8]
push eax
lea ecx, [ebp - 0x86c]
call fcn.100221c0
mov eax, dword [ebp - 0x550]
lea ecx, [edi*8]
mov dword [ebp - 0x85c], esi
mov esi, dword [ebp - 0x52c]
mov dword [ebp - 0x860], eax
mov dword [ebp - 0x858], 0
mov dword [ebp - 0x854], 1
push dword [esi + 8]
mov eax, dword [esi]
add eax, ecx
lea ecx, [ebp - 0x7a0]
push 1
push eax
call fcn.100221c0
mov eax, dword [ebp - 0x86c]
mov dword [ebp - 0x794], esi
mov dword [ebp - 0x790], edi
mov dword [ebp - 0x78c], 0
mov dword [ebp - 0x788], 1
mov dword [ebp - 0x324], eax
mov byte [ebp - 4], 0xa2
mov ecx, dword [ebp - 0x860]
call fcn.1001b900
mov dword [ebp - 0x320], eax
mov eax, dword [ebp - 0x7a0]
mov dword [ebp - 0x318], eax
mov byte [ebp - 4], 0xa4
mov ecx, dword [ebp - 0x794]
call fcn.1001b900
mov byte [ebp - 4], 0x91
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 0x314], eax
lea eax, [ebp - 0x318]
mov dword [ebp - 0x1e4], eax
lea eax, [ebp - 0x324]
mov dword [ebp - 0x1e0], eax
lea eax, [ebp - 0x56e]
mov dword [ebp - 0x1dc], eax
lea eax, [ebp - 0x7a0]
mov dword [ebp - 0x1d8], eax
call fcn.100411c0
xor edi, edi
mov dword [ebp - 0x53c], eax
test eax, eax
jle 0x1000e1b4
nop dword [eax]
mov ecx, dword [ebp - 0x1e0]
mov eax, dword [ebp - 0x1e4]
mov edx, dword [ecx + 4]
mov esi, dword [ecx]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
imul edx, edi
imul eax, edi
inc edi
movsd xmm0, qword [esi + edx*8]
addsd xmm0, qword [ecx + eax*8]
movsd qword [ecx + eax*8], xmm0
cmp edi, dword [ebp - 0x53c]
jl 0x1000e180
mov esi, dword [ebp - 0x544]
lea ecx, [ebp - 0x9a0]
push dword [esi + 8]
mov eax, dword [esi]
add eax, dword [ebp - 0x54c]
push 1
push eax
call fcn.100221c0
mov edi, dword [ebp - 0x548]
mov dword [ebp - 0x994], esi
mov esi, dword [ebp - 0x9a0]
mov dword [ebp - 0x990], edi
mov dword [ebp - 0x98c], 0
mov dword [ebp - 0x988], 1
mov ecx, dword [ebp - 0x544]
mov byte [ebp - 4], 0xa8
call fcn.1001b900
mov byte [ebp - 4], 0x91
lea ecx, [ebp - 0x894]
mov esi, dword [esi + eax*8]
mov eax, dword [ebp - 0x550]
push dword [eax + 8]
mov eax, dword [eax]
push 1
lea eax, [eax + esi*8]
push eax
call fcn.100221c0
mov eax, dword [ebp - 0x550]
lea ecx, [edi*8]
mov dword [ebp - 0x884], esi
mov esi, dword [ebp - 0x52c]
mov dword [ebp - 0x888], eax
mov dword [ebp - 0x880], 0
mov dword [ebp - 0x87c], 1
push dword [esi + 8]
mov eax, dword [esi]
add eax, ecx
lea ecx, [ebp - 0x6a4]
push 1
push eax
call fcn.100221c0
mov eax, dword [ebp - 0x894]
mov dword [ebp - 0x698], esi
mov dword [ebp - 0x694], edi
mov dword [ebp - 0x690], 0
mov dword [ebp - 0x68c], 1
mov dword [ebp - 0x33c], eax
mov byte [ebp - 4], 0xae
mov ecx, dword [ebp - 0x888]
call fcn.1001b900
mov dword [ebp - 0x338], eax
mov eax, dword [ebp - 0x6a4]
mov dword [ebp - 0x330], eax
mov byte [ebp - 4], 0xb0
mov ecx, dword [ebp - 0x698]
call fcn.1001b900
mov byte [ebp - 4], 0x91
lea ecx, [ebp - 0x214]
mov dword [ebp - 0x32c], eax
lea eax, [ebp - 0x330]
mov dword [ebp - 0x214], eax
lea eax, [ebp - 0x33c]
mov dword [ebp - 0x210], eax
lea eax, [ebp - 0x56d]
mov dword [ebp - 0x20c], eax
lea eax, [ebp - 0x6a4]
mov dword [ebp - 0x208], eax
call fcn.100411c0
xor edi, edi
mov dword [ebp - 0x53c], eax
test eax, eax
jle 0x1000e36a
nop word [eax + eax]
mov ecx, dword [ebp - 0x210]
mov eax, dword [ebp - 0x214]
mov edx, dword [ecx + 4]
mov esi, dword [ecx]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
imul edx, edi
imul eax, edi
inc edi
movsd xmm0, qword [esi + edx*8]
addsd xmm0, qword [ecx + eax*8]
movsd qword [ecx + eax*8], xmm0
cmp edi, dword [ebp - 0x53c]
jl 0x1000e330
mov esi, dword [ebp - 0x52c]
push dword [esi + 8]
mov eax, dword [esi]
lea ecx, [ebp - 0x5dc]
add eax, dword [ebp - 0x538]
push 1
push eax
call fcn.100221c0
mov eax, dword [ebp - 0x548]
lea ecx, [ebp - 0xb40]
movsd xmm0, qword [0x100e3a90]
mov dword [ebp - 0x5cc], eax
lea eax, [ebp - 0x8c0]
push eax
push dword [ebp - 0x5d4]
mov dword [ebp - 0x5d0], esi
push 1
mov dword [ebp - 0x5c8], 0
mov dword [ebp - 0x5c4], 1
movsd qword [ebp - 0x8c0], xmm0
call fcn.10039060
lea eax, [ebp - 0xb40]
push eax
lea ecx, [ebp - 0x4f8]
call fcn.10040b80
mov eax, dword [ebp - 0x5dc]
mov dword [ebp - 0x37c], eax
mov byte [ebp - 4], 0xb4
mov ecx, dword [ebp - 0x5d0]
call fcn.1001b900
mov byte [ebp - 4], 0x91
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x378], eax
lea eax, [ebp - 0x37c]
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x4f8]
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x56c]
mov dword [ebp - 0x5c], eax
lea eax, [ebp - 0x5dc]
mov dword [ebp - 0x58], eax
call fcn.100411c0
mov edi, eax
xor esi, esi
mov dword [ebp - 0x54c], edi
cmp edi, 4
jl 0x1000e4db
lea eax, [edi - 3]
mov dword [ebp - 0x53c], eax
lea edi, [esi + 2]
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [ebp - 0x60]
imul ecx, esi
add esi, 4
movsd xmm0, qword [edx + ecx*8]
divsd xmm0, qword [eax]
movsd qword [edx + ecx*8], xmm0
lea ecx, [edi - 1]
mov eax, dword [ebp - 0x64]
imul ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [ebp - 0x60]
movsd xmm0, qword [edx + ecx*8]
divsd xmm0, qword [eax]
movsd qword [edx + ecx*8], xmm0
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [ebp - 0x60]
imul ecx, edi
movsd xmm0, qword [edx + ecx*8]
divsd xmm0, qword [eax]
movsd qword [edx + ecx*8], xmm0
lea ecx, [edi + 1]
mov eax, dword [ebp - 0x64]
add edi, 4
imul ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [ebp - 0x60]
movsd xmm0, qword [edx + ecx*8]
divsd xmm0, qword [eax]
movsd qword [edx + ecx*8], xmm0
cmp esi, dword [ebp - 0x53c]
jl 0x1000e455
mov edi, dword [ebp - 0x54c]
cmp esi, edi
jge 0x1000e501
nop
mov eax, dword [ebp - 0x64]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [ebp - 0x60]
imul ecx, esi
inc esi
movsd xmm0, qword [edx + ecx*8]
divsd xmm0, qword [eax]
movsd qword [edx + ecx*8], xmm0
cmp esi, edi
jl 0x1000e4e0
movsd xmm0, qword [0x100e3a18]
lea eax, [ebp - 0x8b8]
push eax
push dword [ebp - 0x28]
lea ecx, [ebp - 0xd90]
movsd qword [ebp - 0x8b8], xmm0
push dword [ebp - 0x2c]
call fcn.10029970
lea ecx, [ebp - 0x30]
mov dword [ebp - 0xd1c], ecx
lea ecx, [ebp - 0xd18]
push eax
call fcn.10021cd0
mov edi, dword [ebp - 0x548]
lea eax, [ebp - 0xd20]
push edi
push eax
lea ecx, [ebp - 0xde0]
call fcn.100219e0
mov esi, dword [ebp - 0x52c]
lea ecx, [edi*8]
push dword [esi + 8]
mov eax, dword [esi]
add eax, ecx
lea ecx, [ebp - 0x784]
push 1
push eax
call fcn.100221c0
lea eax, [ebp - 0xde0]
mov dword [ebp - 0x778], esi
push eax
lea ecx, [ebp - 0xc78]
mov dword [ebp - 0x774], edi
mov dword [ebp - 0x770], 0
mov dword [ebp - 0x76c], 1
call fcn.10029dc0
movups xmm0, xmmword [ebp - 0x784]
mov eax, dword [ebp - 0x76c]
lea ecx, [edi*8]
mov dword [ebp - 0xc28], eax
movups xmmword [ebp - 0xc40], xmm0
movq xmm0, qword [ebp - 0x774]
movq qword [ebp - 0xc30], xmm0
push dword [esi + 8]
mov eax, dword [esi]
add eax, ecx
lea ecx, [ebp - 0x768]
push 1
push eax
call fcn.100221c0
mov dword [ebp - 0x75c], esi
mov dword [ebp - 0x758], edi
mov dword [ebp - 0x754], 0
mov dword [ebp - 0x750], 1
mov esi, dword [ebp - 0xc74]
mov ecx, esi
mov byte [ebp - 4], 0xbd
call fcn.1001b900
mov ecx, dword [esi]
mov dword [ebp - 0x4dc], ecx
mov dword [ebp - 0x4d8], eax
lea eax, [ebp - 0xc70]
mov byte [ebp - 4], 0xbe
push eax
lea ecx, [ebp - 0x4d0]
call fcn.10045790
mov eax, dword [ebp - 0xc50]
mov dword [ebp - 0x4c0], eax
mov eax, dword [ebp - 0xc4c]
mov dword [ebp - 0x4bc], eax
mov eax, dword [ebp - 0xc40]
mov dword [ebp - 0x4b0], eax
mov byte [ebp - 4], 0xbf
mov ecx, dword [ebp - 0xc34]
call fcn.1001b900
mov dword [ebp - 0x4ac], eax
mov eax, dword [ebp - 0x768]
mov dword [ebp - 0x348], eax
mov byte [ebp - 4], 0xc1
mov ecx, dword [ebp - 0x75c]
call fcn.1001b900
mov byte [ebp - 4], 0x91
lea ecx, [ebp - 0x1f4]
mov dword [ebp - 0x344], eax
lea eax, [ebp - 0x348]
mov dword [ebp - 0x1f4], eax
lea eax, [ebp - 0x4e8]
mov dword [ebp - 0x1f0], eax
lea eax, [ebp - 0x56b]
mov dword [ebp - 0x1ec], eax
lea eax, [ebp - 0x768]
mov dword [ebp - 0x1e8], eax
call fcn.100411c0
xor edx, edx
mov dword [ebp - 0x54c], eax
mov dword [ebp - 0x558], edx
test eax, eax
jle 0x1000e75e
mov ecx, dword [ebp - 0x1f0]
mov eax, dword [ecx + 0x38]
mov edi, dword [ecx + 0x3c]
mov esi, dword [ecx + 0xc]
movsd xmm0, qword [ecx + 0x18]
mov dword [ebp - 0x53c], eax
mov eax, dword [ecx + 0x2c]
add eax, edx
imul edi, edx
mov edx, dword [ecx + 0x10]
imul edx, eax
mov eax, dword [ebp - 0x1f4]
add edx, dword [ecx + 0x28]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
imul eax, dword [ebp - 0x558]
mulsd xmm0, qword [esi + edx*8]
mov edx, dword [ebp - 0x53c]
addsd xmm0, qword [edx + edi*8]
mov edx, dword [ebp - 0x558]
inc edx
mov dword [ebp - 0x558], edx
movsd qword [ecx + eax*8], xmm0
cmp edx, dword [ebp - 0x54c]
jl 0x1000e6f1
mov edi, dword [ebp - 0x548]
mov esi, dword [ebp - 0x550]
lea eax, [ebp - 0x510]
push eax
lea ecx, [esi + 0x108]
call fcn.100268e0
lea ecx, [ebp - 0x510]
mov byte [ebp - 4], 0x90
call fcn.10016330
inc edi
cmp edi, dword [esi + 0x10]
mov esi, dword [ebp - 0x544]
mov dword [ebp - 0x548], edi
jl 0x1000df00
mov esi, dword [ebp - 0x550]
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0xffffffff
call fcn.100041c0
mov edi, dword [ebp - 0x534]
lea eax, [esi + 0x108]
mov ecx, esi
push eax
lea eax, [esi + 0xe4]
push eax
lea eax, [edi + 0x118]
push eax
call fcn.1000a2c0
test dword [edi + 0x1e8], 0x400
je 0x1000eda8
cmp dword [esi + 0xdc], 0
jne 0x1000ed8c
mov edx, dword [esi + 4]
lea ecx, [esi + 0xd8]
push 3
call fcn.1001fde0
add esp, 4
mov dword [ebp - 0x1c], 0
xorps xmm0, xmm0
lea edi, [esi + 0x48]
lea ecx, [ebp - 0x5b4]
movq qword [ebp - 0x24], xmm0
mov dword [ebp - 0x5b0], edi
call fcn.10038ea0
test eax, eax
jne 0x1000e82e
xorps xmm1, xmm1
jmp 0x1000e882
mov esi, dword [ebp - 0x5b0]
mov ecx, esi
mov dword [ebp - 4], 0xc3
call fcn.1001b900
mov ecx, dword [esi]
mov dword [ebp - 0x350], ecx
mov dword [ebp - 0x34c], eax
lea eax, [ebp - 0x5b4]
mov dword [ebp - 4], 0xc4
push eax
lea edx, [ebp - 0x577]
lea ecx, [ebp - 0x354]
call fcn.10041db0
mov esi, dword [ebp - 0x550]
add esp, 4
movaps xmm1, xmm0
mov dword [ebp - 4], 0xffffffff
xorps xmm0, xmm0
comisd xmm1, xmm0
jbe 0x1000ea88
movsd xmm0, xmm1
lea eax, [ebp - 0x8a8]
sqrtpd xmm0, xmm0
lea ecx, [ebp - 0xd78]
push eax
movsd qword [ebp - 0x8a8], xmm0
push dword [edi + 8]
push dword [edi + 4]
call fcn.10029970
push eax
lea ecx, [ebp - 0xa08]
mov dword [ebp - 0xa0c], edi
call fcn.10021cd0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 4], 0xc5
mov ecx, dword [ebp - 0xa04]
mov esi, dword [ebp - 0xa00]
test ecx, ecx
je 0x1000e92b
test esi, esi
je 0x1000e90e
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
setg al
test al, al
jne 0x1000eeb4
test ecx, ecx
je 0x1000e92b
test esi, esi
je 0x1000e92b
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
setg al
test al, al
jne 0x1000eed0
push esi
push ecx
imul ecx, esi
push ecx
lea ecx, [ebp - 0x24]
call fcn.100201f0
mov esi, dword [ebp - 0xa0c]
lea eax, [ebp - 0x458]
mov dword [ebp - 0x53c], eax
mov ecx, esi
mov byte [ebp - 4], 0xc7
call fcn.1001b900
mov ecx, dword [esi]
mov dword [ebp - 0x454], ecx
mov dword [ebp - 0x450], eax
lea eax, [ebp - 0xa08]
mov byte [ebp - 4], 0xc8
push eax
lea ecx, [ebp - 0x448]
call fcn.10045790
mov byte [ebp - 4], 0xc9
mov ecx, dword [ebp - 0xa04]
mov esi, dword [ebp - 0xa00]
cmp dword [ebp - 0x20], ecx
jne 0x1000e994
cmp dword [ebp - 0x1c], esi
je 0x1000e9bf
test ecx, ecx
je 0x1000e9b1
test esi, esi
je 0x1000e9b1
mov eax, 0x7fffffff
cdq
idiv esi
cmp ecx, eax
setg al
test al, al
jne 0x1000eeec
push esi
push ecx
imul ecx, esi
push ecx
lea ecx, [ebp - 0x24]
call fcn.100201f0
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xca
call fcn.1001b900
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x2ac], ecx
mov dword [ebp - 0x2a8], eax
mov byte [ebp - 4], 0xcb
lea eax, [ebp - 0x2ac]
mov dword [ebp - 0x224], eax
lea eax, [ebp - 0x458]
mov dword [ebp - 0x220], eax
lea eax, [ebp - 0x56a]
mov dword [ebp - 0x21c], eax
lea eax, [ebp - 0x24]
mov ecx, eax
mov dword [ebp - 0x218], eax
call fcn.1001bab0
mov dword [ebp - 0x54c], eax
xor edi, edi
cdq
sub eax, edx
and eax, 0xfffffffe
mov dword [ebp - 0x53c], eax
test eax, eax
jle 0x1000ea6a
nop word [eax + eax]
mov esi, dword [ebp - 0x220]
lea ecx, [edi*8]
mov eax, dword [ebp - 0x224]
add edi, 2
mov edx, dword [esi + 4]
movsd xmm0, qword [esi + 0x10]
unpcklpd xmm0, xmm0
mov eax, dword [eax]
movups xmm1, xmmword [edx + ecx]
divpd xmm1, xmm0
movups xmmword [eax + ecx], xmm1
mov eax, dword [ebp - 0x53c]
cmp edi, eax
jl 0x1000ea30
push dword [ebp - 0x54c]
mov edx, eax
lea ecx, [ebp - 0x224]
call fcn.10051240
mov esi, dword [ebp - 0x550]
add esp, 4
jmp 0x1000ea91
push edi
lea ecx, [ebp - 0x24]
call fcn.10021560
xor edi, edi
mov dword [ebp - 4], 0xcc
mov dword [ebp - 0x538], edi
cmp dword [esi + 4], edi
jle 0x1000ed77
lea eax, [ebp - 0x498]
mov dword [ebp - 0x540], eax
mov dword [ebp - 0x554], eax
mov dword [ebp - 0x55c], eax
mov edx, edi
lea ecx, [ebp - 0x528]
call fcn.10022600
mov byte [ebp - 4], 0xcd
lea eax, [ebp - 0x878]
movsd xmm0, qword [0x100e3a20]
lea ecx, [ebp - 0xd60]
push eax
push dword [ebp - 0x1c]
movsd qword [ebp - 0x878], xmm0
push dword [ebp - 0x20]
call fcn.10029970
lea ecx, [ebp - 0x24]
mov dword [ebp - 0xd44], ecx
lea ecx, [ebp - 0xd40]
push eax
call fcn.10021cd0
push edi
lea eax, [ebp - 0xd48]
push eax
lea ecx, [ebp - 0xe18]
call fcn.100219e0
mov eax, dword [ebp - 0x550]
lea esi, [edi*8]
lea ecx, [ebp - 0x730]
push dword [eax + 8]
mov eax, dword [eax]
push 1
add eax, esi
push eax
call fcn.100221c0
mov eax, dword [ebp - 0x550]
lea ecx, [ebp - 0xc18]
mov dword [ebp - 0x724], eax
lea eax, [ebp - 0xe18]
push eax
mov dword [ebp - 0x720], edi
mov dword [ebp - 0x71c], 0
mov dword [ebp - 0x718], 1
call fcn.10029dc0
movups xmm0, xmmword [ebp - 0x730]
mov ecx, dword [ebp - 0x550]
mov eax, dword [ebp - 0x718]
movups xmmword [ebp - 0xbe0], xmm0
mov dword [ebp - 0xbc8], eax
movq xmm0, qword [ebp - 0x720]
movq qword [ebp - 0xbd0], xmm0
push dword [ecx + 0xe0]
mov eax, dword [ecx + 0xd8]
lea ecx, [ebp - 0x74c]
push 1
add eax, esi
push eax
call fcn.100221c0
mov eax, dword [ebp - 0x550]
add eax, 0xd8
mov dword [ebp - 0x73c], edi
mov dword [ebp - 0x740], eax
mov dword [ebp - 0x738], 0
mov dword [ebp - 0x734], 1
mov esi, dword [ebp - 0xc14]
mov ecx, esi
mov byte [ebp - 4], 0xd5
call fcn.1001b900
mov ecx, dword [esi]
mov dword [ebp - 0x494], ecx
mov dword [ebp - 0x490], eax
lea eax, [ebp - 0xc10]
mov byte [ebp - 4], 0xd6
push eax
lea ecx, [ebp - 0x488]
call fcn.10045790
mov eax, dword [ebp - 0xbf0]
mov dword [ebp - 0x478], eax
mov eax, dword [ebp - 0xbec]
mov dword [ebp - 0x474], eax
mov eax, dword [ebp - 0xbe0]
mov dword [ebp - 0x468], eax
mov byte [ebp - 4], 0xd7
mov ecx, dword [ebp - 0xbd4]
call fcn.1001b900
mov dword [ebp - 0x464], eax
mov eax, dword [ebp - 0x74c]
mov dword [ebp - 0x360], eax
mov byte [ebp - 4], 0xd9
mov ecx, dword [ebp - 0x740]
call fcn.1001b900
mov byte [ebp - 4], 0xcd
lea ecx, [ebp - 0x204]
mov dword [ebp - 0x35c], eax
lea eax, [ebp - 0x360]
mov dword [ebp - 0x204], eax
lea eax, [ebp - 0x4a0]
mov dword [ebp - 0x200], eax
lea eax, [ebp - 0x569]
mov dword [ebp - 0x1fc], eax
lea eax, [ebp - 0x74c]
mov dword [ebp - 0x1f8], eax
call fcn.100411c0
xor edx, edx
mov dword [ebp - 0x54c], eax
mov dword [ebp - 0x558], edx
test eax, eax
jle 0x1000ed40
mov ecx, dword [ebp - 0x200]
mov eax, dword [ecx + 0x38]
mov edi, dword [ecx + 0x3c]
mov esi, dword [ecx + 0xc]
movsd xmm0, qword [ecx + 0x18]
mov dword [ebp - 0x53c], eax
mov eax, dword [ecx + 0x2c]
add eax, edx
imul edi, edx
mov edx, dword [ecx + 0x10]
imul edx, eax
mov eax, dword [ebp - 0x204]
add edx, dword [ecx + 0x28]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
imul eax, dword [ebp - 0x558]
mulsd xmm0, qword [esi + edx*8]
mov edx, dword [ebp - 0x53c]
addsd xmm0, qword [edx + edi*8]
mov edx, dword [ebp - 0x558]
inc edx
mov dword [ebp - 0x558], edx
movsd qword [ecx + eax*8], xmm0
cmp edx, dword [ebp - 0x54c]
jl 0x1000ecd3
mov edi, dword [ebp - 0x538]
mov esi, dword [ebp - 0x550]
lea eax, [ebp - 0x528]
push eax
lea ecx, [esi + 0xfc]
call fcn.100268e0
lea ecx, [ebp - 0x528]
mov byte [ebp - 4], 0xcc
call fcn.10016330
inc edi
mov dword [ebp - 0x538], edi
cmp edi, dword [esi + 4]
jl 0x1000eac1
lea ecx, [ebp - 0x24]
mov dword [ebp - 4], 0xffffffff
call fcn.100041c0
mov edi, dword [ebp - 0x534]
lea eax, [esi + 0xfc]
mov ecx, esi
push eax
lea eax, [esi + 0xd8]
push eax
lea eax, [edi + 0xd0]
push eax
call fcn.1000a2c0
test dword [edi + 0x1e8], 0x1000
je 0x1000edd0
lea eax, [esi + 0x114]
mov ecx, esi
push eax
lea eax, [esi + 0xf0]
push eax
lea eax, [edi + 0x160]
push eax
call fcn.1000a2c0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10078315
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 0xc
lea ecx, [ebp - 0xa70]
call fcn.10001c60
push 0x100ecbfc
lea eax, [ebp - 0xa70]
push eax
call fcn.1007a7ed
lea ecx, [ebp - 0xa58]
call fcn.10001c60
push 0x100ecbfc
lea eax, [ebp - 0xa58]
push eax
call fcn.1007a7ed
lea ecx, [ebp - 0xa64]
call fcn.10001c60
push 0x100ecbfc
lea eax, [ebp - 0xa64]
push eax
call fcn.1007a7ed
lea ecx, [ebp - 0xa7c]
call fcn.10001c60
push 0x100ecbfc
lea eax, [ebp - 0xa7c]
push eax
call fcn.1007a7ed
lea ecx, [ebp - 0xa88]
call fcn.10001c60
push 0x100ecbfc
lea eax, [ebp - 0xa88]
push eax
call fcn.1007a7ed
lea ecx, [ebp - 0xa1c]
call fcn.10001c60
push 0x100ecbfc
lea eax, [ebp - 0xa1c]
push eax
call fcn.1007a7ed
lea ecx, [ebp - 0xa28]
call fcn.10001c60
push 0x100ecbfc
lea eax, [ebp - 0xa28]
push eax
call fcn.1007a7ed
lea ecx, [ebp - 0xa34]
call fcn.10001c60
push 0x100ecbfc
lea eax, [ebp - 0xa34]
push eax
call fcn.1007a7ed
lea ecx, [ebp - 0xa4c]
call fcn.10001c60
push 0x100ecbfc
lea eax, [ebp - 0xa4c]
push eax
call fcn.1007a7ed
lea ecx, [ebp - 0xa40]
call fcn.10001c60
push 0x100ecbfc
lea eax, [ebp - 0xa40]
push eax
call fcn.1007a7ed
int3