Function at 0x10140784
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x594
mov eax, dword [0x101bf2c4]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x458], ecx
mov dword [ebp - 0x44c], eax
mov dword [ebp - 0x450], edx
push ebx
push esi
push edi
test eax, eax
jne 0x101407c5
test edx, edx
jne 0x10146fc1
jmp 0x10146fc6
cmp dword [eax + 4], 0xd
jne 0x10146fc1
mov ebx, dword [eax + 0x14]
imul ebx, dword [eax + 0x18]
cmp dword [eax + 0x1c], 0x1a
mov esi, dword [eax + 0x24]
mov dword [ebp - 0x530], esi
mov dword [ebp - 0x468], ebx
jne 0x10146fc1
mov eax, dword [ecx + 0x1c]
lea edi, [ebp - 0x18]
mov dword [ebp - 0x52c], eax
xor eax, eax
stosd dword es:[edi], eax
mov dword [ebp - 0x448], 4
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x38]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [ebp - 0x28]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov edi, ecx
mov ecx, dword [esi + 8]
xor esi, esi
mov dword [ebp - 0x470], ecx
mov eax, dword [edi + 0x64]
mov dword [ebp - 0x534], eax
mov eax, 0xe000000
mov dword [ebp - 0x464], eax
test ecx, ecx
je 0x10140951
mov eax, esi
mov dword [ebp - 0x460], esi
mov ecx, dword [ecx + 8]
mov dword [ebp - 0x454], ecx
test ecx, ecx
je 0x10140922
cmp eax, 0x10
jae 0x10146f86
mov edx, dword [ecx + 0x18]
imul edx, dword [ecx + 0x14]
mov dword [ebp + eax - 0x18], ecx
xor ecx, ecx
mov dword [ebp + eax - 0x38], edx
mov eax, edx
mov dword [ebp - 0x45c], edx
mul dword [ebp - 0x448]
mov edx, 0x10022e72
seto cl
neg ecx
or ecx, eax
call fcn.100fa56f
mov ecx, dword [ebp - 0x460]
mov dword [ebp - 0x478], eax
mov dword [ebp + ecx - 0x28], eax
test eax, eax
je 0x10145f7b
push esi
push eax
push dword [ebp - 0x454]
mov ecx, edi
call fcn.1013ed8c
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
xor esi, esi
mov edx, esi
cmp dword [ebp - 0x45c], edx
je 0x1014091c
mov eax, dword [edi + 8]
mov ebx, dword [ebp - 0x478]
mov edi, dword [ebp - 0x464]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x454], eax
mov eax, dword [ebx + edx*4]
mov ecx, dword [ebp - 0x454]
mov eax, dword [ecx + eax*4]
and edi, dword [eax]
inc edx
cmp edx, dword [ebp - 0x45c]
jb 0x101408f3
mov ebx, dword [ebp - 0x468]
mov dword [ebp - 0x464], edi
mov edi, dword [ebp - 0x458]
mov eax, dword [ebp - 0x460]
mov ecx, dword [ebp - 0x470]
add eax, dword [ebp - 0x448]
mov dword [ebp - 0x460], eax
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x470], ecx
test ecx, ecx
jne 0x1014084e
mov edx, dword [ebp - 0x450]
mov eax, dword [ebp - 0x464]
mov ecx, dword [ebp - 0x44c]
sub eax, 0xe000000
neg eax
sbb eax, eax
and eax, dword [ebp - 0x464]
mov dword [edi + 0x64], eax
mov eax, dword [ecx + 0x20]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x18]
cmp eax, 0x59
ja case.default.0x1014097b
jmp dword [eax*4 + 0x10146fd8]
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
push ebx
mov ecx, edi
call fcn.1014b855
mov dword [ebp - 0x460], eax
test eax, eax
je 0x10145f7b
test ebx, ebx
je 0x101409df
mov edi, dword [ebp - 0x460]
mov edx, ebx
shl edx, 2
or eax, 0xffffffff
mov ecx, edx
shr edx, 2
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x450]
or eax, 0xffffffff
mov ecx, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov eax, dword [ebp - 0x460]
push esi
push esi
push dword [ebp - 0x28]
and ebx, 0xfffff
mov ecx, edi
push eax
mov eax, ebx
or eax, 0x10100000
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push dword [ebp - 0x448]
or ebx, 0x20100000
push dword [ebp - 0x460]
push dword [ebp - 0x28]
push dword [ebp - 0x450]
push ebx
push dword [ebp - 0x44c]
mov ecx, edi
call fcn.1014bb91
xor ebx, ebx
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
jns 0x1014169a
jmp 0x10146f92
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
test ebx, ebx
je 0x10140a7b
mov ecx, ebx
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x44c]
push ebx
push edx
push esi
push dword [ebp - 0x28]
push ecx
mov ecx, edi
call fcn.10149caa
xor ebx, ebx
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
jmp 0x1014169a
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov ebx, dword [ebp - 0x38]
xor eax, eax
inc eax
cmp ebx, eax
jne 0x10140b17
or dword [ebp - 0x508], 0xffffffff
or dword [ebp - 0x504], 0xffffffff
or dword [edx], 0xffffffff
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x504]
push eax
lea eax, [ebp - 0x508]
push eax
push ecx
mov ecx, edi
call fcn.1014b5ad
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0x17
lea eax, [ebp - 0x508]
push eax
lea eax, [ebp - 0x504]
push eax
push dword [ebp - 0x450]
push 0x20200001
jmp 0x10140a2c
cmp ebx, 2
jne 0x10140bbc
mov ecx, dword [ebp - 0x28]
or eax, 0xffffffff
mov ebx, dword [ebp - 0x44c]
mov dword [ebp - 0x500], eax
mov dword [ebp - 0x4fc], eax
mov dword [ebp - 0x4f8], eax
push esi
mov dword [edx], eax
lea eax, [ecx + 4]
push eax
push ecx
lea eax, [ebp - 0x500]
mov ecx, edi
push eax
push 0x20500001
push ebx
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
xor ecx, ecx
lea eax, [ebp - 0x500]
inc ecx
push ecx
push eax
lea eax, [ebp - 0x4f8]
mov ecx, edi
push eax
lea eax, [ebp - 0x4fc]
push eax
push ebx
call fcn.1014b5ad
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0x17
lea eax, [ebp - 0x4fc]
push eax
lea eax, [ebp - 0x4f8]
push eax
push dword [ebp - 0x450]
push 0x20200001
push ebx
jmp 0x10140a32
cmp ebx, 3
jne 0x10140cac
or eax, 0xffffffff
mov dword [ebp - 0x510], eax
mov dword [ebp - 0x50c], eax
mov dword [ebp - 0x4f4], eax
mov dword [ebp - 0x4f0], eax
mov dword [edx], eax
mov edx, dword [ebp - 0x28]
push esi
lea eax, [edx + 4]
push eax
push edx
lea eax, [ebp - 0x510]
push eax
push 0x20500001
push ecx
mov ecx, edi
call fcn.1014bb91
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
mov eax, dword [ebp - 0x28]
mov ecx, edi
push ebx
add eax, 8
push eax
lea eax, [ebp - 0x510]
push eax
lea eax, [ebp - 0x50c]
push eax
push 0x20500001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
xor ecx, ecx
lea eax, [ebp - 0x50c]
inc ecx
push ecx
push eax
lea eax, [ebp - 0x4f0]
mov ecx, edi
push eax
lea eax, [ebp - 0x4f4]
push eax
push dword [ebp - 0x44c]
call fcn.1014b5ad
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
lea eax, [ebp - 0x4f4]
push 0x17
push eax
lea eax, [ebp - 0x4f0]
push eax
push dword [ebp - 0x450]
push 0x20200001
push dword [ebp - 0x44c]
mov ecx, edi
call fcn.1014bb91
jmp 0x10140a3b
imul eax, ebx, 3
mov ecx, edi
push eax
call fcn.1014b855
test eax, eax
je 0x10145f7b
shl ebx, 2
mov dword [ebp + esi*4 - 0x14], eax
inc esi
add eax, ebx
cmp esi, 3
jb 0x10140cc2
mov esi, dword [ebp - 0x38]
or ebx, 0xffffffff
test esi, esi
je 0x10140d03
mov edi, dword [ebp - 0x14]
mov edx, esi
shl edx, 2
mov eax, ebx
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x10]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0xc]
shr edx, 2
mov ecx, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
push dword [ebp - 0x448]
mov eax, dword [ebp - 0x450]
and esi, 0xfffff
push dword [ebp - 0x28]
mov dword [ebp - 0x460], esi
mov ecx, edi
push dword [ebp - 0x28]
or esi, 0x20500000
mov dword [ebp - 0x4a0], ebx
push dword [ebp - 0x14]
mov dword [ebp - 0x4ec], ebx
push esi
push dword [ebp - 0x44c]
mov dword [eax], ebx
call fcn.1014bb91
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
mov eax, dword [ebp - 0x460]
mov ecx, edi
push 8
push ebx
push dword [ebp - 0x14]
or eax, 0x10100000
push dword [ebp - 0x10]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
mov eax, dword [ebp - 0x460]
mov ecx, edi
push 0x17
push dword [ebp - 0x14]
or eax, 0x20300000
push dword [ebp - 0x10]
push dword [ebp - 0xc]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push 6
push dword [ebp - 0xc]
lea eax, [ebp - 0x4a0]
mov ecx, edi
push dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x460]
or eax, 0x50000000
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push 0xa
push ebx
lea eax, [ebp - 0x4a0]
mov ecx, edi
push eax
lea eax, [ebp - 0x4ec]
push eax
push 0x10100001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push 0x17
lea eax, [ebp - 0x4a0]
push eax
lea eax, [ebp - 0x4ec]
push eax
push dword [ebp - 0x450]
push 0x20300001
jmp 0x10140c9a
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
push dword [ebp - 0x448]
or dword [ebp - 0x48c], 0xffffffff
lea eax, [ebp - 0x48c]
push dword [ebp - 0x28]
or dword [ebp - 0x4e8], 0xffffffff
push dword [ebp - 0x28]
or dword [edx], 0xffffffff
push eax
mov eax, dword [ebp - 0x38]
and eax, 0xfffff
or eax, 0x50000000
push eax
push ecx
mov ecx, edi
call fcn.1014bb91
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push 8
push ebx
lea eax, [ebp - 0x48c]
mov ecx, edi
push eax
lea eax, [ebp - 0x4e8]
push eax
push 0x10100001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
lea eax, [ebp - 0x48c]
push 0x17
push eax
lea eax, [ebp - 0x4e8]
jmp 0x10140c8e
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
test ebx, ebx
je 0x10140f19
mov ecx, ebx
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x44c]
push ebx
push esi
push edx
jmp 0x10140a7e
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
test ebx, ebx
je 0x10140f4c
mov ecx, ebx
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x44c]
push ebx
push edx
push esi
push dword [ebp - 0x28]
push ecx
mov ecx, edi
call fcn.1014a2d1
jmp 0x10140a89
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
test ebx, ebx
je 0x10140f94
mov ecx, ebx
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x44c]
push ebx
push edx
push dword [ebp - 0x24]
jmp 0x10140f4f
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
lea eax, [ebx + ebx]
mov ecx, edi
push eax
call fcn.1014b855
mov dword [ebp - 0x460], eax
test eax, eax
je 0x10145f7b
lea ecx, [eax + ebx*4]
mov dword [ebp - 0x464], ecx
test ebx, ebx
je 0x10141014
mov edi, dword [ebp - 0x460]
mov edx, ebx
shl edx, 2
or eax, 0xffffffff
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x464]
mov ecx, edx
shr ecx, 2
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x450]
shr edx, 2
or eax, 0xffffffff
mov ecx, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov eax, dword [ebp - 0x460]
push esi
push esi
push dword [ebp - 0x28]
and ebx, 0xfffff
mov ecx, edi
push eax
mov eax, ebx
or eax, 0x10100000
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
mov eax, ebx
push 0x14
or eax, 0x10400000
push 0
push dword [ebp - 0x460]
mov ecx, edi
push dword [ebp - 0x464]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 2
push dword [ebp - 0x464]
push dword [ebp - 0x28]
or ebx, 0x20400000
jmp 0x10140a25
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
cmp dword [ebp - 0x10], 0
je 0x10146f86
test edx, edx
je 0x10141698
push ebx
mov ecx, edi
call fcn.1014b855
mov dword [ebp - 0x460], eax
test eax, eax
je 0x10145f7b
test ebx, ebx
je 0x10141101
mov edi, dword [ebp - 0x460]
mov edx, ebx
shl edx, 2
or eax, 0xffffffff
mov ecx, edx
shr edx, 2
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x450]
or eax, 0xffffffff
mov ecx, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov eax, dword [ebp - 0x460]
push esi
push dword [ebp - 0x24]
and ebx, 0xfffff
mov ecx, edi
push dword [ebp - 0x28]
push eax
mov eax, ebx
or eax, 0x20100000
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0
push dword [ebp - 0x20]
push dword [ebp - 0x460]
or ebx, 0x20000000
jmp 0x10140a25
cmp dword [ebp - 0x18], 0
je 0x10146f86
push dword [ebp - 0x38]
push dword [ebp - 0x28]
push ecx
mov ecx, edi
call fcn.1014b449
jmp 0x10140a89
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
test ebx, ebx
je 0x10141192
mov ecx, ebx
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x44c]
push ebx
push edx
push esi
push dword [ebp - 0x28]
push ecx
mov ecx, edi
call fcn.10149317
jmp 0x10140a89
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
fld qword [0x10035d58]
mov esi, dword [edi + 8]
call sub.msvcrt.dll__CIlog
fld1
xor eax, eax
fdivrp st(1)
push ecx
push ecx
mov ecx, esi
fstp qword [esp]
push eax
push eax
push dword [esi + 0x78]
call fcn.1019630c
mov ecx, dword [edi + 8]
xor esi, esi
fld qword [0x10035c28]
push ecx
push ecx
fstp qword [esp]
push esi
push esi
push dword [ecx + 0x78]
mov dword [ebp - 0x454], eax
call fcn.1019630c
imul ecx, ebx, 7
mov dword [ebp - 0x45c], eax
push ecx
mov ecx, edi
call fcn.1014b855
test eax, eax
je 0x10145f7b
mov edx, ebx
mov ecx, esi
shl edx, 2
mov dword [ebp + ecx*4 - 0x44], eax
inc ecx
add eax, edx
cmp ecx, 7
jb 0x1014121c
test ebx, ebx
je 0x101412a2
mov ecx, dword [ebp - 0x30]
mov edx, ebx
mov eax, dword [ebp - 0x2c]
sub ecx, eax
mov edi, dword [ebp - 0x454]
mov ebx, dword [ebp - 0x45c]
mov dword [ecx + eax], edi
mov dword [eax], ebx
lea eax, [eax + 4]
sub edx, 1
jne 0x10141242
mov ebx, dword [ebp - 0x468]
or eax, 0xffffffff
mov edi, dword [ebp - 0x44]
mov edx, ebx
shl edx, 2
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x40]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x3c]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x38]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x34]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x450]
shr edx, 2
mov ecx, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
push esi
push dword [ebp - 0x30]
and ebx, 0xfffff
mov ecx, edi
push dword [ebp - 0x28]
mov eax, ebx
push dword [ebp - 0x44]
or eax, 0x20500000
push eax
push dword [ebp - 0x44c]
mov dword [ebp - 0x45c], eax
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push dword [ebp - 0x448]
mov eax, ebx
mov ecx, edi
push 0
push dword [ebp - 0x44]
or eax, 0x10500000
push dword [ebp - 0x40]
mov dword [ebp - 0x454], eax
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
xor eax, eax
mov ecx, edi
push eax
push eax
push dword [ebp - 0x44]
mov eax, ebx
push dword [ebp - 0x3c]
or eax, 0x10100000
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push dword [ebp - 0x448]
mov ecx, edi
push 0
push dword [ebp - 0x3c]
push dword [ebp - 0x38]
push dword [ebp - 0x454]
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push dword [ebp - 0x448]
or ebx, 0x20400000
mov ecx, edi
push dword [ebp - 0x38]
push dword [ebp - 0x40]
push dword [ebp - 0x34]
push ebx
mov ebx, dword [ebp - 0x44c]
push ebx
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push dword [ebp - 0x448]
push dword [ebp - 0x2c]
push dword [ebp - 0x34]
push dword [ebp - 0x450]
push dword [ebp - 0x45c]
jmp 0x10140bb6
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov edx, dword [ebp - 0x28]
lea edi, [ebp - 0x1d8]
mov ecx, dword [ebp - 0x24]
and ebx, 0xfffff
push esi
mov eax, dword [edx + 4]
mov dword [ebp - 0x128], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0x124], eax
mov eax, dword [edx]
mov dword [ebp - 0x120], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x134], eax
mov eax, dword [ecx]
mov dword [ebp - 0x130], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x12c], eax
mov eax, dword [edx + 8]
mov dword [ebp - 0x110], eax
mov eax, dword [edx]
mov dword [ebp - 0x10c], eax
mov eax, dword [edx + 4]
mov dword [ebp - 0x108], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x11c], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x118], eax
mov eax, dword [ecx]
or ecx, 0xffffffff
mov dword [ebp - 0x114], eax
mov eax, ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, ecx
lea edi, [ebp - 0x1a8]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, ecx
lea edi, [ebp - 0x190]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, ecx
mov edi, dword [ebp - 0x450]
lea ecx, [ebp - 0x134]
push ecx
lea ecx, [ebp - 0x128]
push ecx
stosd dword es:[edi], eax
lea ecx, [ebp - 0x1d8]
push ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, ebx
mov edi, dword [ebp - 0x458]
or eax, 0x20500000
push eax
push dword [ebp - 0x44c]
mov ecx, edi
mov dword [ebp - 0x454], eax
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0
lea eax, [ebp - 0x11c]
mov ecx, edi
push eax
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x1a8]
push eax
push dword [ebp - 0x454]
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
xor eax, eax
mov ecx, edi
push eax
push eax
lea eax, [ebp - 0x1a8]
push eax
lea eax, [ebp - 0x190]
push eax
mov eax, ebx
or eax, 0x10100000
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0
lea eax, [ebp - 0x190]
push eax
lea eax, [ebp - 0x1d8]
push eax
jmp 0x10141085
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
test ebx, ebx
je 0x1014157e
mov ecx, ebx
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x44c]
and ebx, 0xfffff
or ebx, 0x10d00000
push esi
push esi
push dword [ebp - 0x28]
push edx
push ebx
push ecx
mov ecx, edi
call fcn.1014bb91
jmp 0x10140a89
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
test ebx, ebx
je 0x101415c9
mov ecx, ebx
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x44c]
and ebx, 0xfffff
or ebx, 0x10e00000
jmp 0x1014158a
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov ecx, dword [edi + 8]
fld qword [0x10035e20]
push ecx
push ecx
fstp qword [esp]
push esi
push esi
push dword [ecx + 0x78]
call fcn.1019630c
push ebx
mov ecx, edi
mov dword [ebp - 0x454], eax
call fcn.1014b855
mov dword [ebp - 0x45c], eax
test eax, eax
je 0x10145f7b
test ebx, ebx
je 0x10141655
mov eax, dword [ebp - 0x454]
mov edx, ebx
mov edi, dword [ebp - 0x45c]
shl edx, 2
mov ecx, edx
shr edx, 2
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x450]
or eax, 0xffffffff
mov ecx, edx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x45c]
mov edi, dword [ebp - 0x458]
push esi
push eax
push dword [ebp - 0x28]
push dword [ebp - 0x450]
and ebx, 0xfffff
or ebx, 0x20500000
push ebx
push dword [ebp - 0x44c]
jmp 0x10141592
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x10146f86
test edx, edx
je 0x10141698
cmp dword [ebp - 0x38], 1
jne 0x10141714
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [edx], eax
xor ebx, ebx
mov edx, dword [ebp - 0x448]
mov ecx, dword [ebp - 0x530]
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x45c], ecx
test ecx, ecx
je 0x10141709
lea eax, [ebp - 0x28]
mov dword [ebp - 0x454], eax
cmp dword [ecx + 8], ebx
je 0x101416f4
mov eax, dword [eax]
push ebx
push ebx
mov dword [edi + 0x1c], eax
push dword [ecx + 8]
mov ecx, edi
call fcn.1013ed8c
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
mov ecx, dword [ebp - 0x45c]
mov eax, dword [ebp - 0x454]
mov edx, dword [ebp - 0x448]
mov ecx, dword [ecx + 0xc]
add eax, edx
mov dword [ebp - 0x454], eax
mov dword [ebp - 0x45c], ecx
test ecx, ecx
jne 0x101416bc
mov dword [ebp - 0x444], ebx
jmp 0x10146f92
cmp dword [eax + 0x14], 2
jne 0x101417ee
or eax, 0xffffffff
lea edi, [ebp - 0xe4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
test ebx, ebx
je 0x10141737
mov ecx, ebx
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x458]
push esi
mov eax, dword [ecx]
mov dword [ebp - 0x53c], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x544], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x538], eax
mov eax, dword [ecx + 8]
mov ecx, edi
mov dword [ebp - 0x540], eax
lea eax, [ebp - 0x544]
push eax
lea eax, [ebp - 0x53c]
push eax
lea eax, [ebp - 0xe4]
push eax
push 0x20500002
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
push ebx
lea eax, [ebp - 0xe0]
mov ecx, edi
push eax
lea eax, [ebp - 0xdc]
push eax
push 0x10100001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xe4]
push eax
push dword [ebp - 0x450]
push 0x20400001
jmp 0x10140c9a
cmp dword [eax + 0x14], 3
jne 0x101419d0
or eax, 0xffffffff
lea edi, [ebp - 0x1b4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
or eax, 0xffffffff
lea edi, [ebp - 0x1cc]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
or eax, 0xffffffff
lea edi, [ebp - 0x1c0]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
or eax, 0xffffffff
lea edi, [ebp - 0x19c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
test ebx, ebx
je 0x1014183b
mov ecx, ebx
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x44c]
mov ebx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x458]
push esi
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebx + 0x1c]
mov dword [ebp - 0x98], eax
mov eax, dword [ebx + 4]
mov dword [ebp - 0x94], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0xd0], eax
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x1b4]
push eax
push 0x20500003
push ecx
mov ecx, edi
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
mov eax, dword [ebx + 0x1c]
mov ecx, edi
mov dword [ebp - 0x9c], eax
mov eax, dword [ebx + 4]
mov dword [ebp - 0x98], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x94], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebx + 8]
xor ebx, ebx
push ebx
mov dword [ebp - 0xd0], eax
lea eax, [ebp - 0xd8]
push eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x1cc]
push eax
push 0x20500003
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
push ebx
lea eax, [ebp - 0x1cc]
mov ecx, edi
push eax
lea eax, [ebp - 0x1c0]
push eax
push 0x10100003
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
lea eax, [ebp - 0x1c0]
mov ecx, edi
push eax
lea eax, [ebp - 0x1b4]
push eax
lea eax, [ebp - 0x19c]
push eax
push 0x20400003
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
mov ecx, dword [ebp - 0x28]
push ebx
mov eax, dword [ecx]
mov dword [ebp - 0x9c], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x98], eax
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x19c]
push eax
push dword [ebp - 0x450]
push 0x50000003
push dword [ebp - 0x44c]
mov ecx, edi
call fcn.1014bb91
jmp 0x10140a8b
mov ecx, dword [ebp - 0x448]
cmp dword [eax + 0x14], ecx
jne 0x10146f66
push 0xc
or eax, 0xffffffff
lea edi, [ebp - 0x2d8]
pop ecx
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x238]
push 0xc
pop ecx
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x208]
push 0xc
pop ecx
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x2a8]
push 0xc
pop ecx
rep stosd dword es:[edi], eax
lea edi, [ebp - 0xf4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
test ebx, ebx
je 0x10141a25
mov ecx, ebx
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x458]
push esi
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0x90], eax
mov eax, dword [ecx + 0x38]
mov dword [ebp - 0x8c], eax
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0x88], eax
mov eax, dword [ecx + 0x38]
mov dword [ebp - 0x84], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x80], eax
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0x7c], eax
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0x78], eax
mov eax, dword [ecx + 0x38]
mov dword [ebp - 0x74], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x70], eax
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0x6c], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x68], eax
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0x64], eax
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0xcc], eax
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0xc8], eax
mov eax, dword [ecx + 0x2c]
mov dword [ebp - 0xc4], eax
mov eax, dword [ecx + 0x2c]
mov dword [ebp - 0xc0], eax
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0xbc], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xb8], eax
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0xb4], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xb0], eax
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0xac], eax
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0xa8], eax
mov eax, dword [ecx + 0x2c]
mov dword [ebp - 0xa4], eax
mov eax, dword [ecx + 0xc]
mov ecx, edi
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x2d8]
push eax
push 0x20500003
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
lea eax, [ebp - 0xc0]
mov ecx, edi
push eax
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x2cc]
push eax
push 0x20500003
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
lea eax, [ebp - 0xb4]
mov ecx, edi
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x2c0]
push eax
push 0x20500003
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
lea eax, [ebp - 0xa8]
mov ecx, edi
push eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x2b4]
push eax
push 0x20500003
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
mov ecx, dword [ebp - 0x28]
push ebx
mov eax, dword [ecx + 0x38]
mov dword [ebp - 0x90], eax
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0x8c], eax
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0x88], eax
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0x84], eax
mov eax, dword [ecx + 0x38]
mov dword [ebp - 0x80], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x7c], eax
mov eax, dword [ecx + 0x38]
mov dword [ebp - 0x78], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x74], eax
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0x70], eax
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0x6c], eax
mov eax, dword [ecx + 0x28]
mov dword [ebp - 0x68], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x64], eax
mov eax, dword [ecx + 0x2c]
mov dword [ebp - 0xcc], eax
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0xc8], eax
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0xc4], eax
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0xc0], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xbc], eax
mov eax, dword [ecx + 0x2c]
mov dword [ebp - 0xb8], eax
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0xb4], eax
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0xb0], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xac], eax
mov eax, dword [ecx + 0x2c]
mov dword [ebp - 0xa8], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xa4], eax
mov eax, dword [ecx + 0x1c]
mov ecx, edi
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x238]
push eax
push 0x20500003
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
lea eax, [ebp - 0xc0]
mov ecx, edi
push eax
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x22c]
push eax
push 0x20500003
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
lea eax, [ebp - 0xb4]
mov ecx, edi
push eax
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x220]
push eax
push 0x20500003
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
lea eax, [ebp - 0xa8]
mov ecx, edi
push eax
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x214]
push eax
push 0x20500003
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
push ebx
lea eax, [ebp - 0x238]
mov ecx, edi
push eax
lea eax, [ebp - 0x208]
push eax
push 0x10100003
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
push ebx
lea eax, [ebp - 0x22c]
mov ecx, edi
push eax
lea eax, [ebp - 0x1fc]
push eax
push 0x10100003
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
push ebx
lea eax, [ebp - 0x220]
mov ecx, edi
push eax
lea eax, [ebp - 0x1f0]
push eax
push 0x10100003
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
push ebx
lea eax, [ebp - 0x214]
mov ecx, edi
push eax
lea eax, [ebp - 0x1e4]
push eax
push 0x10100003
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
lea eax, [ebp - 0x208]
mov ecx, edi
push eax
lea eax, [ebp - 0x2d8]
push eax
lea eax, [ebp - 0x2a8]
push eax
push 0x20400003
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
lea eax, [ebp - 0x1fc]
mov ecx, edi
push eax
lea eax, [ebp - 0x2cc]
push eax
lea eax, [ebp - 0x29c]
push eax
push 0x20400003
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
lea eax, [ebp - 0x1f0]
mov ecx, edi
push eax
lea eax, [ebp - 0x2c0]
push eax
lea eax, [ebp - 0x290]
push eax
push 0x20400003
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
lea eax, [ebp - 0x1e4]
mov ecx, edi
push eax
lea eax, [ebp - 0x2b4]
push eax
lea eax, [ebp - 0x284]
push eax
push 0x20400003
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
mov ecx, dword [ebp - 0x28]
push ebx
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0x90], eax
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x8c], eax
mov eax, dword [ecx + 0x34]
mov dword [ebp - 0x88], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x84], eax
mov eax, dword [ecx + 0x24]
mov dword [ebp - 0x80], eax
mov eax, dword [ecx + 0x34]
mov dword [ebp - 0x7c], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x78], eax
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0x74], eax
mov eax, dword [ecx + 0x34]
mov dword [ebp - 0x70], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x6c], eax
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0x68], eax
mov eax, dword [ecx + 0x24]
mov ecx, edi
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0x2a8]
push eax
lea eax, [ebp - 0xf4]
push eax
push 0x50000003
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
lea eax, [ebp - 0x84]
mov ecx, edi
push eax
lea eax, [ebp - 0x29c]
push eax
lea eax, [ebp - 0xf0]
push eax
push 0x50000003
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
lea eax, [ebp - 0x78]
mov ecx, edi
push eax
lea eax, [ebp - 0x290]
push eax
lea eax, [ebp - 0xec]
push eax
push 0x50000003
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
lea eax, [ebp - 0x6c]
mov ecx, edi
push eax
lea eax, [ebp - 0x284]
push eax
lea eax, [ebp - 0xe8]
push eax
push 0x50000003
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
mov ecx, dword [ebp - 0x28]
push ebx
mov eax, dword [ecx]
mov dword [ebp - 0x90], eax
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x8c], eax
mov eax, dword [ecx + 0x20]
mov dword [ebp - 0x88], eax
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0xf4]
push eax
push dword [ebp - 0x450]
push 0x50000004
jmp 0x10140c9a
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov eax, dword [ebp - 0x38]
mov ecx, edi
add eax, eax
push eax
call fcn.1014b855
test eax, eax
je 0x10145f7b
mov ecx, dword [ebp - 0x38]
mov edx, esi
mov ebx, ecx
shl ebx, 2
mov dword [ebp + edx*4 - 0x10], eax
inc edx
add eax, ebx
cmp edx, 2
jb 0x101420c0
or ebx, 0xffffffff
test ecx, ecx
je 0x101420f7
mov edi, dword [ebp - 0x10]
mov edx, ecx
shl edx, 2
mov eax, ebx
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0xc]
shr edx, 2
mov ecx, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x450]
and ecx, 0xfffff
push esi
push esi
push dword [ebp - 0x24]
mov dword [ebp - 0x45c], ecx
or ecx, 0x10100000
push dword [ebp - 0x10]
mov dword [ebp - 0x4e4], ebx
push ecx
push dword [ebp - 0x44c]
mov dword [ebp - 0x4e0], ebx
mov ecx, edi
mov dword [eax], ebx
call fcn.1014bb91
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
mov eax, dword [ebp - 0x45c]
mov ecx, edi
push ebx
push dword [ebp - 0x10]
or eax, 0x20400000
push dword [ebp - 0x28]
push dword [ebp - 0xc]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push dword [ebp - 0x448]
lea eax, [ebp - 0x4e4]
mov ecx, edi
push dword [ebp - 0xc]
push dword [ebp - 0xc]
push eax
mov eax, dword [ebp - 0x45c]
or eax, 0x50000000
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push dword [ebp - 0x448]
lea eax, [ebp - 0x4e4]
mov ecx, edi
push ebx
push eax
lea eax, [ebp - 0x4e0]
push eax
push 0x10700001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
lea eax, [ebp - 0x4e0]
push dword [ebp - 0x448]
push ebx
push eax
push dword [ebp - 0x450]
push 0x10300001
jmp 0x10140c9a
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
test ebx, ebx
je 0x1014223e
mov ecx, ebx
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x44c]
mov eax, dword [ebp - 0x38]
push esi
push dword [ebp - 0x24]
and eax, 0xfffff
or eax, 0x50000000
push dword [ebp - 0x28]
push edx
push eax
jmp 0x10141591
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov eax, dword [edi + 0x20]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x174], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x170], eax
mov eax, dword [ecx + 8]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x16c], eax
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x168], eax
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x164], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x160], eax
mov eax, dword [edi + 0x20]
mov dword [ebp - 0x15c], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x158], eax
test ebx, ebx
je 0x101422d6
mov ecx, ebx
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
push esi
lea eax, [ebp - 0x164]
push eax
lea eax, [ebp - 0x174]
push eax
push edx
jmp 0x10141660
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
fld qword [0x10035d58]
mov esi, dword [edi + 8]
call sub.msvcrt.dll__CIlog
fld1
xor eax, eax
fdivrp st(1)
push ecx
push ecx
mov ecx, esi
fstp qword [esp]
push eax
push eax
push dword [esi + 0x78]
call fcn.1019630c
imul ecx, ebx, 3
mov dword [ebp - 0x454], eax
push ecx
mov ecx, edi
call fcn.1014b855
test eax, eax
je 0x10145f7b
xor esi, esi
mov edx, ebx
mov ecx, esi
shl edx, 2
mov dword [ebp + ecx*4 - 0x14], eax
inc ecx
add eax, edx
cmp ecx, 3
jb 0x10142344
test ebx, ebx
je 0x1014238c
mov eax, dword [ebp - 0x454]
mov edx, ebx
mov edi, dword [ebp - 0x14]
shl edx, 2
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x10]
mov ecx, edx
shr ecx, 2
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x450]
shr edx, 2
or eax, 0xffffffff
mov ecx, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
push esi
push dword [ebp - 0x14]
and ebx, 0xfffff
mov ecx, edi
push dword [ebp - 0x28]
mov eax, ebx
push dword [ebp - 0x10]
or eax, 0x20500000
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push dword [ebp - 0x448]
or ebx, 0x10500000
push 0
push dword [ebp - 0x10]
jmp 0x10140a25
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
test ebx, ebx
je 0x10142402
mov ecx, ebx
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x44c]
push dword [ebp - 0x448]
and ebx, 0xfffff
or ebx, 0x10500000
jmp 0x1014158b
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
cmp dword [ebp - 0x10], 0
je 0x10146f86
test edx, edx
je 0x10141698
or dword [ebp - 0x4dc], 0xffffffff
lea edx, [ebp - 0x4dc]
or dword [ebp - 0x4d8], 0xffffffff
mov eax, ebx
push esi
push dword [ebp - 0x20]
and eax, 0xfffff
push dword [ebp - 0x24]
mov dword [ebp - 0x460], eax
or eax, 0x50000000
push edx
push eax
push ecx
mov ecx, edi
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0x17
lea eax, [edi + 0x24]
mov ecx, edi
push eax
lea eax, [ebp - 0x4dc]
push eax
lea eax, [ebp - 0x4d8]
push eax
push 0x20300001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
mov esi, ebx
mov ecx, edi
shl esi, 2
push esi
call fcn.1014b855
mov edx, eax
test edx, edx
je 0x10145f7b
xor eax, eax
mov ecx, eax
mov dword [ebp + ecx*4 - 0x38], edx
inc ecx
add edx, esi
cmp ecx, 4
jb 0x101424d7
mov ecx, eax
test ebx, ebx
je 0x10142533
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x4d8]
mov dword [edx + ecx*4], eax
inc ecx
cmp ecx, ebx
jb 0x101424ec
mov edi, dword [ebp - 0x38]
mov edx, ebx
shl edx, 2
or eax, 0xffffffff
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x34]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x30]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x450]
shr edx, 2
mov ecx, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov eax, dword [ebp - 0x460]
xor ebx, ebx
push ebx
push ebx
push dword [ebp - 0x28]
or eax, 0x10100000
mov ecx, edi
push dword [ebp - 0x38]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
mov eax, dword [ebp - 0x460]
mov ecx, edi
push ebx
push dword [ebp - 0x38]
or eax, 0x20400000
push dword [ebp - 0x38]
mov dword [ebp - 0x454], eax
push dword [ebp - 0x34]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
mov eax, dword [ebp - 0x460]
mov ecx, edi
push ebx
push dword [ebp - 0x2c]
or eax, 0x20500000
push dword [ebp - 0x34]
push dword [ebp - 0x30]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
push dword [ebp - 0x30]
push dword [ebp - 0x28]
push dword [ebp - 0x450]
push dword [ebp - 0x454]
jmp 0x10140c9a
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
lea eax, [ebx + ebx]
mov ecx, edi
push eax
call fcn.1014b855
mov dword [ebp - 0x460], eax
test eax, eax
je 0x10145f7b
lea ecx, [eax + ebx*4]
mov dword [ebp - 0x464], ecx
test ebx, ebx
je 0x10142663
mov edi, dword [ebp - 0x460]
mov edx, ebx
shl edx, 2
or eax, 0xffffffff
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x464]
mov ecx, edx
shr ecx, 2
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x450]
shr edx, 2
or eax, 0xffffffff
mov ecx, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov eax, dword [ebp - 0x460]
push 0x14
push esi
push dword [ebp - 0x28]
and ebx, 0xfffff
mov ecx, edi
push eax
mov eax, ebx
or eax, 0x10400000
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
mov eax, ebx
push 0x18
or eax, 0x10100000
jmp 0x1014104e
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov eax, ebx
mov ecx, edi
shl eax, 3
push eax
call fcn.1014b855
test eax, eax
je 0x10145f7b
mov edx, ebx
mov ecx, esi
shl edx, 2
mov dword [ebp + ecx*4 - 0x48], eax
inc ecx
add eax, edx
cmp ecx, 8
jb 0x101426db
mov eax, esi
mov dword [ebp - 0x45c], esi
mov edi, dword [ebp + eax*4 - 0x48]
mov edx, ebx
shl edx, 2
test ebx, ebx
je 0x1014270c
mov ecx, edx
shr ecx, 2
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x45c]
inc eax
mov dword [ebp - 0x45c], eax
cmp eax, 8
jb 0x101426ef
test ebx, ebx
je 0x1014272c
mov edi, dword [ebp - 0x450]
shr edx, 2
or eax, 0xffffffff
mov ecx, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov eax, ebx
push esi
push esi
push dword [ebp - 0x24]
and eax, 0xfffff
mov ecx, edi
push dword [ebp - 0x48]
mov dword [ebp - 0x460], eax
or eax, 0x10300000
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
mov eax, dword [ebp - 0x460]
mov ecx, edi
push 0
push dword [ebp - 0x48]
or eax, 0x20500000
push dword [ebp - 0x28]
mov dword [ebp - 0x45c], eax
push dword [ebp - 0x44]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
mov ecx, dword [ebp - 0x460]
xor eax, eax
push eax
push eax
push dword [ebp - 0x44]
or ecx, 0x10100000
push dword [ebp - 0x40]
mov dword [ebp - 0x454], ecx
push ecx
push dword [ebp - 0x44c]
mov ecx, edi
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push dword [ebp - 0x448]
mov eax, dword [ebp - 0x460]
mov ecx, edi
push dword [ebp - 0x40]
or eax, 0x20100000
push dword [ebp - 0x44]
push dword [ebp - 0x3c]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
mov eax, dword [ebp - 0x460]
mov ecx, edi
push 0x14
push 0
push dword [ebp - 0x3c]
or eax, 0x10400000
push dword [ebp - 0x38]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
mov eax, dword [ebp - 0x460]
mov ecx, edi
push 0x17
push dword [ebp - 0x40]
or eax, 0x20300000
push dword [ebp - 0x44]
push dword [ebp - 0x34]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
xor eax, eax
mov ecx, edi
push eax
push eax
push dword [ebp - 0x38]
push dword [ebp - 0x30]
push dword [ebp - 0x454]
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
push dword [ebp - 0x34]
mov ecx, edi
push dword [ebp - 0x38]
push dword [ebp - 0x30]
push dword [ebp - 0x2c]
push dword [ebp - 0x44c]
call fcn.1014abf4
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
push dword [ebp - 0x450]
push dword [ebp - 0x45c]
jmp 0x10140c9a
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
test ebx, ebx
je 0x10142919
mov ecx, ebx
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x44c]
and ebx, 0xfffff
or ebx, 0x10400000
jmp 0x1014158a
cmp dword [ebp - 0x18], 0
je 0x10146f86
xor ecx, ecx
mov eax, ebx
mul dword [ebp - 0x448]
mov edx, 0x10022e72
seto cl
neg ecx
or ecx, eax
call fcn.100fa56f
mov dword [ebp - 0x24], eax
test eax, eax
je 0x10145f7b
imul ecx, ebx, 0xa
push ecx
mov ecx, edi
call fcn.1014b855
test eax, eax
je 0x10145f7b
mov edx, ebx
mov ecx, esi
shl edx, 2
mov dword [ebp + ecx*4 - 0x50], eax
inc ecx
add eax, edx
cmp ecx, 0xa
jb 0x10142974
or eax, 0xffffffff
test ebx, ebx
je 0x101429ec
mov edi, dword [ebp - 0x50]
mov edx, ebx
shl edx, 2
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x4c]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x48]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x44]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x40]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x3c]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x38]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x34]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x24]
shr edx, 2
mov ecx, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
push esi
push esi
push dword [ebp - 0x28]
mov eax, ebx
mov ecx, edi
push dword [ebp - 0x50]
and eax, 0xfffff
mov dword [ebp - 0x464], eax
or eax, 0x10100000
push eax
push dword [ebp - 0x44c]
mov dword [ebp - 0x45c], eax
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push dword [ebp - 0x448]
mov eax, dword [ebp - 0x464]
mov ecx, edi
push dword [ebp - 0x28]
or eax, 0x20100000
push dword [ebp - 0x50]
push dword [ebp - 0x4c]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 8
push 0
push dword [ebp - 0x4c]
mov ecx, edi
push dword [ebp - 0x48]
push dword [ebp - 0x45c]
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
mov eax, dword [ebp - 0x464]
mov ecx, edi
push 0x17
push dword [ebp - 0x4c]
or eax, 0x20300000
push dword [ebp - 0x48]
push dword [ebp - 0x44]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push dword [ebp - 0x448]
mov eax, dword [ebp - 0x464]
mov ecx, edi
push dword [ebp - 0x4c]
or eax, 0x20400000
push dword [ebp - 0x44]
mov dword [ebp - 0x454], eax
push dword [ebp - 0x40]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
xor eax, eax
mov ecx, edi
push eax
push eax
push dword [ebp - 0x40]
mov eax, dword [ebp - 0x464]
push dword [ebp - 0x3c]
or eax, 0x10600000
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
xor eax, eax
mov ecx, edi
push eax
push eax
push dword [ebp - 0x3c]
push dword [ebp - 0x38]
push dword [ebp - 0x45c]
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
mov eax, dword [ebp - 0x464]
mov ecx, edi
push 0x14
push 0
push dword [ebp - 0x38]
or eax, 0x10400000
push dword [ebp - 0x34]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 2
push dword [ebp - 0x34]
mov ecx, edi
push dword [ebp - 0x3c]
push dword [ebp - 0x24]
push dword [ebp - 0x454]
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
mov esi, dword [ebp - 0x450]
test esi, esi
je 0x10141698
test ebx, ebx
je 0x10142c05
mov edi, dword [ebp - 0x30]
mov edx, ebx
shl edx, 2
or eax, 0xffffffff
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x2c]
mov ecx, edx
shr ecx, 2
or eax, 0xffffffff
rep stosd dword es:[edi], eax
shr edx, 2
mov edi, esi
mov ecx, edx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
push dword [ebp - 0x448]
mov eax, dword [ebp - 0x464]
xor ebx, ebx
push ebx
push dword [ebp - 0x24]
or eax, 0x10500000
mov ecx, edi
push dword [ebp - 0x30]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push dword [ebp - 0x448]
mov eax, dword [ebp - 0x464]
mov ecx, edi
push ebx
push dword [ebp - 0x30]
or eax, 0x10300000
push dword [ebp - 0x2c]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
mov eax, dword [ebp - 0x464]
push ebx
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
or eax, 0x20500000
push dword [ebp - 0x450]
push eax
jmp 0x10140c9a
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
imul eax, ebx, 6
mov ecx, edi
push eax
call fcn.1014b855
test eax, eax
je 0x10145f7b
mov edx, ebx
mov ecx, esi
shl edx, 2
mov dword [ebp + ecx*4 - 0x40], eax
inc ecx
add eax, edx
cmp ecx, 6
jb 0x10142cbd
test ebx, ebx
je 0x10142d24
mov edi, dword [ebp - 0x40]
or eax, 0xffffffff
mov edx, ebx
shl edx, 2
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x3c]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x38]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x34]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x30]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x2c]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x450]
shr edx, 2
mov ecx, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
push esi
push esi
push dword [ebp - 0x28]
and ebx, 0xfffff
mov ecx, edi
push dword [ebp - 0x40]
mov eax, ebx
or eax, 0x10d00000
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
xor eax, eax
mov ecx, ebx
push eax
push eax
push dword [ebp - 0x40]
or ecx, 0x10100000
push dword [ebp - 0x3c]
mov dword [ebp - 0x454], ecx
push ecx
push dword [ebp - 0x44c]
mov ecx, edi
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push dword [ebp - 0x448]
mov eax, ebx
mov ecx, edi
push dword [ebp - 0x40]
or eax, 0x20100000
push dword [ebp - 0x3c]
mov dword [ebp - 0x45c], eax
push dword [ebp - 0x38]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
xor eax, eax
mov ecx, edi
push eax
push eax
push dword [ebp - 0x28]
mov eax, ebx
push dword [ebp - 0x34]
or eax, 0x10e00000
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
xor eax, eax
mov ecx, edi
push eax
push eax
push dword [ebp - 0x34]
push dword [ebp - 0x30]
push dword [ebp - 0x454]
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push dword [ebp - 0x448]
mov ecx, edi
push dword [ebp - 0x34]
push dword [ebp - 0x30]
push dword [ebp - 0x2c]
push dword [ebp - 0x45c]
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push dword [ebp - 0x448]
push dword [ebp - 0x2c]
push dword [ebp - 0x38]
jmp 0x10141085
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov eax, dword [edi + 8]
test dword [eax + 0x6c], 0x100000
jne 0x101430d7
mov eax, ebx
mov ecx, edi
shl eax, 2
push eax
call fcn.1014b855
test eax, eax
je 0x10145f7b
mov edx, ebx
mov ecx, esi
shl edx, 2
mov dword [ebp + ecx*4 - 0x38], eax
inc ecx
add eax, edx
cmp ecx, 4
jb 0x10142ea4
test ebx, ebx
je 0x10142ef7
mov edi, dword [ebp - 0x38]
mov edx, ebx
shl edx, 2
or eax, 0xffffffff
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x34]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x30]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x2c]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x450]
shr edx, 2
mov ecx, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
push 0x40
push esi
push dword [ebp - 0x28]
mov eax, ebx
mov ecx, edi
push dword [ebp - 0x38]
and eax, 0xfffff
mov dword [ebp - 0x460], eax
or eax, 0x10100000
push eax
push dword [ebp - 0x44c]
mov dword [ebp - 0x454], eax
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
mov eax, dword [ebp - 0x460]
mov ecx, edi
push 0x40
push dword [ebp - 0x38]
or eax, 0x20400000
push dword [ebp - 0x28]
push dword [ebp - 0x34]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
mov eax, dword [ebp - 0x460]
mov ecx, edi
push 0x40
push dword [ebp - 0x34]
or eax, 0x20500000
push dword [ebp - 0x34]
push dword [ebp - 0x30]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0x40
push 0
push dword [ebp - 0x30]
mov ecx, edi
push dword [ebp - 0x2c]
push dword [ebp - 0x454]
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
mov eax, dword [ebp - 0x460]
mov ecx, edi
push 0x57
push dword [ebp - 0x30]
or eax, 0x20300000
push dword [ebp - 0x2c]
push dword [ebp - 0x450]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
and dword [ebp - 0x45c], 0
test ebx, ebx
je 0x10141698
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x450]
sub ecx, eax
mov dword [ebp - 0x454], ecx
lea edx, [ebp - 0x440]
push edx
push dword [ecx + eax]
mov ecx, edi
call fcn.1014d466
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
fld qword [edi + 0xa8]
fld qword [ebp - 0x440]
fcom st(1)
fnstsw ax
fld qword [ebp - 0x438]
test ah, 0x41
jne 0x10143076
fcom qword [edi + 0xa0]
fnstsw ax
test ah, 5
jp 0x10143076
mov eax, dword [edi + 0x20]
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x10143099
fld qword [edi + 0xa0]
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x10143092
fucompp
fnstsw ax
test ah, 0x44
jp 0x101430a1
jmp 0x10143096
fstp st(0)
fstp st(0)
mov eax, dword [edi + 0x24]
mov edx, dword [ebp - 0x450]
mov dword [edx], eax
mov ecx, dword [ebp - 0x45c]
mov eax, dword [ebp - 0x450]
inc ecx
mov edx, dword [ebp - 0x448]
add eax, edx
mov dword [ebp - 0x45c], ecx
cmp ecx, ebx
mov ecx, dword [ebp - 0x454]
mov dword [ebp - 0x450], eax
jb 0x10143022
xor ebx, ebx
jmp 0x101416a0
test ebx, ebx
je 0x10141698
mov eax, dword [edi + 0x20]
mov dword [edx + esi*4], eax
inc esi
cmp esi, ebx
jb 0x101430df
jmp 0x10141698
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov eax, dword [edi + 8]
test dword [eax + 0x6c], 0x100000
jne 0x1014332a
mov eax, ebx
mov ecx, edi
shl eax, 2
push eax
call fcn.1014b855
test eax, eax
je 0x10145f7b
mov edx, ebx
mov ecx, esi
shl edx, 2
mov dword [ebp + ecx*4 - 0x38], eax
inc ecx
add eax, edx
cmp ecx, 4
jb 0x1014312d
test ebx, ebx
je 0x10143180
mov edi, dword [ebp - 0x38]
mov edx, ebx
shl edx, 2
or eax, 0xffffffff
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x34]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x30]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x2c]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x450]
shr edx, 2
mov ecx, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
push 0x40
push esi
push dword [ebp - 0x28]
mov eax, ebx
mov ecx, edi
push dword [ebp - 0x38]
and eax, 0xfffff
mov dword [ebp - 0x460], eax
or eax, 0x10300000
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
mov eax, dword [ebp - 0x460]
mov ecx, edi
push 0x40
push dword [ebp - 0x38]
or eax, 0x20500000
push dword [ebp - 0x38]
push dword [ebp - 0x34]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
mov eax, dword [ebp - 0x460]
mov ecx, edi
push 0x40
push 0
push dword [ebp - 0x34]
or eax, 0x10100000
push dword [ebp - 0x30]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
mov eax, dword [ebp - 0x460]
mov ecx, edi
push 0x57
push dword [ebp - 0x34]
or eax, 0x20300000
push dword [ebp - 0x30]
push dword [ebp - 0x450]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
and dword [ebp - 0x45c], 0
test ebx, ebx
je 0x10141698
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x450]
sub ecx, eax
mov dword [ebp - 0x454], ecx
lea edx, [ebp - 0x430]
push edx
push dword [eax + ecx]
mov ecx, edi
call fcn.1014d466
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
fld qword [edi + 0xa8]
fld qword [ebp - 0x430]
fcom st(1)
fnstsw ax
fld qword [ebp - 0x428]
test ah, 0x41
jne 0x101432cb
fcom qword [edi + 0xa0]
fnstsw ax
test ah, 5
jp 0x101432cb
mov eax, dword [edi + 0x24]
fstp st(0)
fstp st(0)
fstp st(0)
jmp 0x101432ee
fld qword [edi + 0xa0]
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jnp 0x101432e7
fucompp
fnstsw ax
test ah, 0x44
jp 0x101432f6
jmp 0x101432eb
fstp st(0)
fstp st(0)
mov eax, dword [edi + 0x20]
mov edx, dword [ebp - 0x450]
mov dword [edx], eax
mov ecx, dword [ebp - 0x45c]
mov eax, dword [ebp - 0x450]
inc ecx
mov edx, dword [ebp - 0x448]
add eax, edx
mov dword [ebp - 0x45c], ecx
cmp ecx, ebx
mov ecx, dword [ebp - 0x454]
mov dword [ebp - 0x450], eax
jb 0x10143277
jmp 0x101430d0
test ebx, ebx
je 0x10141698
mov eax, dword [edi + 0x24]
mov dword [edx + esi*4], eax
inc esi
cmp esi, ebx
jb 0x10143332
jmp 0x10141698
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov eax, dword [edi + 8]
test dword [eax + 0x6c], 0x100000
jne 0x101435ad
mov eax, ebx
mov ecx, edi
shl eax, 2
push eax
call fcn.1014b855
test eax, eax
je 0x10145f7b
mov edx, dword [ebp - 0x448]
mov ecx, ebx
shl ecx, 2
mov dword [ebp + esi*4 - 0x38], eax
inc esi
add eax, ecx
cmp esi, edx
jb 0x10143384
test ebx, ebx
je 0x101433d6
mov edi, dword [ebp - 0x38]
mov edx, ebx
shl edx, 2
or eax, 0xffffffff
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x34]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x30]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x2c]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x450]
shr edx, 2
mov ecx, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x28]
mov eax, ebx
push 0x40
push ecx
push ecx
push dword [ebp - 0x38]
and eax, 0xfffff
mov ecx, edi
mov dword [ebp - 0x460], eax
or eax, 0x20500000
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
mov eax, dword [ebp - 0x460]
mov ecx, edi
push 0x40
push 0
push dword [ebp - 0x38]
or eax, 0x10100000
push dword [ebp - 0x34]
mov dword [ebp - 0x454], eax
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
mov eax, dword [ebp - 0x460]
mov ecx, edi
push 0x57
push dword [ebp - 0x34]
or eax, 0x20300000
push dword [ebp - 0x38]
mov dword [ebp - 0x460], eax
push dword [ebp - 0x30]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0x5a
push 0
push dword [ebp - 0x30]
mov ecx, edi
push dword [ebp - 0x2c]
push dword [ebp - 0x454]
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0x57
push dword [ebp - 0x30]
mov ecx, edi
push dword [ebp - 0x2c]
push dword [ebp - 0x450]
push dword [ebp - 0x460]
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
and dword [ebp - 0x45c], 0
test ebx, ebx
je 0x10141698
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x450]
sub ecx, eax
mov dword [ebp - 0x454], ecx
lea edx, [ebp - 0x420]
push edx
push dword [eax + ecx]
mov ecx, edi
call fcn.1014d466
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
fld qword [edi + 0xa8]
fld qword [ebp - 0x420]
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x10143562
fld qword [edi + 0xa0]
fld qword [ebp - 0x418]
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x10143566
fxch st(2)
fucompp
fnstsw ax
test ah, 0x44
jnp 0x1014356a
fucompp
fnstsw ax
test ah, 0x44
jp 0x10143579
jmp 0x1014356e
fstp st(0)
jmp 0x1014356c
fstp st(2)
fstp st(2)
fstp st(1)
fstp st(0)
mov edx, dword [ebp - 0x450]
mov eax, dword [edi + 0x24]
mov dword [edx], eax
mov ecx, dword [ebp - 0x45c]
mov eax, dword [ebp - 0x450]
inc ecx
mov edx, dword [ebp - 0x448]
add eax, edx
mov dword [ebp - 0x45c], ecx
cmp ecx, ebx
mov ecx, dword [ebp - 0x454]
mov dword [ebp - 0x450], eax
jb 0x10143501
jmp 0x101430d0
test ebx, ebx
je 0x10141698
mov eax, dword [edi + 0x24]
mov dword [edx + esi*4], eax
inc esi
cmp esi, ebx
jb 0x101435b5
jmp 0x10141698
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
push ebx
mov ecx, edi
call fcn.1014b855
mov dword [ebp - 0x460], eax
test eax, eax
je 0x10145f7b
test ebx, ebx
je 0x10143622
mov edi, dword [ebp - 0x460]
mov edx, ebx
shl edx, 2
or eax, 0xffffffff
mov ecx, edx
shr edx, 2
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x450]
or eax, 0xffffffff
mov ecx, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov eax, dword [ebp - 0x460]
push dword [ebp - 0x448]
and ebx, 0xfffff
mov ecx, edi
push esi
push dword [ebp - 0x24]
push eax
mov eax, ebx
or eax, 0x10500000
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0
push dword [ebp - 0x460]
push dword [ebp - 0x28]
or ebx, 0x20500000
jmp 0x10140a25
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov eax, dword [ebp - 0x38]
cmp eax, 1
jne 0x101436db
or dword [ebp - 0x4d4], 0xffffffff
lea eax, [ebp - 0x4d4]
or dword [edx], 0xffffffff
push esi
push esi
push dword [ebp - 0x28]
push eax
push 0x10100001
push ecx
mov ecx, edi
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push dword [ebp - 0x448]
lea eax, [ebp - 0x4d4]
push eax
push dword [ebp - 0x28]
push dword [ebp - 0x450]
push 0x20100001
jmp 0x10140a2c
or dword [ebp - 0x4d0], 0xffffffff
or dword [ebp - 0x4cc], 0xffffffff
test ebx, ebx
je 0x10143705
or eax, 0xffffffff
mov ecx, ebx
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x44c]
mov eax, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x448]
lea edx, [ebp - 0x4d0]
push ebx
push dword [ebp - 0x28]
and eax, 0xfffff
push dword [ebp - 0x28]
or eax, 0x50000000
push edx
push eax
push ecx
mov ecx, edi
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
xor ebx, ebx
lea eax, [ebp - 0x4d0]
push ebx
push eax
lea eax, [ebp - 0x4cc]
mov ecx, edi
push eax
push 0x10700001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
lea eax, [ebp - 0x4cc]
jmp 0x101421f1
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
cmp dword [ebp - 0x10], 0
je 0x10146f86
test edx, edx
je 0x10141698
push ebx
push dword [ebp - 0x20]
push dword [ebp - 0x24]
push dword [ebp - 0x28]
push edx
push ecx
mov ecx, edi
call fcn.1014abf4
jmp 0x10140a89
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
cmp dword [ebp - 0x10], 0
je 0x10146f86
cmp ebx, dword [ebp - 0x448]
jne 0x10146f86
test edx, edx
je 0x10141698
mov eax, dword [edi + 8]
test byte [eax + 0x6c], 0x40
je 0x10143846
mov eax, dword [ebp - 0x28]
mov edi, edx
mov ecx, dword [ebp - 0x20]
push esi
push esi
mov eax, dword [eax]
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
mov dword [ebp - 0x140], eax
mov eax, dword [ecx]
mov dword [ebp - 0x13c], eax
mov eax, dword [ecx]
mov dword [ebp - 0x138], eax
or eax, 0xffffffff
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x144]
mov edi, dword [ebp - 0x458]
push eax
push edx
push 0x50100004
push dword [ebp - 0x44c]
jmp 0x10141592
push 6
mov ecx, edi
call fcn.1014b855
mov ebx, eax
test ebx, ebx
je 0x10145f7b
mov edx, esi
lea eax, [ebx + edx*4]
mov dword [ebp + edx*4 - 0x40], eax
inc edx
cmp edx, 6
jb 0x1014385b
push 6
pop ecx
or eax, 0xffffffff
mov edi, ebx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x450]
or eax, 0xffffffff
mov ebx, dword [ebp - 0x44c]
push esi
push esi
push dword [ebp - 0x28]
stosd dword es:[edi], eax
push dword [ebp - 0x40]
push 0x10100001
stosd dword es:[edi], eax
push ebx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov ecx, edi
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0x17
push dword [ebp - 0x28]
mov ecx, edi
push dword [ebp - 0x40]
push dword [ebp - 0x3c]
push 0x20200001
push ebx
call fcn.1014bb91
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
mov eax, dword [ebp - 0x450]
mov ecx, edi
push ebx
push dword [ebp - 0x28]
add eax, 4
push dword [ebp - 0x3c]
push eax
push 0x20500001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
push ebx
push dword [ebp - 0x24]
mov ecx, edi
push dword [ebp - 0x38]
push 0x10100001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push 0x17
push dword [ebp - 0x24]
mov ecx, edi
push dword [ebp - 0x38]
push dword [ebp - 0x34]
push 0x20200001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push 0x17
push dword [ebp - 0x34]
mov ecx, edi
push dword [ebp - 0x3c]
push dword [ebp - 0x30]
push 0x20500001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push 1
push dword [ebp - 0x20]
mov ecx, edi
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
push dword [ebp - 0x44c]
call fcn.1014afe2
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push dword [ebp - 0x448]
mov eax, dword [ebp - 0x450]
mov ecx, edi
push dword [ebp - 0x2c]
add eax, 8
push dword [ebp - 0x30]
push eax
push 0x20500001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push 0x17
push ebx
lea eax, [edi + 0x20]
mov ecx, edi
push eax
push dword [ebp - 0x450]
push 0x10000001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push 0x17
push ebx
lea eax, [edi + 0x20]
push eax
mov eax, dword [ebp - 0x450]
add eax, 0xc
push eax
push 0x10000001
jmp 0x10140c9a
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
fld qword [0x10035d58]
mov esi, dword [edi + 8]
call sub.msvcrt.dll__CIlog
push ecx
push ecx
fstp qword [esp]
xor eax, eax
mov ecx, esi
push eax
push eax
push dword [esi + 0x78]
call fcn.1019630c
lea ecx, [ebx + ebx]
mov dword [ebp - 0x454], eax
push ecx
mov ecx, edi
call fcn.1014b855
test eax, eax
je 0x10145f7b
xor esi, esi
mov edx, ebx
mov ecx, esi
shl edx, 2
mov dword [ebp + ecx*4 - 0x10], eax
inc ecx
add eax, edx
cmp ecx, 2
jb 0x10143a90
test ebx, ebx
je 0x10143ad8
mov eax, dword [ebp - 0x454]
mov edx, ebx
mov edi, dword [ebp - 0x10]
shl edx, 2
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0xc]
mov ecx, edx
shr ecx, 2
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x450]
shr edx, 2
or eax, 0xffffffff
mov ecx, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
push esi
push esi
push dword [ebp - 0x28]
and ebx, 0xfffff
mov ecx, edi
push dword [ebp - 0xc]
mov eax, ebx
or eax, 0x10600000
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0
push dword [ebp - 0xc]
push dword [ebp - 0x10]
jmp 0x10143663
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
fld qword [0x10035d58]
mov esi, dword [edi + 8]
call sub.msvcrt.dll__CIlog
fstp qword [ebp - 0x10]
fld qword [0x10035dc0]
call sub.msvcrt.dll__CIlog
fdivr qword [ebp - 0x10]
xor eax, eax
push ecx
push ecx
mov ecx, esi
fstp qword [esp]
push eax
push eax
push dword [esi + 0x78]
call fcn.1019630c
lea ecx, [ebx + ebx]
mov dword [ebp - 0x454], eax
push ecx
mov ecx, edi
call fcn.1014b855
test eax, eax
je 0x10145f7b
xor esi, esi
mov edx, ebx
mov ecx, esi
shl edx, 2
mov dword [ebp + ecx*4 - 0x10], eax
inc ecx
add eax, edx
cmp ecx, 2
jb 0x10143b7e
jmp 0x10143a9c
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
test ebx, ebx
je 0x10143bba
mov ecx, ebx
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x44c]
and ebx, 0xfffff
or ebx, 0x10600000
jmp 0x1014158a
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
test ebx, ebx
je 0x10143c00
mov ecx, ebx
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x44c]
push esi
push dword [ebp - 0x24]
and ebx, 0xfffff
or ebx, 0x20100000
jmp 0x1014158c
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
test ebx, ebx
je 0x10143c4a
mov ecx, ebx
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x44c]
push esi
push dword [ebp - 0x24]
and ebx, 0xfffff
or ebx, 0x20000000
jmp 0x1014158c
cmp dword [ebp - 0x18], 0
je 0x10146f86
xor ecx, ecx
mov eax, ebx
mul dword [ebp - 0x448]
mov edx, 0x10022e72
seto cl
neg ecx
or ecx, eax
call fcn.100fa56f
mov dword [ebp - 0x24], eax
test eax, eax
je 0x10145f7b
imul ecx, ebx, 0xa
push ecx
mov ecx, edi
call fcn.1014b855
test eax, eax
je 0x10145f7b
mov edx, ebx
mov ecx, esi
shl edx, 2
mov dword [ebp + ecx*4 - 0x50], eax
inc ecx
add eax, edx
cmp ecx, 0xa
jb 0x10143ca9
or eax, 0xffffffff
test ebx, ebx
je 0x10143d2b
mov edi, dword [ebp - 0x50]
mov edx, ebx
shl edx, 2
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x4c]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x48]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x44]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x40]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x3c]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x38]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x34]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x30]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x24]
shr edx, 2
mov ecx, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
push esi
push esi
push dword [ebp - 0x28]
mov eax, ebx
mov ecx, edi
push dword [ebp - 0x50]
and eax, 0xfffff
mov dword [ebp - 0x460], eax
or eax, 0x10200000
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
mov eax, dword [ebp - 0x460]
mov ecx, edi
push 0x14
push 0
push dword [ebp - 0x50]
or eax, 0x10400000
push dword [ebp - 0x4c]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
mov eax, dword [ebp - 0x460]
mov ecx, edi
push 0x18
push 0
push dword [ebp - 0x4c]
or eax, 0x10100000
push dword [ebp - 0x48]
mov dword [ebp - 0x464], eax
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
mov eax, dword [ebp - 0x460]
mov ecx, edi
push 2
push dword [ebp - 0x50]
or eax, 0x20400000
push dword [ebp - 0x48]
mov dword [ebp - 0x45c], eax
push dword [ebp - 0x44]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
xor eax, eax
mov ecx, edi
push eax
push eax
push dword [ebp - 0x28]
push dword [ebp - 0x40]
push dword [ebp - 0x464]
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
mov eax, dword [ebp - 0x460]
mov ecx, edi
push 0x17
push dword [ebp - 0x40]
or eax, 0x20200000
push dword [ebp - 0x28]
mov dword [ebp - 0x454], eax
push dword [ebp - 0x3c]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
xor eax, eax
mov ecx, edi
push eax
push eax
push dword [ebp - 0x4c]
push dword [ebp - 0x38]
push dword [ebp - 0x464]
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0x17
push dword [ebp - 0x4c]
mov ecx, edi
push dword [ebp - 0x38]
push dword [ebp - 0x34]
push dword [ebp - 0x454]
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
mov eax, dword [ebp - 0x460]
mov ecx, edi
push 0x17
push dword [ebp - 0x34]
or eax, 0x20500000
push dword [ebp - 0x3c]
push dword [ebp - 0x30]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 2
push dword [ebp - 0x30]
mov ecx, edi
push dword [ebp - 0x44]
push dword [ebp - 0x24]
push dword [ebp - 0x45c]
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
mov esi, dword [ebp - 0x450]
test esi, esi
je 0x10141698
test ebx, ebx
je 0x10143f63
mov edi, dword [ebp - 0x2c]
mov edx, ebx
shl edx, 2
or eax, 0xffffffff
mov ecx, edx
shr edx, 2
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
or eax, 0xffffffff
mov edi, esi
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
push 2
xor ebx, ebx
mov ecx, edi
push ebx
push dword [ebp - 0x24]
push dword [ebp - 0x2c]
push dword [ebp - 0x464]
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push 0x10
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push dword [ebp - 0x450]
push dword [ebp - 0x45c]
jmp 0x10140c9a
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
push ebx
mov ecx, edi
call fcn.1014b855
mov edx, eax
mov dword [ebp - 0x454], edx
test edx, edx
je 0x10145f7b
mov ecx, esi
test ebx, ebx
je 0x1014400a
mov edi, dword [ebp - 0x28]
mov eax, dword [edi]
mov dword [edx + ecx*4], eax
inc ecx
cmp ecx, ebx
jb 0x10143fe7
mov edi, dword [ebp - 0x450]
mov ecx, ebx
mov edx, dword [ebp - 0x454]
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
push esi
push dword [ebp - 0x24]
push edx
jmp 0x1014165a
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
push ebx
mov ecx, edi
call fcn.1014b855
mov edx, eax
mov dword [ebp - 0x454], edx
test edx, edx
je 0x10145f7b
mov ecx, esi
test ebx, ebx
je 0x10144074
mov edi, dword [ebp - 0x24]
mov eax, dword [edi]
mov dword [edx + ecx*4], eax
inc ecx
cmp ecx, ebx
jb 0x10144051
mov edi, dword [ebp - 0x450]
mov ecx, ebx
mov edx, dword [ebp - 0x454]
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
push esi
push edx
jmp 0x10141657
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x454], eax
test eax, eax
je 0x10146f86
cmp dword [eax + 4], 9
jne 0x10146f86
cmp dword [eax + 0x10], 1
push dword [ebp - 0x38]
push dword [ebp - 0x28]
je 0x10144114
mov edx, dword [eax + 0x1c]
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x578], eax
lea eax, [ebp - 0x58c]
mov dword [ebp - 0x588], 9
mov dword [ebp - 0x584], esi
mov dword [ebp - 0x580], esi
mov dword [ebp - 0x58c], 0x10006b5c
mov dword [ebp - 0x57c], 2
mov dword [ebp - 0x574], ecx
mov dword [ebp - 0x570], edx
mov dword [ebp - 0x56c], 0x400
push eax
mov ecx, edi
call fcn.1014cee7
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
mov eax, dword [ebp - 0x454]
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x460], ecx
mov ecx, dword [ebp - 0x14]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x47c], eax
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x45c], eax
test eax, eax
je 0x10146f86
push 9
pop esi
cmp dword [eax + 4], esi
jne 0x10146f86
push dword [ebp - 0x34]
xor ecx, ecx
inc ecx
cmp dword [eax + 0x10], ecx
jne 0x101441a2
mov ecx, dword [ebp - 0x24]
push ecx
mov dword [ebp - 0x470], ecx
mov ecx, edi
push eax
call fcn.1014cee7
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
mov eax, dword [ebp - 0x45c]
mov edx, dword [eax + 0x1c]
mov esi, dword [eax + 0x18]
jmp 0x10144223
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0x554], eax
mov eax, dword [ebp - 0x24]
push eax
mov dword [ebp - 0x470], eax
lea eax, [ebp - 0x568]
mov dword [ebp - 0x564], esi
xor esi, esi
mov dword [ebp - 0x550], ecx
mov ecx, edi
push eax
mov dword [ebp - 0x560], esi
mov dword [ebp - 0x55c], esi
mov dword [ebp - 0x568], 0x10006b5c
mov dword [ebp - 0x558], 2
mov dword [ebp - 0x54c], edx
mov dword [ebp - 0x548], 0x800
call fcn.1014cee7
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
mov eax, dword [ebp - 0x45c]
mov edx, dword [eax + 0x18]
mov esi, dword [eax + 0x1c]
mov dword [ebp - 0x464], esi
mov dword [ebp - 0x478], edx
cmp dword [ebp - 0x460], edx
jne 0x10146f86
mov ecx, dword [ebp - 0x47c]
mov eax, ecx
imul eax, esi
cmp ebx, eax
jne 0x10146f86
mov eax, dword [ebp - 0x454]
cmp dword [eax + 0x10], 2
je 0x1014426d
xor eax, eax
inc eax
push 0
cmp ecx, eax
pop edx
sete dl
mov dword [ebp - 0x454], edx
jmp 0x1014428d
push dword [ebp - 0x460]
push ecx
push dword [ebp - 0x28]
mov ecx, edi
call fcn.1014e405
mov ecx, dword [ebp - 0x47c]
mov dword [ebp - 0x454], eax
xor eax, eax
inc eax
cmp dword [ebp - 0x454], 0
mov edx, dword [ebp - 0x478]
jne 0x101444ca
imul eax, ecx, 5
mov ecx, edi
push eax
call fcn.1014b855
mov dword [ebp - 0x454], eax
test eax, eax
je 0x10145f7b
mov edx, dword [ebp - 0x47c]
xor ebx, ebx
mov edi, ebx
mov esi, eax
mov ecx, edx
imul ecx, edi
lea eax, [esi + ecx*4]
mov dword [ebp + edi*4 - 0x3c], eax
inc edi
cmp edi, 5
jb 0x101442c5
mov esi, dword [ebp - 0x464]
mov edi, dword [ebp - 0x458]
mov dword [ebp - 0x45c], ebx
test esi, esi
je 0x1014169a
mov eax, dword [ebp - 0x478]
mov ecx, ebx
mov dword [ebp - 0x470], ecx
test eax, eax
je 0x1014446d
mov eax, edx
and eax, 0xfffff
mov dword [ebp - 0x474], eax
or eax, 0x20500000
mov dword [ebp - 0x484], eax
mov dword [ebp - 0x468], ebx
test edx, edx
je 0x10144397
mov edi, dword [ebp - 0x38]
mov eax, ecx
imul eax, esi
add eax, dword [ebp - 0x45c]
mov dword [ebp - 0x454], eax
mov eax, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x454]
sub eax, edi
mov dword [ebp - 0x444], eax
mov eax, dword [ebp - 0x460]
imul eax, dword [ebp - 0x468]
mov edx, dword [ebp - 0x28]
add eax, ecx
mov eax, dword [edx + eax*4]
mov edx, dword [ebp - 0x444]
mov dword [edx + edi], eax
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x47c]
mov eax, dword [eax + esi*4]
mov dword [edi], eax
mov eax, dword [ebp - 0x468]
add edi, dword [ebp - 0x448]
inc eax
mov dword [ebp - 0x468], eax
cmp eax, edx
jb 0x1014434e
mov edi, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x30]
mov eax, ebx
test edx, edx
je 0x101443a9
or dword [ecx + eax*4], 0xffffffff
inc eax
cmp eax, edx
jb 0x101443a0
push ebx
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
push ecx
push dword [ebp - 0x484]
mov ecx, edi
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
mov eax, dword [ebp - 0x47c]
cmp dword [ebp - 0x470], ebx
jne 0x101443eb
shl eax, 2
push eax
push dword [ebp - 0x30]
jmp 0x1014443b
mov edx, dword [ebp - 0x2c]
mov ecx, ebx
test eax, eax
je 0x101443fd
or dword [edx + ecx*4], 0xffffffff
inc ecx
cmp ecx, eax
jb 0x101443f4
mov eax, dword [ebp - 0x474]
mov ecx, edi
push ebx
push dword [ebp - 0x30]
or eax, 0x20400000
push dword [ebp - 0x34]
push edx
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
mov eax, dword [ebp - 0x47c]
shl eax, 2
push eax
push dword [ebp - 0x2c]
push dword [ebp - 0x34]
call sub.msvcrt.dll_memcpy
mov ecx, dword [ebp - 0x470]
add esp, 0xc
mov eax, dword [ebp - 0x478]
inc ecx
mov esi, dword [ebp - 0x464]
mov edx, dword [ebp - 0x47c]
mov dword [ebp - 0x470], ecx
cmp ecx, eax
jb 0x1014431f
mov ecx, ebx
test edx, edx
je 0x101444a9
mov edi, dword [ebp - 0x450]
mov eax, esi
mov esi, dword [ebp - 0x34]
shl eax, 2
mov dword [ebp - 0x474], eax
mov eax, dword [esi + ecx*4]
inc ecx
mov dword [edi], eax
add edi, dword [ebp - 0x474]
cmp ecx, edx
jb 0x10144487
mov edi, dword [ebp - 0x458]
mov esi, dword [ebp - 0x464]
mov eax, dword [ebp - 0x478]
mov ecx, dword [ebp - 0x45c]
add dword [ebp - 0x450], 4
inc ecx
mov dword [ebp - 0x45c], ecx
cmp ecx, esi
jb 0x101442f7
jmp 0x1014169a
mov ecx, dword [ebp - 0x45c]
cmp dword [ecx + 0x10], 2
je 0x101444de
cmp eax, edx
sbb eax, eax
neg eax
jmp 0x101444ea
push esi
push edx
push dword [ebp - 0x24]
mov ecx, edi
call fcn.1014e5c3
mov ecx, edi
test eax, eax
je 0x101446f9
push dword [ebp - 0x34]
call fcn.1014b855
mov dword [ebp - 0x480], eax
test eax, eax
je 0x10145f7b
mov ecx, dword [ebp - 0x478]
test ecx, ecx
je 0x101445b3
mov ebx, dword [ebp - 0x24]
mov edx, eax
mov eax, esi
mov dword [ebp - 0x454], edx
shl eax, 2
mov edi, esi
mov dword [ebp - 0x444], eax
mov eax, ecx
mov dword [ebp - 0x45c], eax
shl edi, 2
test esi, esi
je 0x1014458b
mov eax, ecx
mov dword [ebp - 0x474], esi
shl eax, 2
mov edi, edx
mov edx, dword [ebp - 0x448]
mov ecx, eax
mov dword [ebp - 0x484], eax
mov eax, dword [ebx]
add ebx, edx
mov dword [edi], eax
add edi, ecx
sub esi, 1
jne 0x1014455a
mov esi, dword [ebp - 0x464]
mov ecx, dword [ebp - 0x478]
mov edx, dword [ebp - 0x454]
mov eax, dword [ebp - 0x45c]
mov ebx, dword [ebp - 0x470]
mov edi, dword [ebp - 0x444]
add ebx, edi
add edx, 4
sub eax, 1
mov dword [ebp - 0x470], ebx
mov dword [ebp - 0x454], edx
mov dword [ebp - 0x45c], eax
jne 0x1014453b
mov ebx, dword [ebp - 0x468]
mov edi, dword [ebp - 0x458]
mov edx, dword [ebp - 0x450]
test ebx, ebx
je 0x101445d2
mov ecx, ebx
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x478]
mov eax, dword [ebp - 0x47c]
xor ebx, ebx
mov dword [ebp - 0x45c], ebx
test eax, eax
je 0x1014169a
mov edi, esi
shl edi, 2
mov dword [ebp - 0x46c], edi
mov edi, dword [ebp - 0x458]
mov dword [ebp - 0x454], ebx
test esi, esi
je 0x101446cd
mov eax, dword [ebp - 0x460]
imul eax, dword [ebp - 0x45c]
mov edx, dword [ebp - 0x28]
lea eax, [edx + eax*4]
mov edx, dword [ebp - 0x450]
mov dword [ebp - 0x474], eax
mov eax, dword [ebp - 0x460]
and eax, 0xfffff
mov dword [ebp - 0x470], edx
or eax, 0x50000000
shl ecx, 2
mov dword [ebp - 0x484], ecx
mov ecx, edx
mov edx, dword [ebp - 0x480]
mov dword [ebp - 0x458], eax
mov dword [ebp - 0x468], edx
push ebx
push edx
push dword [ebp - 0x474]
push ecx
push eax
push dword [ebp - 0x44c]
mov ecx, edi
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
mov eax, dword [ebp - 0x454]
mov ecx, dword [ebp - 0x470]
inc eax
mov edx, dword [ebp - 0x468]
add ecx, dword [ebp - 0x448]
add edx, dword [ebp - 0x484]
mov esi, dword [ebp - 0x464]
cmp eax, esi
mov dword [ebp - 0x454], eax
mov eax, dword [ebp - 0x458]
mov dword [ebp - 0x470], ecx
mov dword [ebp - 0x468], edx
jb 0x10144659
mov edx, dword [ebp - 0x450]
mov eax, dword [ebp - 0x47c]
mov ecx, dword [ebp - 0x45c]
add edx, dword [ebp - 0x46c]
inc ecx
mov dword [ebp - 0x45c], ecx
cmp ecx, eax
mov ecx, dword [ebp - 0x478]
mov dword [ebp - 0x450], edx
jb 0x101445f9
jmp 0x1014169a
imul eax, esi, 5
push eax
call fcn.1014b855
test eax, eax
je 0x10145f7b
xor ebx, ebx
mov edx, esi
shl edx, 2
mov ecx, ebx
mov dword [ebp - 0x470], edx
mov dword [ebp + ecx*4 - 0x3c], eax
inc ecx
add eax, edx
cmp ecx, 5
jb 0x10144719
mov ecx, dword [ebp - 0x47c]
mov edx, ebx
mov dword [ebp - 0x478], ebx
test ecx, ecx
je 0x1014169a
mov eax, ebx
mov dword [ebp - 0x45c], ebx
cmp dword [ebp - 0x460], eax
jbe 0x101448c3
mov ecx, dword [ebp - 0x460]
imul ecx, edx
mov dword [ebp - 0x46c], ecx
mov ecx, esi
and ecx, 0xfffff
mov dword [ebp - 0xc], ecx
or ecx, 0x20500000
mov dword [ebp - 0x468], ecx
test esi, esi
je 0x101447f0
mov ecx, dword [ebp - 0x46c]
mov edx, dword [ebp - 0x24]
add ecx, eax
mov edi, dword [ebp - 0x3c]
imul eax, esi
mov dword [ebp - 0x474], ecx
mov ecx, dword [ebp - 0x38]
sub edi, ecx
mov dword [ebp - 0x484], edi
mov dword [ebp - 0x480], esi
lea edx, [edx + eax*4]
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x474]
mov eax, dword [edi + eax*4]
mov edi, dword [ebp - 0x484]
mov dword [edi + ecx], eax
mov eax, dword [edx]
add edx, dword [ebp - 0x448]
mov dword [ecx], eax
add ecx, dword [ebp - 0x448]
sub esi, 1
jne 0x101447a4
mov ecx, dword [ebp - 0x464]
mov edi, dword [ebp - 0x30]
shl ecx, 2
mov dword [ebp - 0x454], ecx
shr ecx, 2
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
jmp 0x101447fb
mov ecx, esi
shl ecx, 2
mov dword [ebp - 0x454], ecx
push ebx
push dword [ebp - 0x38]
mov ecx, edi
push dword [ebp - 0x3c]
push dword [ebp - 0x30]
push dword [ebp - 0x468]
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
cmp dword [ebp - 0x45c], ebx
jne 0x1014483b
push dword [ebp - 0x470]
push dword [ebp - 0x30]
jmp 0x10144893
cmp dword [ebp - 0x464], ebx
jbe 0x1014485a
mov ecx, dword [ebp - 0x454]
mov edi, dword [ebp - 0x2c]
shr ecx, 2
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov eax, dword [ebp - 0xc]
mov ecx, edi
push ebx
push dword [ebp - 0x30]
or eax, 0x20400000
push dword [ebp - 0x34]
push dword [ebp - 0x2c]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push dword [ebp - 0x470]
push dword [ebp - 0x2c]
push dword [ebp - 0x34]
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x45c]
add esp, 0xc
mov esi, dword [ebp - 0x464]
inc eax
mov dword [ebp - 0x45c], eax
cmp eax, dword [ebp - 0x460]
jb 0x10144775
mov ecx, dword [ebp - 0x47c]
mov edx, ebx
test esi, esi
je 0x101448ee
mov edi, dword [ebp - 0x450]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ecx + edx*4]
inc edx
mov dword [edi], eax
add edi, dword [ebp - 0x448]
cmp edx, esi
jb 0x101448d2
mov edi, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x47c]
mov edx, dword [ebp - 0x478]
mov eax, esi
shl eax, 2
inc edx
add dword [ebp - 0x450], eax
mov dword [ebp - 0x478], edx
cmp edx, ecx
jb 0x1014473b
jmp 0x1014169a
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov eax, dword [ebp - 0x38]
or dword [edx], 0xffffffff
and eax, 0xfffff
push 0x10
push esi
or eax, 0x50200000
jmp 0x1014224f
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
cmp ebx, 1
jne 0x10144a50
mov ebx, dword [ebp - 0x448]
mov ecx, edi
push ebx
call fcn.1014b855
mov edx, eax
test edx, edx
je 0x10145f7b
mov ecx, esi
lea eax, [edx + ecx*4]
mov dword [ebp + ecx*4 - 0x38], eax
inc ecx
cmp ecx, ebx
jb 0x10144972
mov edx, dword [ebp - 0x38]
or ecx, 0xffffffff
mov eax, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x44c]
push esi
mov dword [edx], ecx
mov dword [eax], ecx
mov eax, dword [ebp - 0x30]
push esi
push dword [ebp - 0x28]
mov dword [eax], ecx
mov eax, dword [ebp - 0x2c]
push edx
push 0x10100001
push ebx
mov dword [eax], ecx
mov eax, dword [ebp - 0x450]
mov dword [eax], ecx
mov ecx, edi
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0x17
push dword [ebp - 0x28]
mov ecx, edi
push dword [ebp - 0x38]
push dword [ebp - 0x34]
push 0x20200001
push ebx
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0x17
push dword [ebp - 0x38]
mov ecx, edi
push dword [ebp - 0x28]
push dword [ebp - 0x30]
push 0x20200001
push ebx
call fcn.1014bb91
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push 0x1a
push ebx
push dword [ebp - 0x30]
mov ecx, edi
push dword [ebp - 0x2c]
push 0x10100001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push 0x12
push dword [ebp - 0x2c]
push dword [ebp - 0x34]
jmp 0x101417de
push dword [ebp - 0x448]
or dword [ebp - 0x4c8], 0xffffffff
lea edx, [ebp - 0x4c8]
push dword [ebp - 0x28]
or dword [ebp - 0x4c4], 0xffffffff
mov eax, ebx
push dword [ebp - 0x28]
and eax, 0xfffff
mov dword [ebp - 0xc], eax
or eax, 0x50000000
push edx
push eax
push ecx
mov ecx, edi
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push dword [ebp - 0x448]
lea eax, [ebp - 0x4c8]
mov ecx, edi
push 0
push eax
lea eax, [ebp - 0x4c4]
push eax
push 0x10700001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
mov ecx, edi
call fcn.1014b855
mov esi, eax
test esi, esi
je 0x10145f7b
xor ecx, ecx
test ebx, ebx
je 0x10144b0a
mov eax, dword [ebp - 0x4c4]
mov dword [esi + ecx*4], eax
inc ecx
cmp ecx, ebx
jb 0x10144ae9
mov edi, dword [ebp - 0x450]
mov ecx, ebx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov eax, dword [ebp - 0xc]
xor ebx, ebx
push ebx
push esi
jmp 0x10142c7d
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
push ebx
push dword [ebp - 0x24]
push dword [ebp - 0x28]
push edx
push ecx
mov ecx, edi
call fcn.1014afe2
jmp 0x10140a89
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov ecx, dword [edi + 8]
fld qword [0x10035a50]
push ecx
push ecx
fstp qword [esp]
push esi
push esi
push dword [ecx + 0x78]
call fcn.1019630c
push ebx
mov ecx, edi
mov dword [ebp - 0xc], eax
call fcn.1014b855
mov dword [ebp - 0x454], eax
test eax, eax
je 0x10145f7b
test ebx, ebx
je 0x10141655
mov eax, dword [ebp - 0xc]
mov edx, ebx
mov edi, dword [ebp - 0x454]
shl edx, 2
mov ecx, edx
shr edx, 2
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x450]
or eax, 0xffffffff
mov ecx, edx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0x454]
jmp 0x1014164f
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
or dword [ebp - 0x490], 0xffffffff
lea edx, [ebp - 0x490]
or dword [ebp - 0x4c0], 0xffffffff
mov eax, ebx
or dword [ebp - 0x4bc], 0xffffffff
and eax, 0xfffff
push esi
push dword [ebp - 0x24]
mov dword [ebp - 0x454], eax
or eax, 0x50000000
push dword [ebp - 0x28]
push edx
push eax
push ecx
mov ecx, edi
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0
lea eax, [ebp - 0x490]
mov ecx, edi
push eax
push eax
lea eax, [ebp - 0x4c0]
push eax
push 0x20400001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
xor eax, eax
mov ecx, edi
push eax
push eax
lea eax, [ebp - 0x4c0]
push eax
lea eax, [ebp - 0x4bc]
push eax
push 0x10100001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
lea eax, [ebx + ebx]
mov ecx, edi
push eax
call fcn.1014b855
mov edx, eax
test edx, edx
je 0x10145f7b
xor eax, eax
mov esi, ebx
mov ecx, eax
shl esi, 2
mov dword [ebp + ecx*4 - 0x10], edx
inc ecx
add edx, esi
cmp ecx, 2
jb 0x10144cb1
mov esi, dword [ebp - 0x10]
mov ecx, eax
test ebx, ebx
je 0x10144cfc
mov eax, dword [ebp - 0x4bc]
mov dword [esi + ecx*4], eax
inc ecx
cmp ecx, ebx
jb 0x10144cc6
mov edi, dword [ebp - 0xc]
mov edx, ebx
shl edx, 2
or eax, 0xffffffff
mov ecx, edx
shr edx, 2
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x450]
mov ecx, edx
or eax, 0xffffffff
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov eax, dword [ebp - 0x454]
xor ebx, ebx
push ebx
push esi
push dword [ebp - 0x24]
or eax, 0x20500000
mov ecx, edi
push dword [ebp - 0xc]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
mov eax, dword [ebp - 0x454]
push ebx
push dword [ebp - 0x28]
push dword [ebp - 0xc]
or eax, 0x20400000
jmp 0x10142c85
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
cmp dword [ebp - 0x10], 0
je 0x10146f86
test edx, edx
je 0x10141698
or eax, 0xffffffff
lea edx, [ebp - 0x488]
push esi
push dword [ebp - 0x24]
mov dword [ebp - 0x488], eax
push dword [ebp - 0x28]
mov dword [ebp - 0x4b8], eax
mov dword [ebp - 0x524], eax
mov dword [ebp - 0x4b4], eax
mov dword [ebp - 0x4b0], eax
mov dword [ebp - 0x4ac], eax
mov dword [ebp - 0x4a8], eax
mov dword [ebp - 0x494], eax
mov dword [ebp - 0x498], eax
mov dword [ebp - 0x4a4], eax
mov dword [ebp - 0x49c], eax
mov dword [ebp - 0x518], eax
mov dword [ebp - 0x520], eax
mov dword [ebp - 0x51c], eax
mov dword [ebp - 0x514], eax
mov eax, ebx
and eax, 0xfffff
mov dword [ebp - 0x45c], eax
or eax, 0x50000000
push edx
push eax
push ecx
mov ecx, edi
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push dword [ebp - 0x448]
lea eax, [ebp - 0x488]
mov ecx, edi
push eax
push eax
lea eax, [ebp - 0x4b8]
push eax
push 0x20500001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push dword [ebp - 0x448]
lea eax, [ebp - 0x524]
mov ecx, edi
push dword [ebp - 0x20]
push dword [ebp - 0x20]
push eax
push 0x20500001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 8
push 0
lea eax, [ebp - 0x4b8]
mov ecx, edi
push eax
lea eax, [ebp - 0x4b4]
push eax
push 0x10100001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0
lea ecx, [ebp - 0x4b4]
push ecx
lea eax, [edi + 0x20]
mov ecx, edi
push eax
lea eax, [ebp - 0x4b0]
push eax
push 0x20400001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0
lea eax, [ebp - 0x4b0]
mov ecx, edi
push eax
lea eax, [ebp - 0x524]
push eax
lea eax, [ebp - 0x4ac]
push eax
push 0x20500001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
xor eax, eax
mov ecx, edi
push eax
push eax
lea eax, [ebp - 0x4ac]
push eax
lea eax, [ebp - 0x4a8]
push eax
push 0x10100001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0
lea eax, [ebp - 0x4a8]
mov ecx, edi
push eax
lea eax, [edi + 0x20]
push eax
lea eax, [ebp - 0x494]
push eax
push 0x20400001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0x17
lea eax, [edi + 0x24]
mov ecx, edi
push eax
lea eax, [ebp - 0x494]
push eax
lea eax, [ebp - 0x498]
push eax
push 0x20300001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push dword [ebp - 0x448]
lea eax, [ebp - 0x498]
mov ecx, edi
push eax
lea eax, [ebp - 0x494]
push eax
lea eax, [ebp - 0x4a4]
push eax
push 0x20500001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0
lea eax, [ebp - 0x498]
mov ecx, edi
push eax
push dword [ebp - 0x20]
lea eax, [ebp - 0x49c]
push eax
push 0x20500001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0
lea eax, [ebp - 0x488]
mov ecx, edi
push eax
lea eax, [ebp - 0x49c]
push eax
lea eax, [ebp - 0x518]
push eax
push 0x20500001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push dword [ebp - 0x448]
lea eax, [ebp - 0x4a4]
mov ecx, edi
push 0
push eax
lea eax, [ebp - 0x520]
push eax
push 0x10700001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push dword [ebp - 0x448]
lea eax, [ebp - 0x520]
mov ecx, edi
push 0
push eax
lea eax, [ebp - 0x51c]
push eax
push 0x10300001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0
lea eax, [ebp - 0x51c]
mov ecx, edi
push eax
lea eax, [ebp - 0x518]
push eax
lea eax, [ebp - 0x514]
push eax
push 0x20400001
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
imul eax, ebx, 5
mov ecx, edi
push eax
call fcn.1014b855
test eax, eax
je 0x10145f7b
mov edx, ebx
xor ecx, ecx
shl edx, 2
mov dword [ebp + ecx*4 - 0x3c], eax
inc ecx
add eax, edx
cmp ecx, 5
jb 0x1014511f
test ebx, ebx
je 0x10145194
mov edx, dword [ebp - 0x30]
mov esi, ebx
mov ecx, dword [ebp - 0x2c]
sub edx, ecx
mov ebx, dword [ebp - 0x448]
mov eax, dword [ebp - 0x49c]
mov dword [edx + ecx], eax
mov eax, dword [ebp - 0x514]
mov dword [ecx], eax
add ecx, ebx
sub esi, 1
jne 0x1014513f
mov edx, dword [ebp - 0x468]
or eax, 0xffffffff
mov edi, dword [ebp - 0x3c]
shl edx, 2
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x38]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x34]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x450]
shr edx, 2
mov ecx, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov eax, dword [ebp - 0x45c]
xor ebx, ebx
push ebx
push dword [ebp - 0x28]
or eax, 0x20500000
mov ecx, edi
push dword [ebp - 0x30]
mov dword [ebp - 0xc], eax
push dword [ebp - 0x3c]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
push dword [ebp - 0x24]
mov ecx, edi
push dword [ebp - 0x2c]
push dword [ebp - 0x38]
push dword [ebp - 0xc]
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
mov eax, dword [ebp - 0x45c]
mov ecx, edi
push ebx
push ebx
push dword [ebp - 0x38]
or eax, 0x10100000
push dword [ebp - 0x34]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
mov eax, dword [ebp - 0x45c]
push ebx
push dword [ebp - 0x34]
push dword [ebp - 0x3c]
jmp 0x10144d3c
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov ecx, dword [edi + 8]
fld qword [0x10035c28]
push ecx
push ecx
fstp qword [esp]
push esi
push esi
push dword [ecx + 0x78]
call fcn.1019630c
mov dword [ebp - 0xc], eax
mov ecx, edi
mov eax, ebx
shl eax, 2
push eax
call fcn.1014b855
test eax, eax
je 0x10145f7b
mov edx, ebx
mov ecx, esi
shl edx, 2
mov dword [ebp + ecx*4 - 0x38], eax
inc ecx
add eax, edx
cmp ecx, 4
jb 0x10145282
test ebx, ebx
je 0x101452d8
mov eax, dword [ebp - 0xc]
mov edx, ebx
mov edi, dword [ebp - 0x2c]
shl edx, 2
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x38]
or eax, 0xffffffff
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x34]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x30]
mov ecx, edx
shr ecx, 2
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x450]
shr edx, 2
mov ecx, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
push esi
push dword [ebp - 0x2c]
and ebx, 0xfffff
mov ecx, edi
push dword [ebp - 0x28]
mov eax, ebx
push dword [ebp - 0x38]
or eax, 0x20400000
push eax
push dword [ebp - 0x44c]
mov dword [ebp - 0xc], eax
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0x14
push 0
push dword [ebp - 0x38]
mov eax, ebx
mov ecx, edi
push dword [ebp - 0x34]
or eax, 0x10400000
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0x18
push 0
push dword [ebp - 0x34]
or ebx, 0x10100000
mov ecx, edi
push dword [ebp - 0x30]
push ebx
mov ebx, dword [ebp - 0x44c]
push ebx
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 2
push dword [ebp - 0x30]
push dword [ebp - 0x38]
push dword [ebp - 0x450]
push dword [ebp - 0xc]
jmp 0x10140bb6
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
test ebx, ebx
je 0x101453af
mov ecx, ebx
or eax, 0xffffffff
mov edi, edx
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
mov ecx, dword [ebp - 0x44c]
push dword [ebp - 0x448]
and ebx, 0xfffff
or ebx, 0x10700000
jmp 0x1014158b
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
imul eax, ebx, 3
mov ecx, edi
push eax
call fcn.1014b855
test eax, eax
je 0x10145f7b
mov ecx, ebx
shl ecx, 2
mov dword [ebp + esi*4 - 0x14], eax
inc esi
add eax, ecx
cmp esi, 3
jb 0x101453f0
test ebx, ebx
je 0x10145428
mov edx, dword [ebp - 0x14]
mov esi, ebx
mov ecx, dword [ebp - 0x10]
sub edx, ecx
mov ebx, dword [ebp - 0x448]
mov eax, dword [edi + 0x24]
mov dword [edx + ecx], eax
mov eax, dword [edi + 0x20]
mov dword [ecx], eax
add ecx, ebx
sub esi, 1
jne 0x10145410
mov ebx, dword [ebp - 0x468]
push ebx
push dword [ebp - 0xc]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
push dword [ebp - 0x450]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push dword [ebp - 0x448]
and ebx, 0xfffff
mov ecx, edi
push dword [ebp - 0x14]
mov eax, ebx
push dword [ebp - 0x28]
or eax, 0x20100000
push dword [ebp - 0xc]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0x14
push dword [ebp - 0x10]
push dword [ebp - 0xc]
jmp 0x1014113f
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov eax, ebx
mov ecx, edi
shl eax, 2
push eax
call fcn.1014b855
test eax, eax
je 0x10145f7b
mov edx, dword [ebp - 0x448]
mov ecx, ebx
shl ecx, 2
mov dword [ebp + esi*4 - 0x38], eax
inc esi
add eax, ecx
cmp esi, edx
jb 0x101454da
push ebx
push dword [ebp - 0x38]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
push dword [ebp - 0x34]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
push dword [ebp - 0x30]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
push dword [ebp - 0x2c]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
push dword [ebp - 0x450]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
xor eax, eax
and ebx, 0xfffff
push eax
push eax
push dword [ebp - 0x28]
mov ecx, ebx
push dword [ebp - 0x38]
or ecx, 0x10100000
push ecx
push dword [ebp - 0x44c]
mov dword [ebp - 0x46c], ecx
mov ecx, edi
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0x17
push dword [ebp - 0x28]
mov eax, ebx
mov ecx, edi
push dword [ebp - 0x38]
or eax, 0x20200000
push dword [ebp - 0x34]
mov dword [ebp - 0xc], eax
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0x17
push dword [ebp - 0x38]
mov ecx, edi
push dword [ebp - 0x28]
push dword [ebp - 0x30]
push dword [ebp - 0xc]
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0x1a
push 0
push dword [ebp - 0x30]
mov ecx, edi
push dword [ebp - 0x2c]
push dword [ebp - 0x46c]
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0x12
push dword [ebp - 0x2c]
push dword [ebp - 0x34]
jmp 0x10141085
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
push ebx
push edx
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
xor ebx, ebx
mov ecx, edi
push ebx
push dword [ebp - 0x450]
push dword [ebp - 0x28]
push dword [ebp - 0x44c]
call fcn.10149317
jmp 0x10140a8b
cmp dword [ebp - 0x18], 0
je 0x10146f86
mov ebx, dword [ebp - 0x38]
xor ecx, ecx
mov eax, ebx
mul dword [ebp - 0x448]
mov edx, 0x10022e72
seto cl
neg ecx
or ecx, eax
call fcn.100fa56f
mov esi, eax
mov dword [ebp - 0x24], esi
test esi, esi
je 0x10145f7b
xor ecx, ecx
mov eax, ebx
mul dword [ebp - 0x448]
mov edx, 0x10022e72
seto cl
neg ecx
or ecx, eax
call fcn.100fa56f
mov dword [ebp - 0x20], eax
test eax, eax
je 0x10145f7b
push ebx
push esi
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
push dword [ebp - 0x20]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
push dword [ebp - 0x20]
push dword [ebp - 0x24]
push dword [ebp - 0x28]
push dword [ebp - 0x44c]
jmp 0x10141199
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
fld qword [0x10035d58]
mov esi, dword [edi + 8]
call sub.msvcrt.dll__CIlog
fld1
xor eax, eax
fdivrp st(1)
push ecx
push ecx
mov ecx, esi
fstp qword [esp]
push eax
push eax
push dword [esi + 0x78]
call fcn.1019630c
mov ecx, dword [edi + 8]
xor esi, esi
fld qword [0x10035c28]
push ecx
push ecx
fstp qword [esp]
push esi
push esi
push dword [ecx + 0x78]
mov dword [ebp - 0xc], eax
call fcn.1019630c
mov ecx, ebx
mov dword [ebp - 0x46c], eax
shl ecx, 3
push ecx
mov ecx, edi
call fcn.1014b855
test eax, eax
je 0x10145f7b
mov ecx, ebx
shl ecx, 2
mov dword [ebp + esi*4 - 0x48], eax
inc esi
add eax, ecx
cmp esi, 8
jb 0x101457a5
test ebx, ebx
je 0x101457db
mov ecx, dword [ebp - 0x30]
mov edx, ebx
mov eax, dword [ebp - 0x2c]
sub ecx, eax
mov esi, dword [ebp - 0xc]
mov edi, dword [ebp - 0x46c]
mov dword [ecx + eax], esi
mov dword [eax], edi
lea eax, [eax + 4]
sub edx, 1
jne 0x101457c8
mov edi, dword [ebp - 0x458]
push ebx
push dword [ebp - 0x48]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
push dword [ebp - 0x44]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
push dword [ebp - 0x40]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
push dword [ebp - 0x3c]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
push dword [ebp - 0x38]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
push dword [ebp - 0x34]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
push dword [ebp - 0x450]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0
push dword [ebp - 0x30]
and ebx, 0xfffff
mov ecx, edi
push dword [ebp - 0x28]
mov eax, ebx
push dword [ebp - 0x48]
or eax, 0x20500000
push eax
push dword [ebp - 0x44c]
mov dword [ebp - 0x480], eax
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push dword [ebp - 0x448]
mov eax, ebx
mov ecx, edi
push 0
push dword [ebp - 0x48]
or eax, 0x10500000
push dword [ebp - 0x44]
mov dword [ebp - 0xc], eax
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
xor eax, eax
mov ecx, ebx
push eax
push eax
push dword [ebp - 0x48]
or ecx, 0x10100000
push dword [ebp - 0x40]
mov dword [ebp - 0x46c], ecx
push ecx
push dword [ebp - 0x44c]
mov ecx, edi
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push dword [ebp - 0x448]
mov ecx, edi
push 0
push dword [ebp - 0x40]
push dword [ebp - 0x3c]
push dword [ebp - 0xc]
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 8
push 0
push dword [ebp - 0x3c]
mov ecx, edi
push dword [ebp - 0x38]
push dword [ebp - 0x46c]
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0
push dword [ebp - 0x38]
or ebx, 0x20400000
mov ecx, edi
push dword [ebp - 0x44]
push dword [ebp - 0x34]
push ebx
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
push dword [ebp - 0x2c]
push dword [ebp - 0x34]
push dword [ebp - 0x450]
push dword [ebp - 0x480]
jmp 0x10140c9a
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
cmp dword [ebp - 0x10], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov ecx, dword [edi + 8]
fld qword [0x10036020]
push ecx
push ecx
fstp qword [esp]
push esi
push esi
push dword [ecx + 0x78]
call fcn.1019630c
mov ecx, dword [edi + 8]
fld qword [0x10035d60]
push ecx
push ecx
fstp qword [esp]
push esi
push esi
push dword [ecx + 0x78]
mov dword [ebp - 0xc], eax
call fcn.1019630c
imul ecx, ebx, 0xe
mov dword [ebp - 0x46c], eax
push ecx
mov ecx, edi
call fcn.1014b855
test eax, eax
je 0x10145f7b
mov edx, ebx
mov ecx, esi
shl edx, 2
mov dword [ebp + ecx*4 - 0x60], eax
inc ecx
add eax, edx
cmp ecx, 0xe
jb 0x10145a60
mov eax, esi
mov dword [ebp - 0x454], esi
push ebx
push dword [ebp + eax*4 - 0x60]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
mov eax, dword [ebp - 0x454]
inc eax
mov dword [ebp - 0x454], eax
cmp eax, 0xa
jb 0x10145a74
mov eax, dword [ebp - 0x34]
test ebx, ebx
je 0x10145b05
mov edx, dword [ebp - 0x38]
mov ecx, eax
mov esi, dword [ebp - 0x30]
sub edx, eax
mov edi, dword [ebp - 0x2c]
sub esi, eax
mov dword [ebp - 0x45c], edi
sub dword [ebp - 0x45c], eax
mov edi, dword [ebp - 0x458]
mov dword [ebp - 0x454], ebx
mov ebx, dword [ebp - 0x45c]
mov eax, dword [edi + 0x24]
mov dword [edx + ecx], eax
mov eax, dword [edi + 0x20]
mov dword [ecx], eax
mov eax, dword [ebp - 0xc]
mov dword [esi + ecx], eax
mov eax, dword [ebp - 0x46c]
mov dword [ebx + ecx], eax
add ecx, dword [ebp - 0x448]
sub dword [ebp - 0x454], 1
jne 0x10145ad6
mov ebx, dword [ebp - 0x468]
push ebx
push dword [ebp - 0x450]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
xor eax, eax
and ebx, 0xfffff
push eax
push eax
push dword [ebp - 0x28]
mov eax, ebx
mov ecx, edi
push dword [ebp - 0x60]
or eax, 0x10100000
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0
push dword [ebp - 0x60]
mov eax, ebx
mov ecx, edi
push dword [ebp - 0x24]
or eax, 0x20400000
push dword [ebp - 0x5c]
mov dword [ebp - 0x454], eax
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0
push dword [ebp - 0x60]
mov ecx, edi
push dword [ebp - 0x20]
push dword [ebp - 0x58]
push dword [ebp - 0x454]
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
xor eax, eax
mov ecx, edi
push eax
push eax
push dword [ebp - 0x5c]
mov eax, ebx
push dword [ebp - 0x54]
or eax, 0x10300000
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0
push dword [ebp - 0x54]
mov eax, ebx
mov ecx, edi
push dword [ebp - 0x58]
or eax, 0x20500000
push dword [ebp - 0x50]
mov dword [ebp - 0x45c], eax
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push dword [ebp - 0x448]
mov eax, ebx
mov ecx, edi
push dword [ebp - 0x38]
or eax, 0x20100000
push dword [ebp - 0x50]
push dword [ebp - 0x4c]
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0x14
push dword [ebp - 0x34]
or ebx, 0x20000000
mov ecx, edi
push dword [ebp - 0x4c]
push dword [ebp - 0x48]
push ebx
mov ebx, dword [ebp - 0x44c]
push ebx
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 8
push dword [ebp - 0x30]
mov ecx, edi
push dword [ebp - 0x48]
push dword [ebp - 0x44]
push dword [ebp - 0x45c]
push ebx
call fcn.1014bb91
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
push dword [ebp - 0x2c]
mov ecx, edi
push dword [ebp - 0x44]
push dword [ebp - 0x40]
push dword [ebp - 0x454]
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push 0x14
push dword [ebp - 0x48]
mov ecx, edi
push dword [ebp - 0x48]
push dword [ebp - 0x3c]
push dword [ebp - 0x45c]
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
push dword [ebp - 0x3c]
push dword [ebp - 0x40]
push dword [ebp - 0x450]
push dword [ebp - 0x45c]
jmp 0x10140c9a
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
push ebx
mov ecx, edi
call fcn.1014b855
mov dword [ebp - 0x454], eax
test eax, eax
je 0x10145f7b
push ebx
push eax
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
push dword [ebp - 0x450]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push dword [ebp - 0x448]
and ebx, 0xfffff
mov ecx, edi
push 0
push dword [ebp - 0x28]
mov eax, ebx
push dword [ebp - 0x454]
or eax, 0x10700000
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push dword [ebp - 0x448]
or ebx, 0x10300000
push 0
push dword [ebp - 0x454]
jmp 0x10140a25
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
push ebx
push edx
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0x17
push dword [ebp - 0x28]
and ebx, 0xfffff
push dword [ebp - 0x24]
or ebx, 0x20300000
push dword [ebp - 0x450]
jmp 0x1014166c
cmp dword [ebp - 0x18], 0
je 0x10146f86
imul eax, ebx, 3
mov ecx, edi
push eax
call fcn.1014b855
test eax, eax
je 0x10145f7b
mov ecx, ebx
shl ecx, 2
mov dword [ebp + esi*4 - 0x14], eax
inc esi
add eax, ecx
cmp esi, 3
jb 0x10145e4d
push ebx
push dword [ebp - 0x14]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
push dword [ebp - 0x10]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
push dword [ebp - 0xc]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
push dword [ebp - 0x450]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
push dword [ebp - 0x10]
mov ecx, edi
push dword [ebp - 0x14]
push dword [ebp - 0x28]
push dword [ebp - 0x44c]
call fcn.10149317
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
xor eax, eax
and ebx, 0xfffff
push eax
push eax
push dword [ebp - 0x10]
mov eax, ebx
mov ecx, edi
push dword [ebp - 0xc]
or eax, 0x10300000
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0
push dword [ebp - 0xc]
push dword [ebp - 0x14]
jmp 0x10143663
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
fld qword [0x10035d58]
mov esi, dword [edi + 8]
call sub.msvcrt.dll__CIlog
fld1
xor eax, eax
fdivrp st(1)
push ecx
push ecx
mov ecx, esi
fstp qword [esp]
push eax
push eax
push dword [esi + 0x78]
call fcn.1019630c
imul ecx, ebx, 9
mov esi, eax
push ecx
mov ecx, edi
call fcn.1014b855
mov ecx, eax
test ecx, ecx
jne 0x10145f8a
mov dword [ebp - 0x444], 0x8007000e
jmp 0x10146f90
mov edx, ebx
xor eax, eax
shl edx, 2
mov dword [ebp + eax*4 - 0x4c], ecx
inc eax
add ecx, edx
cmp eax, 9
jb 0x10145f91
test ebx, ebx
je 0x10145fb0
mov edi, dword [ebp - 0x2c]
mov ecx, ebx
mov eax, esi
rep stosd dword es:[edi], eax
mov edi, dword [ebp - 0x458]
push ebx
push dword [ebp - 0x4c]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
push dword [ebp - 0x48]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
push dword [ebp - 0x44]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
push dword [ebp - 0x40]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
push dword [ebp - 0x3c]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
push dword [ebp - 0x38]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
push dword [ebp - 0x34]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
push dword [ebp - 0x30]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push ebx
push dword [ebp - 0x450]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0
push dword [ebp - 0x2c]
and ebx, 0xfffff
mov ecx, edi
push dword [ebp - 0x28]
mov eax, ebx
push dword [ebp - 0x4c]
or eax, 0x20500000
push eax
push dword [ebp - 0x44c]
mov dword [ebp - 0x480], eax
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push dword [ebp - 0x448]
mov eax, ebx
mov ecx, edi
push 0
push dword [ebp - 0x4c]
or eax, 0x10500000
push dword [ebp - 0x48]
mov dword [ebp - 0xc], eax
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
xor eax, eax
mov ecx, ebx
push eax
push eax
push dword [ebp - 0x4c]
or ecx, 0x10100000
push dword [ebp - 0x44]
mov dword [ebp - 0x46c], ecx
push ecx
push dword [ebp - 0x44c]
mov ecx, edi
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push dword [ebp - 0x448]
mov ecx, edi
push 0
push dword [ebp - 0x44]
push dword [ebp - 0x40]
push dword [ebp - 0xc]
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 8
push 0
push dword [ebp - 0x40]
mov ecx, edi
push dword [ebp - 0x3c]
push dword [ebp - 0x46c]
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 0
push dword [ebp - 0x3c]
mov eax, ebx
mov ecx, edi
push dword [ebp - 0x48]
or eax, 0x20400000
push dword [ebp - 0x38]
mov dword [ebp - 0xc], eax
push eax
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push dword [ebp - 0x448]
mov ecx, edi
push dword [ebp - 0x40]
push dword [ebp - 0x48]
push dword [ebp - 0x34]
push dword [ebp - 0xc]
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push dword [ebp - 0x448]
or ebx, 0x10300000
mov ecx, edi
push 0
push dword [ebp - 0x34]
push dword [ebp - 0x30]
push ebx
push dword [ebp - 0x44c]
call fcn.1014bb91
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
push dword [ebp - 0x30]
push dword [ebp - 0x38]
push dword [ebp - 0x450]
push dword [ebp - 0x480]
jmp 0x10140c9a
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov edx, dword [ebp - 0x24]
mov ecx, esi
mov edi, dword [ebp - 0x28]
mov eax, dword [edi]
mov dword [ebp + ecx*4 - 0x104], eax
mov eax, dword [edx]
mov dword [ebp + ecx*4 - 0xfc], eax
inc ecx
cmp ecx, 2
jb 0x1014627b
mov eax, dword [edx]
mov edi, dword [ebp - 0x458]
mov ecx, edi
mov dword [ebp - 0x528], eax
lea eax, [ebp - 0x528]
push 1
push eax
push esi
call fcn.1014cee7
mov eax, dword [edi + 8]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x45c], edx
mov ecx, dword [edx + eax*4]
mov dword [ebp - 0x454], ecx
mov eax, dword [ecx + 4]
mov ebx, dword [ecx + 4]
mov dword [ebp - 0xc], eax
mov eax, dword [edi + 8]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ebx*4]
mov ebx, dword [ebp - 0x468]
test byte [eax + 4], 0x10
je 0x10146385
cmp dword [ecx + 0x10], esi
jne 0x10146385
mov eax, dword [edi + 8]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x460], ecx
test ecx, ecx
je 0x10146364
mov eax, dword [ebp - 0x460]
xor ecx, ecx
inc ecx
mov edx, dword [edx]
mov ebx, dword [ebp - 0xc]
cmp ebx, dword [edx + 4]
mov ebx, dword [ebp - 0x468]
jne 0x10146348
mov eax, dword [ebp - 0x454]
mov eax, dword [eax + 8]
cmp eax, dword [edx + 8]
jne 0x10146342
mov eax, dword [ebp - 0x454]
mov eax, dword [eax + 0xc]
cmp eax, dword [edx + 0xc]
jne 0x10146342
cmp dword [edx + 0x10], ecx
je 0x1014635e
mov eax, dword [ebp - 0x460]
mov edx, dword [ebp - 0x45c]
inc esi
add edx, 4
mov dword [ebp - 0x45c], edx
cmp esi, eax
jb 0x10146311
jmp 0x10146364
mov dword [ebp - 0xf8], esi
mov eax, dword [edi + 8]
cmp esi, dword [eax + 8]
jne 0x10146385
push 0x1002ef60
push 0xdb5
push dword [ebp - 0x44c]
push edi
call fcn.1014efdd
add esp, 0x10
push ebx
push dword [ebp - 0x450]
mov ecx, edi
call fcn.1014b98a
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
lea eax, [ebp - 0xfc]
push eax
lea eax, [ebp - 0x104]
push eax
push dword [ebp - 0x450]
push 0x60000002
jmp 0x101419be
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
cmp dword [ebp - 0x10], 0
je 0x10146f86
cmp dword [ebp - 0xc], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov ecx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
mov eax, dword [edx]
mov dword [ebp + esi*4 - 0x278], eax
mov eax, dword [ebx]
mov dword [ebp + esi*4 - 0x270], eax
mov eax, dword [edi]
mov dword [ebp + esi*4 - 0x268], eax
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x260], eax
inc esi
cmp esi, 2
jb 0x10146400
mov ebx, dword [ebp - 0x468]
mov edx, dword [ebp - 0x450]
mov edi, dword [ebp - 0x458]
mov ecx, edi
push ebx
push edx
call fcn.1014b98a
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
lea eax, [ebp - 0x270]
push eax
lea eax, [ebp - 0x278]
push eax
push dword [ebp - 0x450]
push 0x60100002
jmp 0x101419be
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x448]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x360], eax
inc esi
cmp esi, edi
jb 0x1014649b
mov edi, dword [ebp - 0x458]
mov ecx, edi
push ebx
push edx
call fcn.1014b98a
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
push dword [ebp - 0x24]
lea eax, [ebp - 0x360]
push eax
push dword [ebp - 0x450]
push 0x60200004
jmp 0x101419be
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x448]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x380], eax
inc esi
cmp esi, edi
jb 0x1014650a
mov edi, dword [ebp - 0x458]
mov ecx, edi
push ebx
push edx
call fcn.1014b98a
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
push dword [ebp - 0x24]
lea eax, [ebp - 0x380]
push eax
push dword [ebp - 0x450]
push 0x60300004
jmp 0x101419be
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x448]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x370], eax
inc esi
cmp esi, edi
jb 0x10146579
mov edi, dword [ebp - 0x458]
mov ecx, edi
push ebx
push edx
call fcn.1014b98a
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
push dword [ebp - 0x24]
lea eax, [ebp - 0x370]
push eax
push dword [ebp - 0x450]
push 0x60400004
jmp 0x101419be
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x594], eax
inc esi
cmp esi, 2
jb 0x101465e2
push ebx
push edx
mov ecx, edi
call fcn.1014b98a
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
push dword [ebp - 0x24]
lea eax, [ebp - 0x594]
push eax
push dword [ebp - 0x450]
push 0x60500002
jmp 0x101419be
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
cmp dword [ebp - 0x10], 0
je 0x10146f86
cmp dword [ebp - 0xc], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x250]
sub eax, ecx
mov dword [ebp - 0x454], 2
mov dword [ebp - 0x45c], eax
lea esi, [ebp - 0x258]
mov eax, dword [ebp - 0x20]
sub esi, ecx
mov edi, dword [ebp - 0x45c]
sub eax, ecx
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x248]
mov edx, dword [ebp - 0xc]
sub eax, ecx
mov dword [ebp - 0x46c], eax
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x46c]
sub eax, ecx
mov dword [ebp - 0x480], eax
lea eax, [ebp - 0x240]
sub eax, ecx
mov dword [ebp - 0x474], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [esi + ecx], eax
mov eax, dword [ecx]
mov dword [edi + ecx], eax
mov eax, dword [edx + ecx]
mov edi, dword [ebp - 0x474]
mov dword [ebx + ecx], eax
mov eax, dword [ebp - 0x480]
mov eax, dword [eax + ecx]
mov dword [edi + ecx], eax
add ecx, dword [ebp - 0x448]
sub dword [ebp - 0x454], 1
mov edi, dword [ebp - 0x45c]
jne 0x101466b8
mov ebx, dword [ebp - 0x468]
mov edx, dword [ebp - 0x450]
mov edi, dword [ebp - 0x458]
mov ecx, edi
push ebx
push edx
call fcn.1014b98a
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
lea eax, [ebp - 0x250]
push eax
lea eax, [ebp - 0x258]
push eax
push dword [ebp - 0x450]
push 0x60600002
jmp 0x101419be
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x448]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x350], eax
inc esi
cmp esi, edi
jb 0x10146763
mov edi, dword [ebp - 0x458]
mov ecx, edi
push ebx
push edx
call fcn.1014b98a
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
push dword [ebp - 0x24]
lea eax, [ebp - 0x350]
push eax
push dword [ebp - 0x450]
push 0x60700004
jmp 0x101419be
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x448]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x340], eax
inc esi
cmp esi, edi
jb 0x101467d2
mov edi, dword [ebp - 0x458]
mov ecx, edi
push ebx
push edx
call fcn.1014b98a
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
push dword [ebp - 0x24]
lea eax, [ebp - 0x340]
push eax
push dword [ebp - 0x450]
push 0x60800004
jmp 0x101419be
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x448]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x330], eax
inc esi
cmp esi, edi
jb 0x10146841
mov edi, dword [ebp - 0x458]
mov ecx, edi
push ebx
push edx
call fcn.1014b98a
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
push dword [ebp - 0x24]
lea eax, [ebp - 0x330]
push eax
push dword [ebp - 0x450]
push 0x60900004
jmp 0x101419be
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x2f0], eax
inc esi
cmp esi, 3
jb 0x101468aa
push ebx
push edx
mov ecx, edi
call fcn.1014b98a
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
push dword [ebp - 0x24]
lea eax, [ebp - 0x2f0]
push eax
push dword [ebp - 0x450]
push 0x60a00003
jmp 0x101419be
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
cmp dword [ebp - 0x10], 0
je 0x10146f86
cmp dword [ebp - 0xc], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x3b4]
sub eax, ecx
mov dword [ebp - 0x454], 3
mov dword [ebp - 0x45c], eax
lea esi, [ebp - 0x3c0]
mov eax, dword [ebp - 0x20]
sub esi, ecx
mov edi, dword [ebp - 0x45c]
sub eax, ecx
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x3a8]
mov ebx, dword [ebp - 0xc]
sub eax, ecx
mov dword [ebp - 0x46c], eax
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x46c]
sub eax, ecx
mov dword [ebp - 0x480], eax
lea eax, [ebp - 0x39c]
sub eax, ecx
mov dword [ebp - 0x474], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [esi + ecx], eax
mov eax, dword [ecx]
mov dword [edi + ecx], eax
mov eax, dword [ecx + ebx]
mov edi, dword [ebp - 0x474]
mov dword [edx + ecx], eax
mov eax, dword [ebp - 0x480]
mov eax, dword [ecx + eax]
mov dword [edi + ecx], eax
add ecx, dword [ebp - 0x448]
sub dword [ebp - 0x454], 1
mov edi, dword [ebp - 0x45c]
jne 0x10146980
mov ebx, dword [ebp - 0x468]
mov edx, dword [ebp - 0x450]
mov edi, dword [ebp - 0x458]
mov ecx, edi
push ebx
push edx
call fcn.1014b98a
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
lea eax, [ebp - 0x3b4]
push eax
lea eax, [ebp - 0x3c0]
push eax
push dword [ebp - 0x450]
push 0x60b00003
jmp 0x101419be
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x448]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x320], eax
inc esi
cmp esi, edi
jb 0x10146a2b
mov edi, dword [ebp - 0x458]
mov ecx, edi
push ebx
push edx
call fcn.1014b98a
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
push dword [ebp - 0x24]
lea eax, [ebp - 0x320]
push eax
push dword [ebp - 0x450]
push 0x60c00004
jmp 0x101419be
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x448]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x310], eax
inc esi
cmp esi, edi
jb 0x10146a9a
mov edi, dword [ebp - 0x458]
mov ecx, edi
push ebx
push edx
call fcn.1014b98a
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
push dword [ebp - 0x24]
lea eax, [ebp - 0x310]
push eax
push dword [ebp - 0x450]
push 0x60d00004
jmp 0x101419be
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x448]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x300], eax
inc esi
cmp esi, edi
jb 0x10146b09
mov edi, dword [ebp - 0x458]
mov ecx, edi
push ebx
push edx
call fcn.1014b98a
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
push dword [ebp - 0x24]
lea eax, [ebp - 0x300]
push eax
push dword [ebp - 0x450]
push 0x60e00004
jmp 0x101419be
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov ecx, dword [ebp - 0x28]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x2e4], eax
inc esi
cmp esi, 3
jb 0x10146b72
push ebx
push edx
mov ecx, edi
call fcn.1014b98a
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
push dword [ebp - 0x24]
lea eax, [ebp - 0x2e4]
push eax
push dword [ebp - 0x450]
push 0x60f00003
jmp 0x101419be
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
cmp dword [ebp - 0x10], 0
je 0x10146f86
cmp dword [ebp - 0xc], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x3e4]
sub eax, ecx
mov dword [ebp - 0x454], 3
mov dword [ebp - 0x45c], eax
lea esi, [ebp - 0x3f0]
mov eax, dword [ebp - 0x20]
sub esi, ecx
mov edi, dword [ebp - 0x45c]
sub eax, ecx
mov dword [ebp - 0xc], eax
lea eax, [ebp - 0x3d8]
mov ebx, dword [ebp - 0xc]
sub eax, ecx
mov dword [ebp - 0x46c], eax
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x46c]
sub eax, ecx
mov dword [ebp - 0x480], eax
lea eax, [ebp - 0x3cc]
sub eax, ecx
mov dword [ebp - 0x474], eax
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
mov dword [esi + ecx], eax
mov eax, dword [ecx]
mov dword [edi + ecx], eax
mov eax, dword [ebx + ecx]
mov edi, dword [ebp - 0x474]
mov dword [edx + ecx], eax
mov eax, dword [ebp - 0x480]
mov eax, dword [eax + ecx]
mov dword [edi + ecx], eax
add ecx, dword [ebp - 0x448]
sub dword [ebp - 0x454], 1
mov edi, dword [ebp - 0x45c]
jne 0x10146c48
mov ebx, dword [ebp - 0x468]
mov edx, dword [ebp - 0x450]
mov edi, dword [ebp - 0x458]
mov ecx, edi
push ebx
push edx
call fcn.1014b98a
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
lea eax, [ebp - 0x3e4]
push eax
lea eax, [ebp - 0x3f0]
push eax
push dword [ebp - 0x450]
push 0x61000003
jmp 0x101419be
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x448]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x410], eax
inc esi
cmp esi, edi
jb 0x10146cf3
mov edi, dword [ebp - 0x458]
mov ecx, edi
push ebx
push edx
call fcn.1014b98a
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
push dword [ebp - 0x24]
lea eax, [ebp - 0x410]
push eax
push dword [ebp - 0x450]
push 0x61100004
jmp 0x101419be
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x448]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x390], eax
inc esi
cmp esi, edi
jb 0x10146d62
mov edi, dword [ebp - 0x458]
mov ecx, edi
push ebx
push edx
call fcn.1014b98a
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
push dword [ebp - 0x24]
lea eax, [ebp - 0x390]
push eax
push dword [ebp - 0x450]
push 0x61200004
jmp 0x101419be
cmp dword [ebp - 0x18], 0
je 0x10146f86
cmp dword [ebp - 0x14], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x448]
mov eax, dword [ecx]
mov dword [ebp + esi*4 - 0x400], eax
inc esi
cmp esi, edi
jb 0x10146dd1
mov edi, dword [ebp - 0x458]
mov ecx, edi
push ebx
push edx
call fcn.1014b98a
mov esi, eax
xor ebx, ebx
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f92
push ebx
push dword [ebp - 0x24]
lea eax, [ebp - 0x400]
push eax
push dword [ebp - 0x450]
push 0x61300004
jmp 0x101419be
mov ebx, dword [ebp - 0x18]
test ebx, ebx
je 0x10146f86
test edx, edx
je 0x10141698
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x460], esi
test eax, eax
je 0x10141698
mov ecx, dword [ebx + 0x14]
mov edi, dword [ebp - 0x44c]
mov dword [ebp - 0x454], ecx
cmp dword [ebp - 0x454], 0
mov ecx, esi
mov dword [ebp - 0x45c], ecx
jbe 0x10146ea7
mov eax, dword [ebx + 0x18]
mov edx, dword [ebp - 0x28]
imul eax, ecx
mov ecx, dword [edi + 0x18]
imul ecx, dword [ebp - 0x460]
add eax, dword [ebp - 0x460]
add ecx, dword [ebp - 0x45c]
mov eax, dword [edx + eax*4]
mov edx, dword [ebp - 0x450]
mov dword [edx + ecx*4], eax
mov ecx, dword [ebp - 0x45c]
mov eax, dword [ebx + 0x14]
inc ecx
mov dword [ebp - 0x45c], ecx
mov dword [ebp - 0x454], eax
cmp ecx, eax
jb 0x10146e5f
mov eax, dword [ebx + 0x18]
mov ecx, dword [ebp - 0x460]
inc ecx
mov dword [ebp - 0x460], ecx
cmp ecx, eax
jb 0x10146e4e
mov edi, dword [ebp - 0x458]
jmp 0x10141698
cmp dword [ebp - 0x18], 0
je 0x10146f86
test edx, edx
je 0x10141698
mov ecx, dword [edi + 8]
fld qword [0x10035e88]
push ecx
push ecx
fstp qword [esp]
push esi
push esi
push dword [ecx + 0x78]
call fcn.1019630c
mov edx, dword [ebp - 0x28]
push dword [ebp - 0x448]
mov ebx, dword [ebp - 0x450]
push ebx
mov ecx, dword [edx + 8]
mov dword [ebp - 0x184], ecx
mov ecx, dword [edx + 4]
mov dword [ebp - 0x180], ecx
mov ecx, dword [edx]
mov dword [ebp - 0x17c], ecx
mov ecx, dword [edx + 0xc]
mov dword [ebp - 0x178], ecx
mov ecx, edi
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], eax
call fcn.1014b98a
mov esi, eax
mov dword [ebp - 0x444], esi
test esi, esi
js 0x10146f90
push 6
lea eax, [ebp - 0x154]
push eax
lea eax, [ebp - 0x184]
push eax
push ebx
push 0x20500004
jmp 0x1014166d
xor ebx, ebx
mov edx, ecx
jmp 0x101416a0
push dword [ecx + 0x38]
push 0x1002efb4
push 0xdac
push ecx
push edi
call fcn.1014ef68
add esp, 0x14
mov dword [ebp - 0x444], 0x80004005
xor ebx, ebx
mov eax, dword [ebp - 0x52c]
mov esi, dword [ebp - 0x448]
mov dword [edi + 0x1c], eax
mov eax, dword [ebp - 0x534]
mov dword [edi + 0x64], eax
push dword [ebp + ebx*4 - 0x28]
call sub.PhotoBase.dll_void___cdecl_BasePrivate::Delete_void__
inc ebx
pop ecx
cmp ebx, esi
jb 0x10146faa
mov eax, dword [ebp - 0x444]
jmp 0x10146fc6
mov eax, 0x80004005
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.101aa740
leave
ret 8