423f8d:	83 7d 8c 00          	cmpl   $0x0,-0x74(%ebp)
423f91:	74 08                	je     0x423f9b
423f93:	ff 75 8c             	push   -0x74(%ebp)
423f96:	e8 54 15 02 00       	call   0x4454ef
423f9b:	83 7d a8 00          	cmpl   $0x0,-0x58(%ebp)
423f9f:	74 08                	je     0x423fa9
423fa1:	ff 75 a8             	push   -0x58(%ebp)
423fa4:	e8 46 15 02 00       	call   0x4454ef
423fa9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
423fac:	8b c6                	mov    %esi,%eax
423fae:	5f                   	pop    %edi
423faf:	5e                   	pop    %esi
423fb0:	33 cd                	xor    %ebp,%ecx
423fb2:	5b                   	pop    %ebx
423fb3:	e8 7e 9e 00 00       	call   0x42de36
423fb8:	8b e5                	mov    %ebp,%esp
423fba:	5d                   	pop    %ebp
423fbb:	c2 08 00             	ret    $0x8
423fbe:	55                   	push   %ebp
423fbf:	8b ec                	mov    %esp,%ebp
423fc1:	81 ec 5c 06 00 00    	sub    $0x65c,%esp
423fc7:	a1 08 a0 46 00       	mov    0x46a008,%eax
423fcc:	33 c5                	xor    %ebp,%eax
423fce:	89 45 fc             	mov    %eax,-0x4(%ebp)
423fd1:	8b 45 08             	mov    0x8(%ebp),%eax
423fd4:	89 85 a8 f9 ff ff    	mov    %eax,-0x658(%ebp)
423fda:	8b 45 10             	mov    0x10(%ebp),%eax
423fdd:	53                   	push   %ebx
423fde:	8b 5d 14             	mov    0x14(%ebp),%ebx
423fe1:	89 85 d0 f9 ff ff    	mov    %eax,-0x630(%ebp)
423fe7:	8b 45 18             	mov    0x18(%ebp),%eax
423fea:	56                   	push   %esi
423feb:	89 85 a4 f9 ff ff    	mov    %eax,-0x65c(%ebp)
423ff1:	33 f6                	xor    %esi,%esi
423ff3:	8b 45 1c             	mov    0x1c(%ebp),%eax
423ff6:	57                   	push   %edi
423ff7:	8b 7d 0c             	mov    0xc(%ebp),%edi
423ffa:	89 85 ac f9 ff ff    	mov    %eax,-0x654(%ebp)
424000:	8b 45 20             	mov    0x20(%ebp),%eax
424003:	68 28 06 00 00       	push   $0x628
424008:	89 85 b0 f9 ff ff    	mov    %eax,-0x650(%ebp)
42400e:	8d 85 d4 f9 ff ff    	lea    -0x62c(%ebp),%eax
424014:	56                   	push   %esi
424015:	50                   	push   %eax
424016:	89 9d b4 f9 ff ff    	mov    %ebx,-0x64c(%ebp)
42401c:	e8 4f b6 00 00       	call   0x42f670
424021:	83 c4 0c             	add    $0xc,%esp
424024:	89 b5 bc f9 ff ff    	mov    %esi,-0x644(%ebp)
42402a:	89 b5 b8 f9 ff ff    	mov    %esi,-0x648(%ebp)
424030:	89 b5 c0 f9 ff ff    	mov    %esi,-0x640(%ebp)
424036:	89 b5 c8 f9 ff ff    	mov    %esi,-0x638(%ebp)
42403c:	89 b5 cc f9 ff ff    	mov    %esi,-0x634(%ebp)
424042:	89 b5 c4 f9 ff ff    	mov    %esi,-0x63c(%ebp)
424048:	6a 04                	push   $0x4
42404a:	5a                   	pop    %edx
42404b:	85 db                	test   %ebx,%ebx
42404d:	0f 84 8f 00 00 00    	je     0x4240e2
424053:	83 7f 18 01          	cmpl   $0x1,0x18(%edi)
424057:	75 53                	jne    0x4240ac
424059:	8b 4f 08             	mov    0x8(%edi),%ecx
42405c:	8d 85 b8 f9 ff ff    	lea    -0x648(%ebp),%eax
424062:	50                   	push   %eax
424063:	68 a8 eb 44 00       	push   $0x44eba8
424068:	6a 02                	push   $0x2
42406a:	39 71 14             	cmp    %esi,0x14(%ecx)
42406d:	58                   	pop    %eax
42406e:	0f 45 c2             	cmovne %edx,%eax
424071:	50                   	push   %eax
424072:	56                   	push   %esi
424073:	ff b1 90 00 00 00    	push   0x90(%ecx)
424079:	e8 7a e8 01 00       	call   0x4428f8
42407e:	85 c0                	test   %eax,%eax
424080:	79 5d                	jns    0x4240df
424082:	6a 02                	push   $0x2
424084:	e8 0f 00 ff ff       	call   0x414098
424089:	50                   	push   %eax
42408a:	ff 77 18             	push   0x18(%edi)
42408d:	e8 1e fb fe ff       	call   0x413bb0
424092:	50                   	push   %eax
424093:	8b 47 08             	mov    0x8(%edi),%eax
424096:	ff 30                	push   (%eax)
424098:	68 3e 01 00 20       	push   $0x2000013e
42409d:	6a 02                	push   $0x2
42409f:	e8 6b 14 fe ff       	call   0x40550f
4240a4:	83 c4 14             	add    $0x14,%esp
4240a7:	e9 1a 05 00 00       	jmp    0x4245c6
4240ac:	83 7f 18 02          	cmpl   $0x2,0x18(%edi)
4240b0:	75 30                	jne    0x4240e2
4240b2:	8b 4f 08             	mov    0x8(%edi),%ecx
4240b5:	8d 85 b8 f9 ff ff    	lea    -0x648(%ebp),%eax
4240bb:	50                   	push   %eax
4240bc:	68 a8 eb 44 00       	push   $0x44eba8
4240c1:	6a 02                	push   $0x2
4240c3:	39 71 14             	cmp    %esi,0x14(%ecx)
4240c6:	58                   	pop    %eax
4240c7:	0f 45 c2             	cmovne %edx,%eax
4240ca:	50                   	push   %eax
4240cb:	56                   	push   %esi
4240cc:	ff b1 90 00 00 00    	push   0x90(%ecx)
4240d2:	e8 21 e8 01 00       	call   0x4428f8
4240d7:	6a 04                	push   $0x4
4240d9:	85 c0                	test   %eax,%eax
4240db:	78 04                	js     0x4240e1
4240dd:	eb a5                	jmp    0x424084
4240df:	6a 04                	push   $0x4
4240e1:	5a                   	pop    %edx
4240e2:	8b 5f 10             	mov    0x10(%edi),%ebx
4240e5:	23 da                	and    %edx,%ebx
4240e7:	c1 e3 0b             	shl    $0xb,%ebx
4240ea:	81 cb df 1f 00 00    	or     $0x1fdf,%ebx
4240f0:	83 7f 18 01          	cmpl   $0x1,0x18(%edi)
4240f4:	74 78                	je     0x42416e
4240f6:	8b 47 08             	mov    0x8(%edi),%eax
4240f9:	8d 8d c0 f9 ff ff    	lea    -0x640(%ebp),%ecx
4240ff:	51                   	push   %ecx
424100:	ff 70 24             	push   0x24(%eax)
424103:	ff 70 14             	push   0x14(%eax)
424106:	e8 7e 60 ff ff       	call   0x41a189
42410b:	8b f0                	mov    %eax,%esi
42410d:	85 f6                	test   %esi,%esi
42410f:	79 18                	jns    0x424129
424111:	8b 4f 08             	mov    0x8(%edi),%ecx
424114:	ff 31                	push   (%ecx)
424116:	68 c0 af 45 00       	push   $0x45afc0
42411b:	56                   	push   %esi
42411c:	e8 0e c0 01 00       	call   0x44012f
424121:	83 c4 0c             	add    $0xc,%esp
424124:	e9 9d 04 00 00       	jmp    0x4245c6
424129:	6a 01                	push   $0x1
42412b:	ff b5 c0 f9 ff ff    	push   -0x640(%ebp)
424131:	68 e8 c1 44 00       	push   $0x44c1e8
424136:	ff b5 d0 f9 ff ff    	push   -0x630(%ebp)
42413c:	e8 56 40 fe ff       	call   0x408197
424141:	8d 85 c8 f9 ff ff    	lea    -0x638(%ebp),%eax
424147:	50                   	push   %eax
424148:	8b 47 08             	mov    0x8(%edi),%eax
42414b:	8b 40 7c             	mov    0x7c(%eax),%eax
42414e:	8b 00                	mov    (%eax),%eax
424150:	ff 70 18             	push   0x18(%eax)
424153:	ff b5 c0 f9 ff ff    	push   -0x640(%ebp)
424159:	e8 1b ec fd ff       	call   0x402d79
42415e:	8b f0                	mov    %eax,%esi
424160:	85 f6                	test   %esi,%esi
424162:	79 0a                	jns    0x42416e
424164:	68 34 c2 45 00       	push   $0x45c234
424169:	e9 50 04 00 00       	jmp    0x4245be
42416e:	8b 47 18             	mov    0x18(%edi),%eax
424171:	6a 01                	push   $0x1
424173:	99                   	cltd
424174:	52                   	push   %edx
424175:	50                   	push   %eax
424176:	68 30 c2 44 00       	push   $0x44c230
42417b:	ff b5 d0 f9 ff ff    	push   -0x630(%ebp)
424181:	e8 cc 3f fe ff       	call   0x408152
424186:	8d 85 d4 f9 ff ff    	lea    -0x62c(%ebp),%eax
42418c:	50                   	push   %eax
42418d:	ff b5 b4 f9 ff ff    	push   -0x64c(%ebp)
424193:	ff b5 ac f9 ff ff    	push   -0x654(%ebp)
424199:	ff b5 a8 f9 ff ff    	push   -0x658(%ebp)
42419f:	ff 77 14             	push   0x14(%edi)
4241a2:	ff b5 a4 f9 ff ff    	push   -0x65c(%ebp)
4241a8:	e8 5a e9 01 00       	call   0x442b07
4241ad:	8b f0                	mov    %eax,%esi
4241af:	85 f6                	test   %esi,%esi
4241b1:	79 0a                	jns    0x4241bd
4241b3:	68 50 c2 45 00       	push   $0x45c250
4241b8:	e9 01 04 00 00       	jmp    0x4245be
4241bd:	8b 47 0c             	mov    0xc(%edi),%eax
4241c0:	33 c9                	xor    %ecx,%ecx
4241c2:	85 c0                	test   %eax,%eax
4241c4:	74 30                	je     0x4241f6
4241c6:	66 39 08             	cmp    %cx,(%eax)
4241c9:	74 2b                	je     0x4241f6
4241cb:	51                   	push   %ecx
4241cc:	50                   	push   %eax
4241cd:	53                   	push   %ebx
4241ce:	e8 d2 e2 01 00       	call   0x4424a5
4241d3:	8b f0                	mov    %eax,%esi
4241d5:	85 f6                	test   %esi,%esi
4241d7:	79 1b                	jns    0x4241f4
4241d9:	ff 77 0c             	push   0xc(%edi)
4241dc:	8b 47 08             	mov    0x8(%edi),%eax
4241df:	ff 30                	push   (%eax)
4241e1:	68 7c c2 45 00       	push   $0x45c27c
4241e6:	56                   	push   %esi
4241e7:	e8 43 bf 01 00       	call   0x44012f
4241ec:	83 c4 10             	add    $0x10,%esp
4241ef:	e9 d2 03 00 00       	jmp    0x4245c6
4241f4:	33 c9                	xor    %ecx,%ecx
4241f6:	8b 47 08             	mov    0x8(%edi),%eax
4241f9:	8b 9d b4 f9 ff ff    	mov    -0x64c(%ebp),%ebx
4241ff:	51                   	push   %ecx
424200:	8d 8d cc f9 ff ff    	lea    -0x634(%ebp),%ecx
424206:	51                   	push   %ecx
424207:	53                   	push   %ebx
424208:	ff b5 d0 f9 ff ff    	push   -0x630(%ebp)
42420e:	ff b0 b8 00 00 00    	push   0xb8(%eax)
424214:	ff b0 b4 00 00 00    	push   0xb4(%eax)
42421a:	e8 31 f5 ff ff       	call   0x423750
42421f:	8b f0                	mov    %eax,%esi
424221:	85 f6                	test   %esi,%esi
424223:	79 0a                	jns    0x42422f
424225:	68 b0 c2 45 00       	push   $0x45c2b0
42422a:	e9 8f 03 00 00       	jmp    0x4245be
42422f:	8b 47 08             	mov    0x8(%edi),%eax
424232:	8d 8d c4 f9 ff ff    	lea    -0x63c(%ebp),%ecx
424238:	6a 01                	push   $0x1
42423a:	51                   	push   %ecx
42423b:	53                   	push   %ebx
42423c:	8b 9d d0 f9 ff ff    	mov    -0x630(%ebp),%ebx
424242:	53                   	push   %ebx
424243:	ff b0 b8 00 00 00    	push   0xb8(%eax)
424249:	ff b0 b4 00 00 00    	push   0xb4(%eax)
42424f:	e8 fc f4 ff ff       	call   0x423750
424254:	8b f0                	mov    %eax,%esi
424256:	85 f6                	test   %esi,%esi
424258:	79 12                	jns    0x42426c
42425a:	68 e0 c2 45 00       	push   $0x45c2e0
42425f:	56                   	push   %esi
424260:	e8 ca be 01 00       	call   0x44012f
424265:	59                   	pop    %ecx
424266:	59                   	pop    %ecx
424267:	e9 60 03 00 00       	jmp    0x4245cc
42426c:	8d 85 cc f9 ff ff    	lea    -0x634(%ebp),%eax
424272:	50                   	push   %eax
424273:	ff 77 1c             	push   0x1c(%edi)
424276:	ff 77 08             	push   0x8(%edi)
424279:	e8 9d e8 ff ff       	call   0x422b1b
42427e:	8b f0                	mov    %eax,%esi
424280:	85 f6                	test   %esi,%esi
424282:	79 07                	jns    0x42428b
424284:	68 18 c3 45 00       	push   $0x45c318
424289:	eb d4                	jmp    0x42425f
42428b:	8d 85 c4 f9 ff ff    	lea    -0x63c(%ebp),%eax
424291:	50                   	push   %eax
424292:	ff 77 1c             	push   0x1c(%edi)
424295:	ff 77 08             	push   0x8(%edi)
424298:	e8 7e e8 ff ff       	call   0x422b1b
42429d:	8b f0                	mov    %eax,%esi
42429f:	85 f6                	test   %esi,%esi
4242a1:	79 07                	jns    0x4242aa
4242a3:	68 58 c3 45 00       	push   $0x45c358
4242a8:	eb b5                	jmp    0x42425f
4242aa:	8d 85 cc f9 ff ff    	lea    -0x634(%ebp),%eax
4242b0:	50                   	push   %eax
4242b1:	ff 77 20             	push   0x20(%edi)
4242b4:	ff 77 08             	push   0x8(%edi)
4242b7:	e8 c4 eb ff ff       	call   0x422e80
4242bc:	8b f0                	mov    %eax,%esi
4242be:	85 f6                	test   %esi,%esi
4242c0:	79 07                	jns    0x4242c9
4242c2:	68 a0 c3 45 00       	push   $0x45c3a0
4242c7:	eb 96                	jmp    0x42425f
4242c9:	8d 85 c4 f9 ff ff    	lea    -0x63c(%ebp),%eax
4242cf:	50                   	push   %eax
4242d0:	ff 77 20             	push   0x20(%edi)
4242d3:	ff 77 08             	push   0x8(%edi)
4242d6:	e8 a5 eb ff ff       	call   0x422e80
4242db:	8b f0                	mov    %eax,%esi
4242dd:	85 f6                	test   %esi,%esi
4242df:	79 0a                	jns    0x4242eb
4242e1:	68 d4 c3 45 00       	push   $0x45c3d4
4242e6:	e9 74 ff ff ff       	jmp    0x42425f
4242eb:	83 bd c4 f9 ff ff 00 	cmpl   $0x0,-0x63c(%ebp)
4242f2:	bb 24 b5 44 00       	mov    $0x44b524,%ebx
4242f7:	8b c3                	mov    %ebx,%eax
4242f9:	0f 45 85 c4 f9 ff ff 	cmovne -0x63c(%ebp),%eax
424300:	50                   	push   %eax
424301:	ff b5 c8 f9 ff ff    	push   -0x638(%ebp)
424307:	ff 77 18             	push   0x18(%edi)
42430a:	e8 a1 f8 fe ff       	call   0x413bb0
42430f:	50                   	push   %eax
424310:	8b 47 08             	mov    0x8(%edi),%eax
424313:	ff 30                	push   (%eax)
424315:	ff b5 b4 f9 ff ff    	push   -0x64c(%ebp)
42431b:	e8 82 ff fe ff       	call   0x4142a2
424320:	50                   	push   %eax
424321:	68 2d 01 00 20       	push   $0x2000012d
424326:	6a 02                	push   $0x2
424328:	e8 e2 11 fe ff       	call   0x40550f
42432d:	8b 47 18             	mov    0x18(%edi),%eax
424330:	83 c4 1c             	add    $0x1c,%esp
424333:	83 e8 01             	sub    $0x1,%eax
424336:	0f 84 f1 01 00 00    	je     0x42452d
42433c:	83 e8 01             	sub    $0x1,%eax
42433f:	74 29                	je     0x42436a
424341:	83 e8 01             	sub    $0x1,%eax
424344:	0f 84 8f 01 00 00    	je     0x4244d9
42434a:	83 e8 01             	sub    $0x1,%eax
42434d:	0f 84 cb 00 00 00    	je     0x42441e
424353:	83 e8 01             	sub    $0x1,%eax
424356:	0f 84 c2 00 00 00    	je     0x42441e
42435c:	83 e8 01             	sub    $0x1,%eax
42435f:	74 31                	je     0x424392
424361:	83 e8 01             	sub    $0x1,%eax
424364:	0f 85 5c 02 00 00    	jne    0x4245c6
42436a:	33 c0                	xor    %eax,%eax
42436c:	50                   	push   %eax
42436d:	68 60 c4 45 00       	push   $0x45c460
424372:	8d 85 cc f9 ff ff    	lea    -0x634(%ebp),%eax
424378:	50                   	push   %eax
424379:	e8 8b db fd ff       	call   0x401f09
42437e:	8b f0                	mov    %eax,%esi
424380:	85 f6                	test   %esi,%esi
424382:	0f 89 79 01 00 00    	jns    0x424501
424388:	68 90 c4 45 00       	push   $0x45c490
42438d:	e9 2c 02 00 00       	jmp    0x4245be
424392:	8b 47 08             	mov    0x8(%edi),%eax
424395:	33 db                	xor    %ebx,%ebx
424397:	39 98 c0 00 00 00    	cmp    %ebx,0xc0(%eax)
42439d:	75 22                	jne    0x4243c1
42439f:	53                   	push   %ebx
4243a0:	68 e8 c4 45 00       	push   $0x45c4e8
4243a5:	8d 85 cc f9 ff ff    	lea    -0x634(%ebp),%eax
4243ab:	50                   	push   %eax
4243ac:	e8 58 db fd ff       	call   0x401f09
4243b1:	8b f0                	mov    %eax,%esi
4243b3:	85 f6                	test   %esi,%esi
4243b5:	79 0a                	jns    0x4243c1
4243b7:	68 08 c5 45 00       	push   $0x45c508
4243bc:	e9 fd 01 00 00       	jmp    0x4245be
4243c1:	53                   	push   %ebx
4243c2:	68 40 c5 45 00       	push   $0x45c540
4243c7:	8d 85 cc f9 ff ff    	lea    -0x634(%ebp),%eax
4243cd:	50                   	push   %eax
4243ce:	e8 36 db fd ff       	call   0x401f09
4243d3:	8b f0                	mov    %eax,%esi
4243d5:	85 f6                	test   %esi,%esi
4243d7:	79 0a                	jns    0x4243e3
4243d9:	68 a0 c5 45 00       	push   $0x45c5a0
4243de:	e9 db 01 00 00       	jmp    0x4245be
4243e3:	8d 85 bc f9 ff ff    	lea    -0x644(%ebp),%eax
4243e9:	50                   	push   %eax
4243ea:	ff b5 cc f9 ff ff    	push   -0x634(%ebp)
4243f0:	ff b5 c8 f9 ff ff    	push   -0x638(%ebp)
4243f6:	e8 e4 e7 01 00       	call   0x442bdf
4243fb:	8b f0                	mov    %eax,%esi
4243fd:	85 f6                	test   %esi,%esi
4243ff:	79 0a                	jns    0x42440b
424401:	68 f4 c5 45 00       	push   $0x45c5f4
424406:	e9 b3 01 00 00       	jmp    0x4245be
42440b:	ff b5 c8 f9 ff ff    	push   -0x638(%ebp)
424411:	ff 77 08             	push   0x8(%edi)
424414:	e8 b6 ef ff ff       	call   0x4233cf
424419:	e9 a8 01 00 00       	jmp    0x4245c6
42441e:	83 7f 18 04          	cmpl   $0x4,0x18(%edi)
424422:	74 12                	je     0x424436
424424:	8b 47 08             	mov    0x8(%edi),%eax
424427:	33 c9                	xor    %ecx,%ecx
424429:	39 88 c0 00 00 00    	cmp    %ecx,0xc0(%eax)