4120a6:	83 fa ff             	cmp    $0xffffffff,%edx
4120a9:	74 10                	je     0x4120bb
4120ab:	8d 4c 0a ff          	lea    -0x1(%edx,%ecx,1),%ecx
4120af:	8b 56 7c             	mov    0x7c(%esi),%edx
4120b2:	3b d1                	cmp    %ecx,%edx
4120b4:	7d 02                	jge    0x4120b8
4120b6:	8b ca                	mov    %edx,%ecx
4120b8:	89 4e 7c             	mov    %ecx,0x7c(%esi)
4120bb:	33 c9                	xor    %ecx,%ecx
4120bd:	83 f8 ff             	cmp    $0xffffffff,%eax
4120c0:	0f 95 c1             	setne  %cl
4120c3:	8a c1                	mov    %cl,%al
4120c5:	5f                   	pop    %edi
4120c6:	5e                   	pop    %esi
4120c7:	c3                   	ret
4120c8:	56                   	push   %esi
4120c9:	8b f1                	mov    %ecx,%esi
4120cb:	8b 96 54 4c 00 00    	mov    0x4c54(%esi),%edx
4120d1:	8b 86 44 4c 00 00    	mov    0x4c44(%esi),%eax
4120d7:	3b d0                	cmp    %eax,%edx
4120d9:	8b 8e 40 4c 00 00    	mov    0x4c40(%esi),%ecx
4120df:	57                   	push   %edi
4120e0:	8b be 50 4c 00 00    	mov    0x4c50(%esi),%edi
4120e6:	7f 3a                	jg     0x412122
4120e8:	7c 04                	jl     0x4120ee
4120ea:	3b f9                	cmp    %ecx,%edi
4120ec:	73 34                	jae    0x412122
4120ee:	2b cf                	sub    %edi,%ecx
4120f0:	1b c2                	sbb    %edx,%eax
4120f2:	33 ff                	xor    %edi,%edi
4120f4:	3b f8                	cmp    %eax,%edi
4120f6:	53                   	push   %ebx
4120f7:	8b 5c 24 14          	mov    0x14(%esp),%ebx
4120fb:	7c 08                	jl     0x412105
4120fd:	7f 04                	jg     0x412103
4120ff:	3b d9                	cmp    %ecx,%ebx
412101:	76 02                	jbe    0x412105
412103:	8b d9                	mov    %ecx,%ebx
412105:	8b 0e                	mov    (%esi),%ecx
412107:	53                   	push   %ebx
412108:	ff 74 24 14          	push   0x14(%esp)
41210c:	e8 3e 98 ff ff       	call   0x40b94f
412111:	8b 44 24 14          	mov    0x14(%esp),%eax
412115:	01 86 50 4c 00 00    	add    %eax,0x4c50(%esi)
41211b:	5b                   	pop    %ebx
41211c:	11 be 54 4c 00 00    	adc    %edi,0x4c54(%esi)
412122:	5f                   	pop    %edi
412123:	5e                   	pop    %esi
412124:	c2 08 00             	ret    $0x8
412127:	56                   	push   %esi
412128:	57                   	push   %edi
412129:	bf 80 00 00 00       	mov    $0x80,%edi
41212e:	57                   	push   %edi
41212f:	8b f1                	mov    %ecx,%esi
412131:	6a 00                	push   $0x0
412133:	56                   	push   %esi
412134:	e8 c7 80 00 00       	call   0x41a200
412139:	57                   	push   %edi
41213a:	8d 86 80 00 00 00    	lea    0x80(%esi),%eax
412140:	6a 00                	push   $0x0
412142:	50                   	push   %eax
412143:	e8 b8 80 00 00       	call   0x41a200
412148:	83 c4 18             	add    $0x18,%esp
41214b:	5f                   	pop    %edi
41214c:	8b c6                	mov    %esi,%eax
41214e:	5e                   	pop    %esi
41214f:	c3                   	ret
412150:	56                   	push   %esi
412151:	57                   	push   %edi
412152:	8b f9                	mov    %ecx,%edi
412154:	33 f6                	xor    %esi,%esi
412156:	8b 04 b7             	mov    (%edi,%esi,4),%eax
412159:	85 c0                	test   %eax,%eax
41215b:	74 0b                	je     0x412168
41215d:	50                   	push   %eax
41215e:	e8 7f 7d 00 00       	call   0x419ee2
412163:	83 24 b7 00          	andl   $0x0,(%edi,%esi,4)
412167:	59                   	pop    %ecx
412168:	46                   	inc    %esi
412169:	83 fe 20             	cmp    $0x20,%esi
41216c:	72 e8                	jb     0x412156
41216e:	5f                   	pop    %edi
41216f:	5e                   	pop    %esi
412170:	c3                   	ret
412171:	55                   	push   %ebp
412172:	8b ec                	mov    %esp,%ebp
412174:	83 ec 18             	sub    $0x18,%esp
412177:	57                   	push   %edi
412178:	89 4d f4             	mov    %ecx,-0xc(%ebp)
41217b:	e8 d0 ff ff ff       	call   0x412150
412180:	33 ff                	xor    %edi,%edi
412182:	89 7d fc             	mov    %edi,-0x4(%ebp)
412185:	39 7d 08             	cmp    %edi,0x8(%ebp)
412188:	0f 86 8b 00 00 00    	jbe    0x412219
41218e:	53                   	push   %ebx
41218f:	56                   	push   %esi
412190:	83 7d fc 20          	cmpl   $0x20,-0x4(%ebp)
412194:	73 7c                	jae    0x412212
412196:	8b 75 08             	mov    0x8(%ebp),%esi
412199:	6a 20                	push   $0x20
41219b:	2b f7                	sub    %edi,%esi
41219d:	59                   	pop    %ecx
41219e:	2b 4d fc             	sub    -0x4(%ebp),%ecx
4121a1:	33 d2                	xor    %edx,%edx
4121a3:	8b c6                	mov    %esi,%eax
4121a5:	f7 f1                	div    %ecx
4121a7:	b9 00 00 40 00       	mov    $0x400000,%ecx
4121ac:	89 45 f8             	mov    %eax,-0x8(%ebp)
4121af:	3b c1                	cmp    %ecx,%eax
4121b1:	77 19                	ja     0x4121cc
4121b3:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4121b6:	eb 14                	jmp    0x4121cc
4121b8:	56                   	push   %esi
4121b9:	e8 a0 a7 00 00       	call   0x41c95e
4121be:	8b d8                	mov    %eax,%ebx
4121c0:	59                   	pop    %ecx
4121c1:	85 db                	test   %ebx,%ebx
4121c3:	75 22                	jne    0x4121e7
4121c5:	8b c6                	mov    %esi,%eax
4121c7:	c1 e8 05             	shr    $0x5,%eax
4121ca:	2b f0                	sub    %eax,%esi
4121cc:	3b 75 f8             	cmp    -0x8(%ebp),%esi
4121cf:	73 e7                	jae    0x4121b8
4121d1:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4121d4:	e8 b5 fb ff ff       	call   0x411d8e
4121d9:	68 c4 d4 42 00       	push   $0x42d4c4
4121de:	8d 45 e8             	lea    -0x18(%ebp),%eax
4121e1:	50                   	push   %eax
4121e2:	e8 f6 a0 00 00       	call   0x41c2dd
4121e7:	56                   	push   %esi
4121e8:	6a 00                	push   $0x0
4121ea:	53                   	push   %ebx
4121eb:	e8 10 80 00 00       	call   0x41a200
4121f0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4121f3:	8b 45 f4             	mov    -0xc(%ebp),%eax
4121f6:	c1 e1 02             	shl    $0x2,%ecx
4121f9:	03 fe                	add    %esi,%edi
4121fb:	83 c4 0c             	add    $0xc,%esp
4121fe:	ff 45 fc             	incl   -0x4(%ebp)
412201:	89 1c 01             	mov    %ebx,(%ecx,%eax,1)
412204:	89 bc 01 80 00 00 00 	mov    %edi,0x80(%ecx,%eax,1)
41220b:	3b 7d 08             	cmp    0x8(%ebp),%edi
41220e:	72 80                	jb     0x412190
412210:	eb 05                	jmp    0x412217
412212:	3b 7d 08             	cmp    0x8(%ebp),%edi
412215:	72 ba                	jb     0x4121d1
412217:	5e                   	pop    %esi
412218:	5b                   	pop    %ebx
412219:	5f                   	pop    %edi
41221a:	c9                   	leave
41221b:	c2 04 00             	ret    $0x4
41221e:	56                   	push   %esi
41221f:	ff 74 24 08          	push   0x8(%esp)
412223:	8b f1                	mov    %ecx,%esi
412225:	e8 e6 af 00 00       	call   0x41d210
41222a:	c7 06 8c b1 42 00    	movl   $0x42b18c,(%esi)
412230:	8b c6                	mov    %esi,%eax
412232:	5e                   	pop    %esi
412233:	c2 04 00             	ret    $0x4
412236:	56                   	push   %esi
412237:	8b 74 24 08          	mov    0x8(%esp),%esi
41223b:	3b b1 80 00 00 00    	cmp    0x80(%ecx),%esi
412241:	73 06                	jae    0x412249
412243:	8b 01                	mov    (%ecx),%eax
412245:	03 c6                	add    %esi,%eax
412247:	eb 18                	jmp    0x412261
412249:	33 d2                	xor    %edx,%edx
41224b:	42                   	inc    %edx
41224c:	8d 81 84 00 00 00    	lea    0x84(%ecx),%eax
412252:	3b 30                	cmp    (%eax),%esi
412254:	72 0f                	jb     0x412265
412256:	42                   	inc    %edx
412257:	83 c0 04             	add    $0x4,%eax
41225a:	83 fa 20             	cmp    $0x20,%edx
41225d:	72 f3                	jb     0x412252
41225f:	8b 01                	mov    (%ecx),%eax
412261:	5e                   	pop    %esi
412262:	c2 04 00             	ret    $0x4
412265:	8b 04 91             	mov    (%ecx,%edx,4),%eax
412268:	2b 44 91 7c          	sub    0x7c(%ecx,%edx,4),%eax
41226c:	eb d7                	jmp    0x412245
41226e:	55                   	push   %ebp
41226f:	8b ec                	mov    %esp,%ebp
412271:	56                   	push   %esi
412272:	8b 75 10             	mov    0x10(%ebp),%esi
412275:	57                   	push   %edi
412276:	8b 3e                	mov    (%esi),%edi
412278:	2b 7d 0c             	sub    0xc(%ebp),%edi
41227b:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
41227f:	76 2c                	jbe    0x4122ad
412281:	53                   	push   %ebx
412282:	ff 4d 08             	decl   0x8(%ebp)
412285:	8b c7                	mov    %edi,%eax
412287:	23 45 14             	and    0x14(%ebp),%eax
41228a:	50                   	push   %eax
41228b:	e8 a6 ff ff ff       	call   0x412236
412290:	ff 36                	push   (%esi)
412292:	8b d8                	mov    %eax,%ebx
412294:	e8 9d ff ff ff       	call   0x412236
412299:	8a 13                	mov    (%ebx),%dl
41229b:	88 10                	mov    %dl,(%eax)
41229d:	8b 06                	mov    (%esi),%eax
41229f:	47                   	inc    %edi
4122a0:	40                   	inc    %eax
4122a1:	23 45 14             	and    0x14(%ebp),%eax
4122a4:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4122a8:	89 06                	mov    %eax,(%esi)
4122aa:	77 d6                	ja     0x412282
4122ac:	5b                   	pop    %ebx
4122ad:	5f                   	pop    %edi
4122ae:	5e                   	pop    %esi
4122af:	5d                   	pop    %ebp
4122b0:	c2 10 00             	ret    $0x10
4122b3:	53                   	push   %ebx
4122b4:	8b 5c 24 10          	mov    0x10(%esp),%ebx
4122b8:	85 db                	test   %ebx,%ebx
4122ba:	76 1f                	jbe    0x4122db
4122bc:	56                   	push   %esi
4122bd:	8b 74 24 0c          	mov    0xc(%esp),%esi
4122c1:	57                   	push   %edi
4122c2:	8b 7c 24 14          	mov    0x14(%esp),%edi
4122c6:	2b fe                	sub    %esi,%edi
4122c8:	8d 04 37             	lea    (%edi,%esi,1),%eax
4122cb:	50                   	push   %eax
4122cc:	e8 65 ff ff ff       	call   0x412236
4122d1:	8a 00                	mov    (%eax),%al
4122d3:	88 06                	mov    %al,(%esi)
4122d5:	46                   	inc    %esi
4122d6:	4b                   	dec    %ebx
4122d7:	75 ef                	jne    0x4122c8
4122d9:	5f                   	pop    %edi
4122da:	5e                   	pop    %esi
4122db:	5b                   	pop    %ebx
4122dc:	c2 0c 00             	ret    $0xc
4122df:	56                   	push   %esi
4122e0:	8b 74 24 08          	mov    0x8(%esp),%esi
4122e4:	33 c0                	xor    %eax,%eax
4122e6:	8d 91 80 00 00 00    	lea    0x80(%ecx),%edx
4122ec:	3b 32                	cmp    (%edx),%esi
4122ee:	72 0f                	jb     0x4122ff
4122f0:	40                   	inc    %eax
4122f1:	83 c2 04             	add    $0x4,%edx
4122f4:	83 f8 20             	cmp    $0x20,%eax
4122f7:	72 f3                	jb     0x4122ec
4122f9:	33 c0                	xor    %eax,%eax
4122fb:	5e                   	pop    %esi
4122fc:	c2 08 00             	ret    $0x8
4122ff:	8b 84 81 80 00 00 00 	mov    0x80(%ecx,%eax,4),%eax
412306:	2b c6                	sub    %esi,%eax
412308:	3b 44 24 0c          	cmp    0xc(%esp),%eax
41230c:	72 ed                	jb     0x4122fb
41230e:	8b 44 24 0c          	mov    0xc(%esp),%eax
412312:	eb e7                	jmp    0x4122fb
412314:	55                   	push   %ebp
412315:	8b ec                	mov    %esp,%ebp
412317:	83 ec 10             	sub    $0x10,%esp
41231a:	53                   	push   %ebx
41231b:	8b 5d 08             	mov    0x8(%ebp),%ebx
41231e:	56                   	push   %esi
41231f:	8b f1                	mov    %ecx,%esi
412321:	85 db                	test   %ebx,%ebx
412323:	75 0a                	jne    0x41232f
412325:	b9 74 2a 43 00       	mov    $0x432a74,%ecx
41232a:	e8 d9 41 ff ff       	call   0x406508
41232f:	b8 00 00 04 00       	mov    $0x40000,%eax
412334:	3b d8                	cmp    %eax,%ebx
412336:	73 05                	jae    0x41233d
412338:	8b d8                	mov    %eax,%ebx
41233a:	89 5d 08             	mov    %ebx,0x8(%ebp)
41233d:	3b 9e f4 e6 00 00    	cmp    0xe6f4(%esi),%ebx
412343:	0f 86 20 01 00 00    	jbe    0x412469
412349:	8b c3                	mov    %ebx,%eax
41234b:	c1 e8 10             	shr    $0x10,%eax
41234e:	3d 00 00 01 00       	cmp    $0x10000,%eax
412353:	0f 87 10 01 00 00    	ja     0x412469
412359:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
41235d:	74 35                	je     0x412394
41235f:	83 be 34 4b 00 00 00 	cmpl   $0x0,0x4b34(%esi)
412366:	75 09                	jne    0x412371
412368:	80 be 38 4c 00 00 00 	cmpb   $0x0,0x4c38(%esi)
41236f:	74 23                	je     0x412394
412371:	80 be 38 4c 00 00 00 	cmpb   $0x0,0x4c38(%esi)
412378:	c6 45 0f 01          	movb   $0x1,0xf(%ebp)
41237c:	74 1a                	je     0x412398
41237e:	8d 4d f0             	lea    -0x10(%ebp),%ecx
412381:	e8 08 fa ff ff       	call   0x411d8e
412386:	68 c4 d4 42 00       	push   $0x42d4c4
41238b:	8d 45 f0             	lea    -0x10(%ebp),%eax
41238e:	50                   	push   %eax
41238f:	e8 49 9f 00 00       	call   0x41c2dd
412394:	c6 45 0f 00          	movb   $0x0,0xf(%ebp)
412398:	80 be 38 4c 00 00 00 	cmpb   $0x0,0x4c38(%esi)
41239f:	57                   	push   %edi
4123a0:	74 06                	je     0x4123a8
4123a2:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4123a6:	eb 0e                	jmp    0x4123b6
4123a8:	53                   	push   %ebx
4123a9:	e8 b0 a5 00 00       	call   0x41c95e
4123ae:	59                   	pop    %ecx
4123af:	89 45 fc             	mov    %eax,-0x4(%ebp)
4123b2:	85 c0                	test   %eax,%eax
4123b4:	75 37                	jne    0x4123ed
4123b6:	80 7d 0f 00          	cmpb   $0x0,0xf(%ebp)
4123ba:	75 c2                	jne    0x41237e
4123bc:	81 fb 00 00 00 01    	cmp    $0x1000000,%ebx
4123c2:	72 ba                	jb     0x41237e
4123c4:	8d be 34 4b 00 00    	lea    0x4b34(%esi),%edi
4123ca:	8b 07                	mov    (%edi),%eax
4123cc:	85 c0                	test   %eax,%eax
4123ce:	74 0a                	je     0x4123da
4123d0:	50                   	push   %eax
4123d1:	e8 0c 7b 00 00       	call   0x419ee2
4123d6:	83 27 00             	andl   $0x0,(%edi)
4123d9:	59                   	pop    %ecx
4123da:	53                   	push   %ebx
4123db:	8d 8e 38 4b 00 00    	lea    0x4b38(%esi),%ecx
4123e1:	e8 8b fd ff ff       	call   0x412171
4123e6:	c6 86 38 4c 00 00 01 	movb   $0x1,0x4c38(%esi)
4123ed:	80 be 38 4c 00 00 00 	cmpb   $0x0,0x4c38(%esi)
4123f4:	75 65                	jne    0x41245b
4123f6:	53                   	push   %ebx
4123f7:	6a 00                	push   $0x0
4123f9:	ff 75 fc             	push   -0x4(%ebp)
4123fc:	e8 ff 7d 00 00       	call   0x41a200
412401:	83 c4 0c             	add    $0xc,%esp
412404:	80 7d 0f 00          	cmpb   $0x0,0xf(%ebp)
412408:	74 39                	je     0x412443
41240a:	33 c9                	xor    %ecx,%ecx
41240c:	41                   	inc    %ecx
41240d:	39 8e f4 e6 00 00    	cmp    %ecx,0xe6f4(%esi)
412413:	76 2e                	jbe    0x412443
412415:	8b 46 70             	mov    0x70(%esi),%eax
412418:	8b be f4 e6 00 00    	mov    0xe6f4(%esi),%edi
41241e:	2b c1                	sub    %ecx,%eax
412420:	4f                   	dec    %edi
412421:	23 f8                	and    %eax,%edi
412423:	8d 53 ff             	lea    -0x1(%ebx),%edx
412426:	8b 5d 08             	mov    0x8(%ebp),%ebx
412429:	23 d0                	and    %eax,%edx
41242b:	8b 86 34 4b 00 00    	mov    0x4b34(%esi),%eax
412431:	8a 04 07             	mov    (%edi,%eax,1),%al
412434:	8b 7d fc             	mov    -0x4(%ebp),%edi
412437:	41                   	inc    %ecx
412438:	88 04 3a             	mov    %al,(%edx,%edi,1)
41243b:	3b 8e f4 e6 00 00    	cmp    0xe6f4(%esi),%ecx
412441:	72 d2                	jb     0x412415
412443:	8d be 34 4b 00 00    	lea    0x4b34(%esi),%edi
412449:	8b 07                	mov    (%edi),%eax
41244b:	85 c0                	test   %eax,%eax
41244d:	74 07                	je     0x412456