418eb4:	8b 85 04 f7 ff ff    	mov    -0x8fc(%ebp),%eax
418eba:	6a 54                	push   $0x54
418ebc:	89 85 68 f4 ff ff    	mov    %eax,-0xb98(%ebp)
418ec2:	8d 85 e0 f4 ff ff    	lea    -0xb20(%ebp),%eax
418ec8:	53                   	push   %ebx
418ec9:	50                   	push   %eax
418eca:	89 b5 44 f4 ff ff    	mov    %esi,-0xbbc(%ebp)
418ed0:	e8 73 99 00 00       	call   0x422848
418ed5:	83 c4 0c             	add    $0xc,%esp
418ed8:	8d 85 88 f4 ff ff    	lea    -0xb78(%ebp),%eax
418ede:	6a 54                	push   $0x54
418ee0:	53                   	push   %ebx
418ee1:	50                   	push   %eax
418ee2:	e8 61 99 00 00       	call   0x422848
418ee7:	83 c4 0c             	add    $0xc,%esp
418eea:	89 9d 30 f4 ff ff    	mov    %ebx,-0xbd0(%ebp)
418ef0:	8d 85 b8 fa ff ff    	lea    -0x548(%ebp),%eax
418ef6:	89 9d 34 f4 ff ff    	mov    %ebx,-0xbcc(%ebp)
418efc:	89 9d 20 f4 ff ff    	mov    %ebx,-0xbe0(%ebp)
418f02:	89 9d 1c f4 ff ff    	mov    %ebx,-0xbe4(%ebp)
418f08:	6a 2c                	push   $0x2c
418f0a:	53                   	push   %ebx
418f0b:	50                   	push   %eax
418f0c:	e8 37 99 00 00       	call   0x422848
418f11:	33 c0                	xor    %eax,%eax
418f13:	8d bd 90 fb ff ff    	lea    -0x470(%ebp),%edi
418f19:	ab                   	stos   %eax,%es:(%edi)
418f1a:	83 c4 0c             	add    $0xc,%esp
418f1d:	ab                   	stos   %eax,%es:(%edi)
418f1e:	ab                   	stos   %eax,%es:(%edi)
418f1f:	ab                   	stos   %eax,%es:(%edi)
418f20:	85 f6                	test   %esi,%esi
418f22:	0f 84 2c 0b 00 00    	je     0x419a54
418f28:	8b 35 28 40 42 00    	mov    0x424028,%esi
418f2e:	8b ce                	mov    %esi,%ecx
418f30:	8b bd 58 f4 ff ff    	mov    -0xba8(%ebp),%edi
418f36:	6a 07                	push   $0x7
418f38:	57                   	push   %edi
418f39:	ff 15 78 64 42 00    	call   *0x426478
418f3f:	ff d6                	call   *%esi
418f41:	85 c0                	test   %eax,%eax
418f43:	75 0b                	jne    0x418f50
418f45:	ff 15 70 61 42 00    	call   *0x426170
418f4b:	e9 04 0b 00 00       	jmp    0x419a54
418f50:	8b 35 34 40 42 00    	mov    0x424034,%esi
418f56:	8d 8d e0 f4 ff ff    	lea    -0xb20(%ebp),%ecx
418f5c:	51                   	push   %ecx
418f5d:	6a 54                	push   $0x54
418f5f:	50                   	push   %eax
418f60:	8b ce                	mov    %esi,%ecx
418f62:	ff 15 78 64 42 00    	call   *0x426478
418f68:	ff d6                	call   *%esi
418f6a:	85 c0                	test   %eax,%eax
418f6c:	74 24                	je     0x418f92
418f6e:	8b 85 f4 f4 ff ff    	mov    -0xb0c(%ebp),%eax
418f74:	89 85 30 f4 ff ff    	mov    %eax,-0xbd0(%ebp)
418f7a:	8b 85 e4 f4 ff ff    	mov    -0xb1c(%ebp),%eax
418f80:	89 85 20 f4 ff ff    	mov    %eax,-0xbe0(%ebp)
418f86:	8b 85 e8 f4 ff ff    	mov    -0xb18(%ebp),%eax
418f8c:	89 85 1c f4 ff ff    	mov    %eax,-0xbe4(%ebp)
418f92:	8b 35 08 40 42 00    	mov    0x424008,%esi
418f98:	8b ce                	mov    %esi,%ecx
418f9a:	57                   	push   %edi
418f9b:	ff 15 78 64 42 00    	call   *0x426478
418fa1:	ff d6                	call   *%esi
418fa3:	8b c8                	mov    %eax,%ecx
418fa5:	89 8d 0c f4 ff ff    	mov    %ecx,-0xbf4(%ebp)
418fab:	85 c9                	test   %ecx,%ecx
418fad:	74 96                	je     0x418f45
418faf:	8b 85 78 f4 ff ff    	mov    -0xb88(%ebp),%eax
418fb5:	2b 85 80 f4 ff ff    	sub    -0xb80(%ebp),%eax
418fbb:	8b bd 84 f4 ff ff    	mov    -0xb7c(%ebp),%edi
418fc1:	2b bd 64 f4 ff ff    	sub    -0xb9c(%ebp),%edi
418fc7:	8b 35 0c 40 42 00    	mov    0x42400c,%esi
418fcd:	89 85 c0 fa ff ff    	mov    %eax,-0x540(%ebp)
418fd3:	33 c0                	xor    %eax,%eax
418fd5:	6a 20                	push   $0x20
418fd7:	40                   	inc    %eax
418fd8:	89 9d cc f3 ff ff    	mov    %ebx,-0xc34(%ebp)
418fde:	66 89 85 c4 fa ff ff 	mov    %ax,-0x53c(%ebp)
418fe5:	58                   	pop    %eax
418fe6:	53                   	push   %ebx
418fe7:	53                   	push   %ebx
418fe8:	66 89 85 c6 fa ff ff 	mov    %ax,-0x53a(%ebp)
418fef:	8d 85 cc f3 ff ff    	lea    -0xc34(%ebp),%eax
418ff5:	50                   	push   %eax
418ff6:	53                   	push   %ebx
418ff7:	8d 85 b8 fa ff ff    	lea    -0x548(%ebp),%eax
418ffd:	89 9d 10 f4 ff ff    	mov    %ebx,-0xbf0(%ebp)
419003:	50                   	push   %eax
419004:	51                   	push   %ecx
419005:	8b ce                	mov    %esi,%ecx
419007:	89 9d c8 fa ff ff    	mov    %ebx,-0x538(%ebp)
41900d:	89 9d cc fa ff ff    	mov    %ebx,-0x534(%ebp)
419013:	89 9d d0 fa ff ff    	mov    %ebx,-0x530(%ebp)
419019:	89 9d d4 fa ff ff    	mov    %ebx,-0x52c(%ebp)
41901f:	89 9d d8 fa ff ff    	mov    %ebx,-0x528(%ebp)
419025:	89 9d dc fa ff ff    	mov    %ebx,-0x524(%ebp)
41902b:	89 9d e0 fa ff ff    	mov    %ebx,-0x520(%ebp)
419031:	c7 85 b8 fa ff ff 28 	movl   $0x28,-0x548(%ebp)
419038:	00 00 00
41903b:	89 bd bc fa ff ff    	mov    %edi,-0x544(%ebp)
419041:	ff 15 78 64 42 00    	call   *0x426478
419047:	ff d6                	call   *%esi
419049:	89 85 84 f4 ff ff    	mov    %eax,-0xb7c(%ebp)
41904f:	85 c0                	test   %eax,%eax
419051:	75 3b                	jne    0x41908e
419053:	ff 15 70 61 42 00    	call   *0x426170
419059:	89 85 10 f4 ff ff    	mov    %eax,-0xbf0(%ebp)
41905f:	85 c0                	test   %eax,%eax
419061:	7e 10                	jle    0x419073
419063:	0f b7 c0             	movzwl %ax,%eax
419066:	0d 00 00 07 80       	or     $0x80070000,%eax
41906b:	89 85 10 f4 ff ff    	mov    %eax,-0xbf0(%ebp)
419071:	85 c0                	test   %eax,%eax
419073:	8b bd 0c f4 ff ff    	mov    -0xbf4(%ebp),%edi
419079:	0f 88 85 03 00 00    	js     0x419404
41907f:	c7 85 10 f4 ff ff 05 	movl   $0x80004005,-0xbf0(%ebp)
419086:	40 00 80
419089:	e9 76 03 00 00       	jmp    0x419404
41908e:	8b 35 34 40 42 00    	mov    0x424034,%esi
419094:	8d 8d 88 f4 ff ff    	lea    -0xb78(%ebp),%ecx
41909a:	51                   	push   %ecx
41909b:	6a 54                	push   $0x54
41909d:	50                   	push   %eax
41909e:	8b ce                	mov    %esi,%ecx
4190a0:	ff 15 78 64 42 00    	call   *0x426478
4190a6:	ff d6                	call   *%esi
4190a8:	85 c0                	test   %eax,%eax
4190aa:	74 0c                	je     0x4190b8
4190ac:	8b 85 9c f4 ff ff    	mov    -0xb64(%ebp),%eax
4190b2:	89 85 34 f4 ff ff    	mov    %eax,-0xbcc(%ebp)
4190b8:	ff b5 84 f4 ff ff    	push   -0xb7c(%ebp)
4190be:	8b 85 80 f4 ff ff    	mov    -0xb80(%ebp),%eax
4190c4:	2b 85 78 f4 ff ff    	sub    -0xb88(%ebp),%eax
4190ca:	8b 35 3c 40 42 00    	mov    0x42403c,%esi
4190d0:	8b ce                	mov    %esi,%ecx
4190d2:	89 bd 98 fb ff ff    	mov    %edi,-0x468(%ebp)
4190d8:	8b bd 0c f4 ff ff    	mov    -0xbf4(%ebp),%edi
4190de:	57                   	push   %edi
4190df:	89 85 9c fb ff ff    	mov    %eax,-0x464(%ebp)
4190e5:	ff 15 78 64 42 00    	call   *0x426478
4190eb:	ff d6                	call   *%esi
4190ed:	8b 35 40 40 42 00    	mov    0x424040,%esi
4190f3:	33 c0                	xor    %eax,%eax
4190f5:	40                   	inc    %eax
4190f6:	8b ce                	mov    %esi,%ecx
4190f8:	50                   	push   %eax
4190f9:	57                   	push   %edi
4190fa:	ff 15 78 64 42 00    	call   *0x426478
419100:	ff d6                	call   *%esi
419102:	ff b5 68 f4 ff ff    	push   -0xb98(%ebp)
419108:	8b 35 3c 40 42 00    	mov    0x42403c,%esi
41910e:	8b ce                	mov    %esi,%ecx
419110:	57                   	push   %edi
419111:	ff 15 78 64 42 00    	call   *0x426478
419117:	ff d6                	call   *%esi
419119:	8b 35 38 40 42 00    	mov    0x424038,%esi
41911f:	8b ce                	mov    %esi,%ecx
419121:	8b 3d 74 40 42 00    	mov    0x424074,%edi
419127:	53                   	push   %ebx
419128:	89 85 80 f4 ff ff    	mov    %eax,-0xb80(%ebp)
41912e:	ff 15 78 64 42 00    	call   *0x426478
419134:	ff d6                	call   *%esi
419136:	8b b5 0c f4 ff ff    	mov    -0xbf4(%ebp),%esi
41913c:	8b cf                	mov    %edi,%ecx
41913e:	50                   	push   %eax
41913f:	8d 85 90 fb ff ff    	lea    -0x470(%ebp),%eax
419145:	50                   	push   %eax
419146:	56                   	push   %esi
419147:	ff 15 78 64 42 00    	call   *0x426478
41914d:	ff d7                	call   *%edi
41914f:	53                   	push   %ebx
419150:	ff b5 54 f4 ff ff    	push   -0xbac(%ebp)
419156:	8d 85 90 fb ff ff    	lea    -0x470(%ebp),%eax
41915c:	50                   	push   %eax
41915d:	6a ff                	push   $0xffffffff
41915f:	ff b5 44 f4 ff ff    	push   -0xbbc(%ebp)
419165:	56                   	push   %esi
419166:	8b 35 6c 40 42 00    	mov    0x42406c,%esi
41916c:	8b ce                	mov    %esi,%ecx
41916e:	ff 15 78 64 42 00    	call   *0x426478
419174:	ff d6                	call   *%esi
419176:	33 c0                	xor    %eax,%eax
419178:	40                   	inc    %eax
419179:	39 85 38 f4 ff ff    	cmp    %eax,-0xbc8(%ebp)
41917f:	75 2f                	jne    0x4191b0
419181:	83 bd 4c f4 ff ff 00 	cmpl   $0x0,-0xbb4(%ebp)
419188:	74 1a                	je     0x4191a4
41918a:	8b 35 8c 40 42 00    	mov    0x42408c,%esi
419190:	8b ce                	mov    %esi,%ecx
419192:	6a 08                	push   $0x8
419194:	ff 15 78 64 42 00    	call   *0x426478
41919a:	ff d6                	call   *%esi
41919c:	89 85 4c f4 ff ff    	mov    %eax,-0xbb4(%ebp)
4191a2:	eb 16                	jmp    0x4191ba
4191a4:	c7 85 4c f4 ff ff ff 	movl   $0xffffff,-0xbb4(%ebp)
4191ab:	ff ff 00
4191ae:	eb 0a                	jmp    0x4191ba
4191b0:	c7 85 4c f4 ff ff a8 	movl   $0xffa8a8a8,-0xbb4(%ebp)
4191b7:	a8 a8 ff
4191ba:	8b 95 64 f4 ff ff    	mov    -0xb9c(%ebp),%edx
4191c0:	8b f3                	mov    %ebx,%esi
4191c2:	89 9d 68 f4 ff ff    	mov    %ebx,-0xb98(%ebp)
4191c8:	8b cb                	mov    %ebx,%ecx
4191ca:	85 d2                	test   %edx,%edx
4191cc:	79 0c                	jns    0x4191da
4191ce:	8b f2                	mov    %edx,%esi
4191d0:	8b d3                	mov    %ebx,%edx
4191d2:	f7 de                	neg    %esi
4191d4:	89 b5 68 f4 ff ff    	mov    %esi,-0xb98(%ebp)
4191da:	8b 85 78 f4 ff ff    	mov    -0xb88(%ebp),%eax
4191e0:	85 c0                	test   %eax,%eax
4191e2:	79 06                	jns    0x4191ea
4191e4:	8b c8                	mov    %eax,%ecx
4191e6:	8b c3                	mov    %ebx,%eax
4191e8:	f7 d9                	neg    %ecx
4191ea:	8b bd 98 fb ff ff    	mov    -0x468(%ebp),%edi
4191f0:	2b fe                	sub    %esi,%edi
4191f2:	8b b5 20 f4 ff ff    	mov    -0xbe0(%ebp),%esi
4191f8:	2b f2                	sub    %edx,%esi
4191fa:	89 bd 64 f4 ff ff    	mov    %edi,-0xb9c(%ebp)
419200:	3b fe                	cmp    %esi,%edi
419202:	7c 08                	jl     0x41920c
419204:	8b fe                	mov    %esi,%edi
419206:	89 b5 64 f4 ff ff    	mov    %esi,-0xb9c(%ebp)
41920c:	8b b5 9c fb ff ff    	mov    -0x464(%ebp),%esi
419212:	29 85 1c f4 ff ff    	sub    %eax,-0xbe4(%ebp)
419218:	2b f1                	sub    %ecx,%esi
41921a:	89 b5 78 f4 ff ff    	mov    %esi,-0xb88(%ebp)
419220:	3b b5 1c f4 ff ff    	cmp    -0xbe4(%ebp),%esi
419226:	7c 0c                	jl     0x419234
419228:	8b b5 1c f4 ff ff    	mov    -0xbe4(%ebp),%esi
41922e:	89 b5 78 f4 ff ff    	mov    %esi,-0xb88(%ebp)
419234:	85 ff                	test   %edi,%edi
419236:	0f 8e 90 01 00 00    	jle    0x4193cc
41923c:	85 f6                	test   %esi,%esi
41923e:	0f 8e 88 01 00 00    	jle    0x4193cc
419244:	0f af 85 20 f4 ff ff 	imul   -0xbe0(%ebp),%eax
41924b:	0f af 8d 98 fb ff ff 	imul   -0x468(%ebp),%ecx
419252:	8b b5 34 f4 ff ff    	mov    -0xbcc(%ebp),%esi
419258:	03 c2                	add    %edx,%eax
41925a:	8b 95 30 f4 ff ff    	mov    -0xbd0(%ebp),%edx
419260:	03 8d 68 f4 ff ff    	add    -0xb98(%ebp),%ecx
419266:	8d 04 82             	lea    (%edx,%eax,4),%eax
419269:	8b 95 98 fb ff ff    	mov    -0x468(%ebp),%edx
41926f:	c1 e2 02             	shl    $0x2,%edx
419272:	8d 0c 8e             	lea    (%esi,%ecx,4),%ecx
419275:	89 95 30 f4 ff ff    	mov    %edx,-0xbd0(%ebp)
41927b:	8b 95 20 f4 ff ff    	mov    -0xbe0(%ebp),%edx
419281:	c1 e2 02             	shl    $0x2,%edx
419284:	89 8d 68 f4 ff ff    	mov    %ecx,-0xb98(%ebp)
41928a:	89 85 44 f4 ff ff    	mov    %eax,-0xbbc(%ebp)
419290:	89 95 34 f4 ff ff    	mov    %edx,-0xbcc(%ebp)
419296:	8b b5 64 f4 ff ff    	mov    -0xb9c(%ebp),%esi
41929c:	8d 50 03             	lea    0x3(%eax),%edx
41929f:	8b d8                	mov    %eax,%ebx
4192a1:	89 95 20 f4 ff ff    	mov    %edx,-0xbe0(%ebp)
4192a7:	2b d9                	sub    %ecx,%ebx
4192a9:	89 b5 14 f4 ff ff    	mov    %esi,-0xbec(%ebp)
4192af:	8d 79 02             	lea    0x2(%ecx),%edi
4192b2:	89 9d 1c f4 ff ff    	mov    %ebx,-0xbe4(%ebp)
4192b8:	0f b6 47 fe          	movzbl -0x2(%edi),%eax
4192bc:	0f b6 4f ff          	movzbl -0x1(%edi),%ecx
4192c0:	8d 0c 48             	lea    (%eax,%ecx,2),%ecx
4192c3:	0f b6 07             	movzbl (%edi),%eax
4192c6:	03 c8                	add    %eax,%ecx
4192c8:	c1 e9 02             	shr    $0x2,%ecx
4192cb:	f6 d1                	not    %cl
4192cd:	84 c9                	test   %cl,%cl
4192cf:	0f 84 a9 00 00 00    	je     0x41937e
4192d5:	8a 1c 3b             	mov    (%ebx,%edi,1),%bl
4192d8:	8b 85 4c f4 ff ff    	mov    -0xbb4(%ebp),%eax
4192de:	0f b6 c0             	movzbl %al,%eax
4192e1:	0f b6 f1             	movzbl %cl,%esi
4192e4:	0f b6 cb             	movzbl %bl,%ecx
4192e7:	2b c1                	sub    %ecx,%eax
4192e9:	b9 ff 00 00 00       	mov    $0xff,%ecx
4192ee:	0f af c6             	imul   %esi,%eax
4192f1:	99                   	cltd
4192f2:	f7 f9                	idiv   %ecx
4192f4:	8b 8d 1c f4 ff ff    	mov    -0xbe4(%ebp),%ecx
4192fa:	02 c3                	add    %bl,%al
4192fc:	88 04 39             	mov    %al,(%ecx,%edi,1)
4192ff:	8b 85 20 f4 ff ff    	mov    -0xbe0(%ebp),%eax
419305:	8a 58 fe             	mov    -0x2(%eax),%bl
419308:	8b 85 4c f4 ff ff    	mov    -0xbb4(%ebp),%eax
41930e:	0f b6 c4             	movzbl %ah,%eax
419311:	0f b6 cb             	movzbl %bl,%ecx
419314:	2b c1                	sub    %ecx,%eax
419316:	b9 ff 00 00 00       	mov    $0xff,%ecx
41931b:	0f af c6             	imul   %esi,%eax
41931e:	99                   	cltd
41931f:	f7 f9                	idiv   %ecx
419321:	8b 8d 20 f4 ff ff    	mov    -0xbe0(%ebp),%ecx
419327:	02 c3                	add    %bl,%al
419329:	88 41 fe             	mov    %al,-0x2(%ecx)
41932c:	8a 59 fd             	mov    -0x3(%ecx),%bl
41932f:	0f b6 85 4e f4 ff ff 	movzbl -0xbb2(%ebp),%eax
419336:	0f b6 cb             	movzbl %bl,%ecx
419339:	2b c1                	sub    %ecx,%eax
41933b:	b9 ff 00 00 00       	mov    $0xff,%ecx
419340:	0f af c6             	imul   %esi,%eax
419343:	99                   	cltd
419344:	f7 f9                	idiv   %ecx
419346:	8b 8d 20 f4 ff ff    	mov    -0xbe0(%ebp),%ecx
41934c:	02 c3                	add    %bl,%al
41934e:	88 41 fd             	mov    %al,-0x3(%ecx)
419351:	b8 ff 00 00 00       	mov    $0xff,%eax
419356:	8a 19                	mov    (%ecx),%bl
419358:	0f b6 cb             	movzbl %bl,%ecx
41935b:	2b c1                	sub    %ecx,%eax
41935d:	b9 ff 00 00 00       	mov    $0xff,%ecx
419362:	0f af c6             	imul   %esi,%eax
419365:	8b b5 14 f4 ff ff    	mov    -0xbec(%ebp),%esi
41936b:	99                   	cltd
41936c:	f7 f9                	idiv   %ecx
41936e:	8b 95 20 f4 ff ff    	mov    -0xbe0(%ebp),%edx
419374:	02 c3                	add    %bl,%al
419376:	8b 9d 1c f4 ff ff    	mov    -0xbe4(%ebp),%ebx
41937c:	88 02                	mov    %al,(%edx)
41937e:	83 c2 04             	add    $0x4,%edx
419381:	83 c7 04             	add    $0x4,%edi
419384:	83 ee 01             	sub    $0x1,%esi
419387:	89 95 20 f4 ff ff    	mov    %edx,-0xbe0(%ebp)
41938d:	89 b5 14 f4 ff ff    	mov    %esi,-0xbec(%ebp)
419393:	0f 85 1f ff ff ff    	jne    0x4192b8
419399:	8b 8d 68 f4 ff ff    	mov    -0xb98(%ebp),%ecx
41939f:	8b 85 44 f4 ff ff    	mov    -0xbbc(%ebp),%eax
4193a5:	03 8d 30 f4 ff ff    	add    -0xbd0(%ebp),%ecx
4193ab:	03 85 34 f4 ff ff    	add    -0xbcc(%ebp),%eax
4193b1:	83 ad 78 f4 ff ff 01 	subl   $0x1,-0xb88(%ebp)
4193b8:	89 8d 68 f4 ff ff    	mov    %ecx,-0xb98(%ebp)
4193be:	89 85 44 f4 ff ff    	mov    %eax,-0xbbc(%ebp)
4193c4:	0f 85 cc fe ff ff    	jne    0x419296
4193ca:	33 db                	xor    %ebx,%ebx
4193cc:	ff b5 84 f4 ff ff    	push   -0xb7c(%ebp)
4193d2:	8b 35 1c 40 42 00    	mov    0x42401c,%esi
4193d8:	8b ce                	mov    %esi,%ecx
4193da:	ff 15 78 64 42 00    	call   *0x426478
4193e0:	ff d6                	call   *%esi
4193e2:	8b 85 80 f4 ff ff    	mov    -0xb80(%ebp),%eax
4193e8:	8b bd 0c f4 ff ff    	mov    -0xbf4(%ebp),%edi
4193ee:	85 c0                	test   %eax,%eax
4193f0:	74 12                	je     0x419404
4193f2:	8b 35 3c 40 42 00    	mov    0x42403c,%esi
4193f8:	8b ce                	mov    %esi,%ecx
4193fa:	50                   	push   %eax
4193fb:	57                   	push   %edi
4193fc:	ff 15 78 64 42 00    	call   *0x426478