470f3a:	0f 87 c9 07 00 00    	ja     0x471709
470f40:	52                   	push   %edx
470f41:	51                   	push   %ecx
470f42:	e8 2b 01 17 00       	call   0x5e1072
470f47:	83 c4 08             	add    $0x8,%esp
470f4a:	8b 55 bc             	mov    -0x44(%ebp),%edx
470f4d:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
470f54:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
470f5b:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
470f5f:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
470f63:	83 fa 10             	cmp    $0x10,%edx
470f66:	72 2c                	jb     0x470f94
470f68:	8b 4d a8             	mov    -0x58(%ebp),%ecx
470f6b:	42                   	inc    %edx
470f6c:	8b c1                	mov    %ecx,%eax
470f6e:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
470f74:	72 14                	jb     0x470f8a
470f76:	8b 49 fc             	mov    -0x4(%ecx),%ecx
470f79:	83 c2 23             	add    $0x23,%edx
470f7c:	2b c1                	sub    %ecx,%eax
470f7e:	83 c0 fc             	add    $0xfffffffc,%eax
470f81:	83 f8 1f             	cmp    $0x1f,%eax
470f84:	0f 87 7f 07 00 00    	ja     0x471709
470f8a:	52                   	push   %edx
470f8b:	51                   	push   %ecx
470f8c:	e8 e1 00 17 00       	call   0x5e1072
470f91:	83 c4 08             	add    $0x8,%esp
470f94:	8d 45 a8             	lea    -0x58(%ebp),%eax
470f97:	50                   	push   %eax
470f98:	8d 4e 10             	lea    0x10(%esi),%ecx
470f9b:	e8 40 26 fe ff       	call   0x4535e0
470fa0:	89 45 a0             	mov    %eax,-0x60(%ebp)
470fa3:	8d 45 d8             	lea    -0x28(%ebp),%eax
470fa6:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
470faa:	50                   	push   %eax
470fab:	8d 4e 10             	lea    0x10(%esi),%ecx
470fae:	e8 2d 26 fe ff       	call   0x4535e0
470fb3:	8b c8                	mov    %eax,%ecx
470fb5:	89 45 a4             	mov    %eax,-0x5c(%ebp)
470fb8:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
470fbc:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
470fc0:	72 05                	jb     0x470fc7
470fc2:	8b 09                	mov    (%ecx),%ecx
470fc4:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
470fc7:	8b 45 90             	mov    -0x70(%ebp),%eax
470fca:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
470fcd:	8b 55 a0             	mov    -0x60(%ebp),%edx
470fd0:	8b 80 50 03 00 00    	mov    0x350(%eax),%eax
470fd6:	8b 52 10             	mov    0x10(%edx),%edx
470fd9:	89 55 80             	mov    %edx,-0x80(%ebp)
470fdc:	8b 04 88             	mov    (%eax,%ecx,4),%eax
470fdf:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
470fe2:	8b 40 04             	mov    0x4(%eax),%eax
470fe5:	8b 04 88             	mov    (%eax,%ecx,4),%eax
470fe8:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
470feb:	8b 00                	mov    (%eax),%eax
470fed:	83 c0 08             	add    $0x8,%eax
470ff0:	89 45 a0             	mov    %eax,-0x60(%ebp)
470ff3:	74 26                	je     0x47101b
470ff5:	85 c9                	test   %ecx,%ecx
470ff7:	74 22                	je     0x47101b
470ff9:	8d 42 01             	lea    0x1(%edx),%eax
470ffc:	50                   	push   %eax
470ffd:	e8 7e 00 17 00       	call   0x5e1080
471002:	8b 4d a0             	mov    -0x60(%ebp),%ecx
471005:	8b 55 80             	mov    -0x80(%ebp),%edx
471008:	52                   	push   %edx
471009:	ff 75 a4             	push   -0x5c(%ebp)
47100c:	89 01                	mov    %eax,(%ecx)
47100e:	8d 4a 01             	lea    0x1(%edx),%ecx
471011:	51                   	push   %ecx
471012:	50                   	push   %eax
471013:	e8 68 75 ff ff       	call   0x468580
471018:	83 c4 14             	add    $0x14,%esp
47101b:	8b 55 ec             	mov    -0x14(%ebp),%edx
47101e:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
471022:	83 fa 10             	cmp    $0x10,%edx
471025:	72 2c                	jb     0x471053
471027:	8b 4d d8             	mov    -0x28(%ebp),%ecx
47102a:	42                   	inc    %edx
47102b:	8b c1                	mov    %ecx,%eax
47102d:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
471033:	72 14                	jb     0x471049
471035:	8b 49 fc             	mov    -0x4(%ecx),%ecx
471038:	83 c2 23             	add    $0x23,%edx
47103b:	2b c1                	sub    %ecx,%eax
47103d:	83 c0 fc             	add    $0xfffffffc,%eax
471040:	83 f8 1f             	cmp    $0x1f,%eax
471043:	0f 87 c0 06 00 00    	ja     0x471709
471049:	52                   	push   %edx
47104a:	51                   	push   %ecx
47104b:	e8 22 00 17 00       	call   0x5e1072
471050:	83 c4 08             	add    $0x8,%esp
471053:	8b 55 bc             	mov    -0x44(%ebp),%edx
471056:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
47105d:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
471064:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
471068:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
47106c:	83 fa 10             	cmp    $0x10,%edx
47106f:	72 2c                	jb     0x47109d
471071:	8b 4d a8             	mov    -0x58(%ebp),%ecx
471074:	42                   	inc    %edx
471075:	8b c1                	mov    %ecx,%eax
471077:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
47107d:	72 14                	jb     0x471093
47107f:	8b 49 fc             	mov    -0x4(%ecx),%ecx
471082:	83 c2 23             	add    $0x23,%edx
471085:	2b c1                	sub    %ecx,%eax
471087:	83 c0 fc             	add    $0xfffffffc,%eax
47108a:	83 f8 1f             	cmp    $0x1f,%eax
47108d:	0f 87 76 06 00 00    	ja     0x471709
471093:	52                   	push   %edx
471094:	51                   	push   %ecx
471095:	e8 d8 ff 16 00       	call   0x5e1072
47109a:	83 c4 08             	add    $0x8,%esp
47109d:	8d 45 a8             	lea    -0x58(%ebp),%eax
4710a0:	50                   	push   %eax
4710a1:	8d 4e 10             	lea    0x10(%esi),%ecx
4710a4:	e8 57 25 fe ff       	call   0x453600
4710a9:	89 45 a0             	mov    %eax,-0x60(%ebp)
4710ac:	8d 45 d8             	lea    -0x28(%ebp),%eax
4710af:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
4710b3:	50                   	push   %eax
4710b4:	8d 4e 10             	lea    0x10(%esi),%ecx
4710b7:	e8 44 25 fe ff       	call   0x453600
4710bc:	8b c8                	mov    %eax,%ecx
4710be:	89 45 a4             	mov    %eax,-0x5c(%ebp)
4710c1:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
4710c5:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
4710c9:	72 05                	jb     0x4710d0
4710cb:	8b 09                	mov    (%ecx),%ecx
4710cd:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
4710d0:	8b 45 90             	mov    -0x70(%ebp),%eax
4710d3:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
4710d6:	8b 55 a0             	mov    -0x60(%ebp),%edx
4710d9:	8b 80 50 03 00 00    	mov    0x350(%eax),%eax
4710df:	8b 52 10             	mov    0x10(%edx),%edx
4710e2:	89 55 80             	mov    %edx,-0x80(%ebp)
4710e5:	8b 04 88             	mov    (%eax,%ecx,4),%eax
4710e8:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
4710eb:	8b 40 04             	mov    0x4(%eax),%eax
4710ee:	8b 04 88             	mov    (%eax,%ecx,4),%eax
4710f1:	8b 4d a4             	mov    -0x5c(%ebp),%ecx
4710f4:	8b 00                	mov    (%eax),%eax
4710f6:	83 c0 0c             	add    $0xc,%eax
4710f9:	89 45 a0             	mov    %eax,-0x60(%ebp)
4710fc:	74 26                	je     0x471124
4710fe:	85 c9                	test   %ecx,%ecx
471100:	74 22                	je     0x471124
471102:	8d 42 01             	lea    0x1(%edx),%eax
471105:	50                   	push   %eax
471106:	e8 75 ff 16 00       	call   0x5e1080
47110b:	8b 4d a0             	mov    -0x60(%ebp),%ecx
47110e:	8b 55 80             	mov    -0x80(%ebp),%edx
471111:	52                   	push   %edx
471112:	ff 75 a4             	push   -0x5c(%ebp)
471115:	89 01                	mov    %eax,(%ecx)
471117:	8d 4a 01             	lea    0x1(%edx),%ecx
47111a:	51                   	push   %ecx
47111b:	50                   	push   %eax
47111c:	e8 5f 74 ff ff       	call   0x468580
471121:	83 c4 14             	add    $0x14,%esp
471124:	8b 55 ec             	mov    -0x14(%ebp),%edx
471127:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
47112b:	83 fa 10             	cmp    $0x10,%edx
47112e:	72 2c                	jb     0x47115c
471130:	8b 4d d8             	mov    -0x28(%ebp),%ecx
471133:	42                   	inc    %edx
471134:	8b c1                	mov    %ecx,%eax
471136:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
47113c:	72 14                	jb     0x471152
47113e:	8b 49 fc             	mov    -0x4(%ecx),%ecx
471141:	83 c2 23             	add    $0x23,%edx
471144:	2b c1                	sub    %ecx,%eax
471146:	83 c0 fc             	add    $0xfffffffc,%eax
471149:	83 f8 1f             	cmp    $0x1f,%eax
47114c:	0f 87 b7 05 00 00    	ja     0x471709
471152:	52                   	push   %edx
471153:	51                   	push   %ecx
471154:	e8 19 ff 16 00       	call   0x5e1072
471159:	83 c4 08             	add    $0x8,%esp
47115c:	8b 55 bc             	mov    -0x44(%ebp),%edx
47115f:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
471166:	c7 45 ec 0f 00 00 00 	movl   $0xf,-0x14(%ebp)
47116d:	c6 45 d8 00          	movb   $0x0,-0x28(%ebp)
471171:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
471175:	83 fa 10             	cmp    $0x10,%edx
471178:	72 2c                	jb     0x4711a6
47117a:	8b 4d a8             	mov    -0x58(%ebp),%ecx
47117d:	42                   	inc    %edx
47117e:	8b c1                	mov    %ecx,%eax
471180:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
471186:	72 14                	jb     0x47119c
471188:	8b 49 fc             	mov    -0x4(%ecx),%ecx
47118b:	83 c2 23             	add    $0x23,%edx
47118e:	2b c1                	sub    %ecx,%eax
471190:	83 c0 fc             	add    $0xfffffffc,%eax
471193:	83 f8 1f             	cmp    $0x1f,%eax
471196:	0f 87 6d 05 00 00    	ja     0x471709
47119c:	52                   	push   %edx
47119d:	51                   	push   %ecx
47119e:	e8 cf fe 16 00       	call   0x5e1072
4711a3:	83 c4 08             	add    $0x8,%esp
4711a6:	8b 8e e0 00 00 00    	mov    0xe0(%esi),%ecx
4711ac:	b8 31 0c c3 30       	mov    $0x30c30c31,%eax
4711b1:	2b 8e dc 00 00 00    	sub    0xdc(%esi),%ecx
4711b7:	f7 e9                	imul   %ecx
4711b9:	8b 45 90             	mov    -0x70(%ebp),%eax
4711bc:	c1 fa 05             	sar    $0x5,%edx
4711bf:	8b ca                	mov    %edx,%ecx
4711c1:	c1 e9 1f             	shr    $0x1f,%ecx
4711c4:	8b 80 50 03 00 00    	mov    0x350(%eax),%eax
4711ca:	03 ca                	add    %edx,%ecx
4711cc:	8b 55 8c             	mov    -0x74(%ebp),%edx
4711cf:	89 4d 80             	mov    %ecx,-0x80(%ebp)
4711d2:	8b 04 90             	mov    (%eax,%edx,4),%eax
4711d5:	8b 55 94             	mov    -0x6c(%ebp),%edx
4711d8:	8b 40 04             	mov    0x4(%eax),%eax
4711db:	8b 04 90             	mov    (%eax,%edx,4),%eax
4711de:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
4711e5:	0f 84 e2 03 00 00    	je     0x4715cd
4711eb:	8d 41 01             	lea    0x1(%ecx),%eax
4711ee:	c7 45 84 00 00 00 00 	movl   $0x0,-0x7c(%ebp)
4711f5:	33 c9                	xor    %ecx,%ecx
4711f7:	ba 04 00 00 00       	mov    $0x4,%edx
4711fc:	f7 e2                	mul    %edx
4711fe:	0f 90 c1             	seto   %cl
471201:	f7 d9                	neg    %ecx
471203:	0b c8                	or     %eax,%ecx
471205:	51                   	push   %ecx
471206:	e8 75 fe 16 00       	call   0x5e1080
47120b:	8b 4d 90             	mov    -0x70(%ebp),%ecx
47120e:	83 c4 04             	add    $0x4,%esp
471211:	8b 55 8c             	mov    -0x74(%ebp),%edx
471214:	33 ff                	xor    %edi,%edi
471216:	89 7d 88             	mov    %edi,-0x78(%ebp)
471219:	8b 89 50 03 00 00    	mov    0x350(%ecx),%ecx
47121f:	8b 0c 91             	mov    (%ecx,%edx,4),%ecx
471222:	8b 55 94             	mov    -0x6c(%ebp),%edx
471225:	8b 49 04             	mov    0x4(%ecx),%ecx
471228:	8b 0c 91             	mov    (%ecx,%edx,4),%ecx
47122b:	89 41 04             	mov    %eax,0x4(%ecx)
47122e:	66 90                	xchg   %ax,%ax
471230:	6a 1c                	push   $0x1c
471232:	e8 0b fe 16 00       	call   0x5e1042
471237:	8b 4d 90             	mov    -0x70(%ebp),%ecx
47123a:	83 c4 04             	add    $0x4,%esp
47123d:	8b 55 8c             	mov    -0x74(%ebp),%edx
471240:	8b 89 50 03 00 00    	mov    0x350(%ecx),%ecx
471246:	8b 0c 91             	mov    (%ecx,%edx,4),%ecx
471249:	8b 55 94             	mov    -0x6c(%ebp),%edx
47124c:	8b 49 04             	mov    0x4(%ecx),%ecx
47124f:	8b 0c 91             	mov    (%ecx,%edx,4),%ecx
471252:	8b 55 84             	mov    -0x7c(%ebp),%edx
471255:	8b 49 04             	mov    0x4(%ecx),%ecx
471258:	89 04 91             	mov    %eax,(%ecx,%edx,4)
47125b:	8b 86 dc 00 00 00    	mov    0xdc(%esi),%eax
471261:	83 7c 38 14 10       	cmpl   $0x10,0x14(%eax,%edi,1)
471266:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
471269:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
47126c:	72 05                	jb     0x471273
47126e:	8b 11                	mov    (%ecx),%edx
471270:	89 55 a4             	mov    %edx,-0x5c(%ebp)
471273:	8b 49 10             	mov    0x10(%ecx),%ecx
471276:	8b 7d 94             	mov    -0x6c(%ebp),%edi
471279:	89 4d 98             	mov    %ecx,-0x68(%ebp)
47127c:	8b 4d 90             	mov    -0x70(%ebp),%ecx
47127f:	8b 91 50 03 00 00    	mov    0x350(%ecx),%edx
471285:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
471288:	8b 0c 8a             	mov    (%edx,%ecx,4),%ecx
47128b:	8b 49 04             	mov    0x4(%ecx),%ecx
47128e:	8b 0c b9             	mov    (%ecx,%edi,4),%ecx
471291:	8b 7d 84             	mov    -0x7c(%ebp),%edi
471294:	8b 49 04             	mov    0x4(%ecx),%ecx
471297:	8b 0c b9             	mov    (%ecx,%edi,4),%ecx
47129a:	8b 7d 88             	mov    -0x78(%ebp),%edi
47129d:	89 4d a0             	mov    %ecx,-0x60(%ebp)
4712a0:	85 c9                	test   %ecx,%ecx
4712a2:	74 38                	je     0x4712dc
4712a4:	83 7d a4 00          	cmpl   $0x0,-0x5c(%ebp)
4712a8:	74 32                	je     0x4712dc
4712aa:	8b 45 98             	mov    -0x68(%ebp),%eax
4712ad:	40                   	inc    %eax
4712ae:	50                   	push   %eax
4712af:	e8 cc fd 16 00       	call   0x5e1080
4712b4:	8b 4d a0             	mov    -0x60(%ebp),%ecx
4712b7:	8b 55 98             	mov    -0x68(%ebp),%edx
4712ba:	52                   	push   %edx
4712bb:	ff 75 a4             	push   -0x5c(%ebp)
4712be:	89 01                	mov    %eax,(%ecx)
4712c0:	8d 4a 01             	lea    0x1(%edx),%ecx
4712c3:	51                   	push   %ecx
4712c4:	50                   	push   %eax
4712c5:	e8 b6 72 ff ff       	call   0x468580
4712ca:	8b 4d 90             	mov    -0x70(%ebp),%ecx
4712cd:	83 c4 14             	add    $0x14,%esp
4712d0:	8b 86 dc 00 00 00    	mov    0xdc(%esi),%eax
4712d6:	8b 91 50 03 00 00    	mov    0x350(%ecx),%edx
4712dc:	8d 4f 48             	lea    0x48(%edi),%ecx
4712df:	03 c8                	add    %eax,%ecx
4712e1:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
4712e4:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
4712e8:	72 05                	jb     0x4712ef
4712ea:	8b 09                	mov    (%ecx),%ecx
4712ec:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
4712ef:	8b 4c 38 58          	mov    0x58(%eax,%edi,1),%ecx
4712f3:	8b 7d 94             	mov    -0x6c(%ebp),%edi
4712f6:	89 4d 98             	mov    %ecx,-0x68(%ebp)
4712f9:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
4712fc:	8b 0c 8a             	mov    (%edx,%ecx,4),%ecx
4712ff:	8b 49 04             	mov    0x4(%ecx),%ecx
471302:	8b 0c b9             	mov    (%ecx,%edi,4),%ecx
471305:	8b 7d 84             	mov    -0x7c(%ebp),%edi
471308:	8b 49 04             	mov    0x4(%ecx),%ecx
47130b:	8b 0c b9             	mov    (%ecx,%edi,4),%ecx
47130e:	8b 7d 88             	mov    -0x78(%ebp),%edi
471311:	83 c1 04             	add    $0x4,%ecx
471314:	89 4d a0             	mov    %ecx,-0x60(%ebp)
471317:	74 38                	je     0x471351
471319:	83 7d a4 00          	cmpl   $0x0,-0x5c(%ebp)
47131d:	74 32                	je     0x471351
47131f:	8b 45 98             	mov    -0x68(%ebp),%eax
471322:	40                   	inc    %eax
471323:	50                   	push   %eax
471324:	e8 57 fd 16 00       	call   0x5e1080
471329:	8b 4d a0             	mov    -0x60(%ebp),%ecx
47132c:	8b 55 98             	mov    -0x68(%ebp),%edx
47132f:	52                   	push   %edx
471330:	ff 75 a4             	push   -0x5c(%ebp)
471333:	89 01                	mov    %eax,(%ecx)
471335:	8d 4a 01             	lea    0x1(%edx),%ecx
471338:	51                   	push   %ecx
471339:	50                   	push   %eax
47133a:	e8 41 72 ff ff       	call   0x468580
47133f:	8b 4d 90             	mov    -0x70(%ebp),%ecx
471342:	83 c4 14             	add    $0x14,%esp
471345:	8b 86 dc 00 00 00    	mov    0xdc(%esi),%eax
47134b:	8b 91 50 03 00 00    	mov    0x350(%ecx),%edx
471351:	8d 4f 18             	lea    0x18(%edi),%ecx
471354:	03 c8                	add    %eax,%ecx
471356:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
471359:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
47135d:	72 05                	jb     0x471364
47135f:	8b 09                	mov    (%ecx),%ecx
471361:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
471364:	8b 4c 38 28          	mov    0x28(%eax,%edi,1),%ecx
471368:	8b 7d 94             	mov    -0x6c(%ebp),%edi
47136b:	89 4d 98             	mov    %ecx,-0x68(%ebp)
47136e:	8b 4d 8c             	mov    -0x74(%ebp),%ecx
471371:	8b 0c 8a             	mov    (%edx,%ecx,4),%ecx