410fd0:	57                   	push   %edi
410fd1:	ff 15 04 a1 42 00    	call   *0x42a104
410fd7:	ff 44 24 18          	incl   0x18(%esp)
410fdb:	8b 44 24 18          	mov    0x18(%esp),%eax
410fdf:	83 c5 04             	add    $0x4,%ebp
410fe2:	3b 06                	cmp    (%esi),%eax
410fe4:	72 98                	jb     0x410f7e
410fe6:	5f                   	pop    %edi
410fe7:	89 9e 88 01 00 00    	mov    %ebx,0x188(%esi)
410fed:	89 9e 8c 01 00 00    	mov    %ebx,0x18c(%esi)
410ff3:	89 9e 84 00 00 00    	mov    %ebx,0x84(%esi)
410ff9:	8b c6                	mov    %esi,%eax
410ffb:	5e                   	pop    %esi
410ffc:	5d                   	pop    %ebp
410ffd:	5b                   	pop    %ebx
410ffe:	59                   	pop    %ecx
410fff:	c2 04 00             	ret    $0x4
411002:	b8 1a 94 42 00       	mov    $0x42941a,%eax
411007:	e8 ac 8e 00 00       	call   0x419eb8
41100c:	51                   	push   %ecx
41100d:	56                   	push   %esi
41100e:	be 58 ea 44 00       	mov    $0x44ea58,%esi
411013:	56                   	push   %esi
411014:	ff 15 e8 a0 42 00    	call   *0x42a0e8
41101a:	a1 50 ea 44 00       	mov    0x44ea50,%eax
41101f:	ff 05 50 ea 44 00    	incl   0x44ea50
411025:	85 c0                	test   %eax,%eax
411027:	75 25                	jne    0x41104e
411029:	68 b4 01 00 00       	push   $0x1b4
41102e:	e8 47 92 00 00       	call   0x41a27a
411033:	59                   	pop    %ecx
411034:	8b c8                	mov    %eax,%ecx
411036:	89 4d f0             	mov    %ecx,-0x10(%ebp)
411039:	33 c0                	xor    %eax,%eax
41103b:	89 45 fc             	mov    %eax,-0x4(%ebp)
41103e:	3b c8                	cmp    %eax,%ecx
411040:	74 07                	je     0x411049
411042:	6a 20                	push   $0x20
411044:	e8 a9 fe ff ff       	call   0x410ef2
411049:	a3 4c ea 44 00       	mov    %eax,0x44ea4c
41104e:	56                   	push   %esi
41104f:	ff 15 ec a0 42 00    	call   *0x42a0ec
411055:	8b 4d f4             	mov    -0xc(%ebp),%ecx
411058:	a1 4c ea 44 00       	mov    0x44ea4c,%eax
41105d:	5e                   	pop    %esi
41105e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
411065:	c9                   	leave
411066:	c3                   	ret
411067:	8b c1                	mov    %ecx,%eax
411069:	8b 4c 24 04          	mov    0x4(%esp),%ecx
41106d:	8b 11                	mov    (%ecx),%edx
41106f:	8b 49 04             	mov    0x4(%ecx),%ecx
411072:	89 10                	mov    %edx,(%eax)
411074:	89 48 04             	mov    %ecx,0x4(%eax)
411077:	c2 04 00             	ret    $0x4
41107a:	8b 01                	mov    (%ecx),%eax
41107c:	8b 49 04             	mov    0x4(%ecx),%ecx
41107f:	8b 54 24 04          	mov    0x4(%esp),%edx
411083:	89 02                	mov    %eax,(%edx)
411085:	89 4a 04             	mov    %ecx,0x4(%edx)
411088:	c2 04 00             	ret    $0x4
41108b:	8b 44 24 04          	mov    0x4(%esp),%eax
41108f:	56                   	push   %esi
411090:	8b f1                	mov    %ecx,%esi
411092:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
411096:	6a 00                	push   $0x0
411098:	05 00 91 10 b6       	add    $0xb6109100,%eax
41109d:	68 80 96 98 00       	push   $0x989680
4110a2:	83 d1 02             	adc    $0x2,%ecx
4110a5:	51                   	push   %ecx
4110a6:	50                   	push   %eax
4110a7:	e8 04 95 00 00       	call   0x41a5b0
4110ac:	89 06                	mov    %eax,(%esi)
4110ae:	89 56 04             	mov    %edx,0x4(%esi)
4110b1:	8b c6                	mov    %esi,%eax
4110b3:	5e                   	pop    %esi
4110b4:	c2 08 00             	ret    $0x8
4110b7:	8b 44 24 04          	mov    0x4(%esp),%eax
4110bb:	89 01                	mov    %eax,(%ecx)
4110bd:	8b 44 24 08          	mov    0x8(%esp),%eax
4110c1:	89 41 04             	mov    %eax,0x4(%ecx)
4110c4:	c2 08 00             	ret    $0x8
4110c7:	55                   	push   %ebp
4110c8:	8b ec                	mov    %esp,%ebp
4110ca:	83 ec 18             	sub    $0x18,%esp
4110cd:	56                   	push   %esi
4110ce:	8d 45 e8             	lea    -0x18(%ebp),%eax
4110d1:	50                   	push   %eax
4110d2:	8b f1                	mov    %ecx,%esi
4110d4:	ff 15 14 a1 42 00    	call   *0x42a114
4110da:	8d 45 f8             	lea    -0x8(%ebp),%eax
4110dd:	50                   	push   %eax
4110de:	8d 45 e8             	lea    -0x18(%ebp),%eax
4110e1:	50                   	push   %eax
4110e2:	ff 15 10 a1 42 00    	call   *0x42a110
4110e8:	8b 45 f8             	mov    -0x8(%ebp),%eax
4110eb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4110ee:	89 06                	mov    %eax,(%esi)
4110f0:	89 4e 04             	mov    %ecx,0x4(%esi)
4110f3:	5e                   	pop    %esi
4110f4:	c9                   	leave
4110f5:	c3                   	ret
4110f6:	8b 4c 24 04          	mov    0x4(%esp),%ecx
4110fa:	f6 c1 03             	test   $0x3,%cl
4110fd:	75 21                	jne    0x411120
4110ff:	56                   	push   %esi
411100:	8b c1                	mov    %ecx,%eax
411102:	6a 64                	push   $0x64
411104:	99                   	cltd
411105:	5e                   	pop    %esi
411106:	f7 fe                	idiv   %esi
411108:	5e                   	pop    %esi
411109:	85 d2                	test   %edx,%edx
41110b:	75 0e                	jne    0x41111b
41110d:	8b c1                	mov    %ecx,%eax
41110f:	99                   	cltd
411110:	b9 90 01 00 00       	mov    $0x190,%ecx
411115:	f7 f9                	idiv   %ecx
411117:	85 d2                	test   %edx,%edx
411119:	75 05                	jne    0x411120
41111b:	33 c0                	xor    %eax,%eax
41111d:	40                   	inc    %eax
41111e:	eb 02                	jmp    0x411122
411120:	33 c0                	xor    %eax,%eax
411122:	c2 04 00             	ret    $0x4
411125:	55                   	push   %ebp
411126:	8b ec                	mov    %esp,%ebp
411128:	83 ec 48             	sub    $0x48,%esp
41112b:	8b 01                	mov    (%ecx),%eax
41112d:	8b 49 04             	mov    0x4(%ecx),%ecx
411130:	53                   	push   %ebx
411131:	56                   	push   %esi
411132:	8b 35 ac a0 42 00    	mov    0x42a0ac,%esi
411138:	89 45 f0             	mov    %eax,-0x10(%ebp)
41113b:	57                   	push   %edi
41113c:	8d 45 c8             	lea    -0x38(%ebp),%eax
41113f:	50                   	push   %eax
411140:	8d 45 f0             	lea    -0x10(%ebp),%eax
411143:	50                   	push   %eax
411144:	89 4d f4             	mov    %ecx,-0xc(%ebp)
411147:	ff d6                	call   *%esi
411149:	8d 45 b8             	lea    -0x48(%ebp),%eax
41114c:	50                   	push   %eax
41114d:	8d 45 c8             	lea    -0x38(%ebp),%eax
411150:	50                   	push   %eax
411151:	6a 00                	push   $0x0
411153:	ff 15 18 a1 42 00    	call   *0x42a118
411159:	8b 3d 10 a1 42 00    	mov    0x42a110,%edi
41115f:	8d 45 f8             	lea    -0x8(%ebp),%eax
411162:	50                   	push   %eax
411163:	8d 45 b8             	lea    -0x48(%ebp),%eax
411166:	50                   	push   %eax
411167:	ff d7                	call   *%edi
411169:	8d 45 d8             	lea    -0x28(%ebp),%eax
41116c:	50                   	push   %eax
41116d:	8d 45 f8             	lea    -0x8(%ebp),%eax
411170:	50                   	push   %eax
411171:	ff d6                	call   *%esi
411173:	8b 75 08             	mov    0x8(%ebp),%esi
411176:	0f b7 5d e0          	movzwl -0x20(%ebp),%ebx
41117a:	0f b7 45 de          	movzwl -0x22(%ebp),%eax
41117e:	0f b7 4d da          	movzwl -0x26(%ebp),%ecx
411182:	0f b7 55 d8          	movzwl -0x28(%ebp),%edx
411186:	89 5e 0c             	mov    %ebx,0xc(%esi)
411189:	0f b7 5d e2          	movzwl -0x1e(%ebp),%ebx
41118d:	89 46 08             	mov    %eax,0x8(%esi)
411190:	89 5e 10             	mov    %ebx,0x10(%esi)
411193:	0f b7 5d e4          	movzwl -0x1c(%ebp),%ebx
411197:	48                   	dec    %eax
411198:	89 46 20             	mov    %eax,0x20(%esi)
41119b:	33 c0                	xor    %eax,%eax
41119d:	89 5e 14             	mov    %ebx,0x14(%esi)
4111a0:	0f b7 5d dc          	movzwl -0x24(%ebp),%ebx
4111a4:	40                   	inc    %eax
4111a5:	89 16                	mov    %edx,(%esi)
4111a7:	89 4e 04             	mov    %ecx,0x4(%esi)
4111aa:	89 5e 1c             	mov    %ebx,0x1c(%esi)
4111ad:	3b c8                	cmp    %eax,%ecx
4111af:	76 1d                	jbe    0x4111ce
4111b1:	c7 45 08 30 f1 42 00 	movl   $0x42f130,0x8(%ebp)
4111b8:	83 f8 0c             	cmp    $0xc,%eax
4111bb:	77 11                	ja     0x4111ce
4111bd:	8b 5d 08             	mov    0x8(%ebp),%ebx
4111c0:	8b 1b                	mov    (%ebx),%ebx
4111c2:	01 5e 20             	add    %ebx,0x20(%esi)
4111c5:	83 45 08 04          	addl   $0x4,0x8(%ebp)
4111c9:	40                   	inc    %eax
4111ca:	3b c1                	cmp    %ecx,%eax
4111cc:	72 ea                	jb     0x4111b8
4111ce:	83 f9 02             	cmp    $0x2,%ecx
4111d1:	76 0d                	jbe    0x4111e0
4111d3:	52                   	push   %edx
4111d4:	e8 1d ff ff ff       	call   0x4110f6
4111d9:	84 c0                	test   %al,%al
4111db:	74 03                	je     0x4111e0
4111dd:	ff 46 20             	incl   0x20(%esi)
4111e0:	33 c0                	xor    %eax,%eax
4111e2:	66 89 45 e6          	mov    %ax,-0x1a(%ebp)
4111e6:	8d 45 e8             	lea    -0x18(%ebp),%eax
4111e9:	50                   	push   %eax
4111ea:	8d 45 d8             	lea    -0x28(%ebp),%eax
4111ed:	50                   	push   %eax
4111ee:	ff d7                	call   *%edi
4111f0:	8b 45 ec             	mov    -0x14(%ebp),%eax
4111f3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4111f6:	33 d2                	xor    %edx,%edx
4111f8:	33 c9                	xor    %ecx,%ecx
4111fa:	2b d1                	sub    %ecx,%edx
4111fc:	2b 55 e8             	sub    -0x18(%ebp),%edx
4111ff:	5f                   	pop    %edi
411200:	03 55 f8             	add    -0x8(%ebp),%edx
411203:	89 56 18             	mov    %edx,0x18(%esi)
411206:	5e                   	pop    %esi
411207:	5b                   	pop    %ebx
411208:	c9                   	leave
411209:	c2 04 00             	ret    $0x4
41120c:	55                   	push   %ebp
41120d:	8b ec                	mov    %esp,%ebp
41120f:	83 ec 40             	sub    $0x40,%esp
411212:	53                   	push   %ebx
411213:	56                   	push   %esi
411214:	8b 75 08             	mov    0x8(%ebp),%esi
411217:	66 8b 06             	mov    (%esi),%ax
41121a:	66 89 45 e0          	mov    %ax,-0x20(%ebp)
41121e:	66 8b 46 04          	mov    0x4(%esi),%ax
411222:	8b 1d 10 a1 42 00    	mov    0x42a110,%ebx
411228:	66 89 45 e2          	mov    %ax,-0x1e(%ebp)
41122c:	66 8b 46 08          	mov    0x8(%esi),%ax
411230:	66 89 45 e6          	mov    %ax,-0x1a(%ebp)
411234:	66 8b 46 0c          	mov    0xc(%esi),%ax
411238:	66 89 45 e8          	mov    %ax,-0x18(%ebp)
41123c:	66 8b 46 10          	mov    0x10(%esi),%ax
411240:	66 89 45 ea          	mov    %ax,-0x16(%ebp)
411244:	66 8b 46 14          	mov    0x14(%esi),%ax
411248:	66 89 45 ec          	mov    %ax,-0x14(%ebp)
41124c:	33 c0                	xor    %eax,%eax
41124e:	57                   	push   %edi
41124f:	66 89 45 ee          	mov    %ax,-0x12(%ebp)
411253:	8d 45 f8             	lea    -0x8(%ebp),%eax
411256:	50                   	push   %eax
411257:	8d 45 e0             	lea    -0x20(%ebp),%eax
41125a:	50                   	push   %eax
41125b:	8b f9                	mov    %ecx,%edi
41125d:	ff d3                	call   *%ebx
41125f:	85 c0                	test   %eax,%eax
411261:	74 43                	je     0x4112a6
411263:	8b 76 18             	mov    0x18(%esi),%esi
411266:	01 75 f8             	add    %esi,-0x8(%ebp)
411269:	39 75 f8             	cmp    %esi,-0x8(%ebp)
41126c:	73 03                	jae    0x411271
41126e:	ff 45 fc             	incl   -0x4(%ebp)
411271:	8d 45 d0             	lea    -0x30(%ebp),%eax
411274:	50                   	push   %eax
411275:	8d 45 f8             	lea    -0x8(%ebp),%eax
411278:	50                   	push   %eax
411279:	ff 15 ac a0 42 00    	call   *0x42a0ac
41127f:	8d 45 c0             	lea    -0x40(%ebp),%eax
411282:	50                   	push   %eax
411283:	8d 45 d0             	lea    -0x30(%ebp),%eax
411286:	50                   	push   %eax
411287:	6a 00                	push   $0x0
411289:	ff 15 1c a1 42 00    	call   *0x42a11c
41128f:	8d 45 f0             	lea    -0x10(%ebp),%eax
411292:	50                   	push   %eax
411293:	8d 45 c0             	lea    -0x40(%ebp),%eax
411296:	50                   	push   %eax
411297:	ff d3                	call   *%ebx
411299:	8b 45 f0             	mov    -0x10(%ebp),%eax
41129c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
41129f:	89 07                	mov    %eax,(%edi)
4112a1:	89 4f 04             	mov    %ecx,0x4(%edi)
4112a4:	eb 07                	jmp    0x4112ad
4112a6:	83 27 00             	andl   $0x0,(%edi)
4112a9:	83 67 04 00          	andl   $0x0,0x4(%edi)
4112ad:	5f                   	pop    %edi
4112ae:	5e                   	pop    %esi
4112af:	5b                   	pop    %ebx
4112b0:	c9                   	leave
4112b1:	c2 04 00             	ret    $0x4
4112b4:	55                   	push   %ebp
4112b5:	8b ec                	mov    %esp,%ebp
4112b7:	83 ec 24             	sub    $0x24,%esp
4112ba:	8b 45 08             	mov    0x8(%ebp),%eax
4112bd:	8b d0                	mov    %eax,%edx
4112bf:	83 e2 1f             	and    $0x1f,%edx
4112c2:	03 d2                	add    %edx,%edx
4112c4:	89 55 f0             	mov    %edx,-0x10(%ebp)
4112c7:	8b d0                	mov    %eax,%edx
4112c9:	c1 ea 05             	shr    $0x5,%edx
4112cc:	83 e2 3f             	and    $0x3f,%edx
4112cf:	89 55 ec             	mov    %edx,-0x14(%ebp)
4112d2:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
4112d6:	8b d0                	mov    %eax,%edx
4112d8:	c1 ea 0b             	shr    $0xb,%edx
4112db:	83 e2 1f             	and    $0x1f,%edx
4112de:	89 55 e8             	mov    %edx,-0x18(%ebp)
4112e1:	8b d0                	mov    %eax,%edx
4112e3:	c1 ea 10             	shr    $0x10,%edx
4112e6:	83 e2 1f             	and    $0x1f,%edx
4112e9:	89 55 e4             	mov    %edx,-0x1c(%ebp)
4112ec:	8b d0                	mov    %eax,%edx
4112ee:	c1 e8 19             	shr    $0x19,%eax
4112f1:	05 bc 07 00 00       	add    $0x7bc,%eax
4112f6:	c1 ea 15             	shr    $0x15,%edx
4112f9:	89 45 dc             	mov    %eax,-0x24(%ebp)
4112fc:	8d 45 dc             	lea    -0x24(%ebp),%eax
4112ff:	83 e2 0f             	and    $0xf,%edx
411302:	50                   	push   %eax
411303:	89 55 e0             	mov    %edx,-0x20(%ebp)
411306:	e8 01 ff ff ff       	call   0x41120c
41130b:	c9                   	leave
41130c:	c2 04 00             	ret    $0x4
41130f:	55                   	push   %ebp
411310:	8b ec                	mov    %esp,%ebp
411312:	ff 75 1c             	push   0x1c(%ebp)
411315:	ff 75 18             	push   0x18(%ebp)
411318:	ff 75 14             	push   0x14(%ebp)
41131b:	ff 75 10             	push   0x10(%ebp)
41131e:	ff 75 0c             	push   0xc(%ebp)
411321:	ff 75 08             	push   0x8(%ebp)
411324:	e8 61 d2 ff ff       	call   0x40e58a
411329:	5d                   	pop    %ebp
41132a:	c2 18 00             	ret    $0x18
41132d:	80 7c 24 04 00       	cmpb   $0x0,0x4(%esp)
411332:	ff 74 24 08          	push   0x8(%esp)
411336:	0f 95 c0             	setne  %al
411339:	8d 04 85 54 00 00 00 	lea    0x54(,%eax,4),%eax
411340:	50                   	push   %eax
411341:	e8 41 cf ff ff       	call   0x40e287
411346:	c2 08 00             	ret    $0x8
411349:	e9 2e c9 ff ff       	jmp    0x40dc7c
41134e:	55                   	push   %ebp
41134f:	8b ec                	mov    %esp,%ebp
411351:	ff 75 24             	push   0x24(%ebp)
411354:	ff 75 20             	push   0x20(%ebp)
411357:	ff 75 1c             	push   0x1c(%ebp)
41135a:	ff 75 18             	push   0x18(%ebp)
41135d:	ff 75 14             	push   0x14(%ebp)
411360:	ff 75 10             	push   0x10(%ebp)
411363:	ff 75 0c             	push   0xc(%ebp)
411366:	ff 75 08             	push   0x8(%ebp)
411369:	e8 5a c0 ff ff       	call   0x40d3c8
41136e:	5d                   	pop    %ebp
41136f:	c2 20 00             	ret    $0x20
411372:	56                   	push   %esi
411373:	8b f1                	mov    %ecx,%esi
411375:	8b 46 48             	mov    0x48(%esi),%eax
411378:	83 f8 6a             	cmp    $0x6a,%eax
41137b:	0f 8f c5 01 00 00    	jg     0x411546
411381:	0f 84 ab 01 00 00    	je     0x411532