403fbe:	e8 56 ff ff ff       	call   0x403f19
403fc3:	83 c4 24             	add    $0x24,%esp
403fc6:	8b ce                	mov    %esi,%ecx
403fc8:	50                   	push   %eax
403fc9:	e8 04 fb ff ff       	call   0x403ad2
403fce:	6a 00                	push   $0x0
403fd0:	6a 01                	push   $0x1
403fd2:	8d 4d e0             	lea    -0x20(%ebp),%ecx
403fd5:	e8 25 1e 00 00       	call   0x405dff
403fda:	8b 4d 08             	mov    0x8(%ebp),%ecx
403fdd:	8b c6                	mov    %esi,%eax
403fdf:	8b 55 0c             	mov    0xc(%ebp),%edx
403fe2:	89 4e 08             	mov    %ecx,0x8(%esi)
403fe5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
403fe8:	c7 06 3c 92 43 00    	movl   $0x43923c,(%esi)
403fee:	33 cd                	xor    %ebp,%ecx
403ff0:	89 56 0c             	mov    %edx,0xc(%esi)
403ff3:	5e                   	pop    %esi
403ff4:	e8 ae 5c 00 00       	call   0x409ca7
403ff9:	c9                   	leave
403ffa:	c2 0c 00             	ret    $0xc
403ffd:	f6 44 24 04 01       	testb  $0x1,0x4(%esp)
404002:	56                   	push   %esi
404003:	8b f1                	mov    %ecx,%esi
404005:	c7 06 54 97 43 00    	movl   $0x439754,(%esi)
40400b:	74 0a                	je     0x404017
40400d:	6a 10                	push   $0x10
40400f:	56                   	push   %esi
404010:	e8 db 29 00 00       	call   0x4069f0
404015:	59                   	pop    %ecx
404016:	59                   	pop    %ecx
404017:	8b c6                	mov    %esi,%eax
404019:	5e                   	pop    %esi
40401a:	c2 04 00             	ret    $0x4
40401d:	55                   	push   %ebp
40401e:	8b ec                	mov    %esp,%ebp
404020:	83 e4 f8             	and    $0xfffffff8,%esp
404023:	83 ec 1c             	sub    $0x1c,%esp
404026:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
40402b:	33 c4                	xor    %esp,%eax
40402d:	89 44 24 18          	mov    %eax,0x18(%esp)
404031:	8b 45 10             	mov    0x10(%ebp),%eax
404034:	56                   	push   %esi
404035:	8b f1                	mov    %ecx,%esi
404037:	8d 4c 24 04          	lea    0x4(%esp),%ecx
40403b:	50                   	push   %eax
40403c:	e8 18 0f 00 00       	call   0x404f59
404041:	8d 44 24 04          	lea    0x4(%esp),%eax
404045:	8b ce                	mov    %esi,%ecx
404047:	50                   	push   %eax
404048:	ff 75 0c             	push   0xc(%ebp)
40404b:	ff 75 08             	push   0x8(%ebp)
40404e:	e8 40 ff ff ff       	call   0x403f93
404053:	6a 00                	push   $0x0
404055:	6a 01                	push   $0x1
404057:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
40405b:	e8 9f 1d 00 00       	call   0x405dff
404060:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
404064:	8b c6                	mov    %esi,%eax
404066:	c7 06 48 92 43 00    	movl   $0x439248,(%esi)
40406c:	5e                   	pop    %esi
40406d:	33 cc                	xor    %esp,%ecx
40406f:	e8 33 5c 00 00       	call   0x409ca7
404074:	8b e5                	mov    %ebp,%esp
404076:	5d                   	pop    %ebp
404077:	c2 0c 00             	ret    $0xc
40407a:	ff 74 24 08          	push   0x8(%esp)
40407e:	e8 be 95 02 00       	call   0x42d641
404083:	59                   	pop    %ecx
404084:	8b 4c 24 04          	mov    0x4(%esp),%ecx
404088:	50                   	push   %eax
404089:	e8 cb 0e 00 00       	call   0x404f59
40408e:	8b 44 24 04          	mov    0x4(%esp),%eax
404092:	c2 08 00             	ret    $0x8
404095:	b8 1c 95 43 00       	mov    $0x43951c,%eax
40409a:	c3                   	ret
40409b:	55                   	push   %ebp
40409c:	8b ec                	mov    %esp,%ebp
40409e:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
4040a2:	75 0f                	jne    0x4040b3
4040a4:	8b 4d 08             	mov    0x8(%ebp),%ecx
4040a7:	68 28 95 43 00       	push   $0x439528
4040ac:	e8 a8 0e 00 00       	call   0x404f59
4040b1:	eb 0b                	jmp    0x4040be
4040b3:	ff 75 0c             	push   0xc(%ebp)
4040b6:	ff 75 08             	push   0x8(%ebp)
4040b9:	e8 bc ff ff ff       	call   0x40407a
4040be:	8b 45 08             	mov    0x8(%ebp),%eax
4040c1:	5d                   	pop    %ebp
4040c2:	c2 08 00             	ret    $0x8
4040c5:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
4040cb:	8b 08                	mov    (%eax),%ecx
4040cd:	a1 b8 ff 43 00       	mov    0x43ffb8,%eax
4040d2:	3b 81 04 00 00 00    	cmp    0x4(%ecx),%eax
4040d8:	7f 09                	jg     0x4040e3
4040da:	eb 01                	jmp    0x4040dd
4040dc:	5e                   	pop    %esi
4040dd:	b8 b0 ff 43 00       	mov    $0x43ffb0,%eax
4040e2:	c3                   	ret
4040e3:	56                   	push   %esi
4040e4:	be b8 ff 43 00       	mov    $0x43ffb8,%esi
4040e9:	56                   	push   %esi
4040ea:	e8 e6 58 00 00       	call   0x4099d5
4040ef:	59                   	pop    %ecx
4040f0:	83 3d b8 ff 43 00 ff 	cmpl   $0xffffffff,0x43ffb8
4040f7:	75 e3                	jne    0x4040dc
4040f9:	68 30 03 43 00       	push   $0x430330
4040fe:	c7 05 b0 ff 43 00 f8 	movl   $0x4396f8,0x43ffb0
404105:	96 43 00
404108:	c7 05 b4 ff 43 00 05 	movl   $0x5,0x43ffb4
40410f:	00 00 00
404112:	e8 d9 5d 00 00       	call   0x409ef0
404117:	56                   	push   %esi
404118:	e8 67 58 00 00       	call   0x409984
40411d:	59                   	pop    %ecx
40411e:	59                   	pop    %ecx
40411f:	eb bb                	jmp    0x4040dc
404121:	55                   	push   %ebp
404122:	8b ec                	mov    %esp,%ebp
404124:	83 e4 f8             	and    $0xfffffff8,%esp
404127:	51                   	push   %ecx
404128:	8b 45 0c             	mov    0xc(%ebp),%eax
40412b:	56                   	push   %esi
40412c:	ff 75 08             	push   0x8(%ebp)
40412f:	8b f1                	mov    %ecx,%esi
404131:	ff 70 04             	push   0x4(%eax)
404134:	ff 30                	push   (%eax)
404136:	e8 e2 fe ff ff       	call   0x40401d
40413b:	c7 06 54 92 43 00    	movl   $0x439254,(%esi)
404141:	8b c6                	mov    %esi,%eax
404143:	5e                   	pop    %esi
404144:	8b e5                	mov    %ebp,%esp
404146:	5d                   	pop    %ebp
404147:	c2 08 00             	ret    $0x8
40414a:	55                   	push   %ebp
40414b:	8b ec                	mov    %esp,%ebp
40414d:	83 e4 f8             	and    $0xfffffff8,%esp
404150:	8b 45 08             	mov    0x8(%ebp),%eax
404153:	83 ec 18             	sub    $0x18,%esp
404156:	83 e0 17             	and    $0x17,%eax
404159:	89 41 0c             	mov    %eax,0xc(%ecx)
40415c:	8b 49 10             	mov    0x10(%ecx),%ecx
40415f:	23 c8                	and    %eax,%ecx
404161:	74 3c                	je     0x40419f
404163:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
404167:	75 36                	jne    0x40419f
404169:	8d 04 24             	lea    (%esp),%eax
40416c:	6a 01                	push   $0x1
40416e:	50                   	push   %eax
40416f:	f6 c1 04             	test   $0x4,%cl
404172:	75 31                	jne    0x4041a5
404174:	f6 c1 02             	test   $0x2,%cl
404177:	74 13                	je     0x40418c
404179:	e8 86 fd ff ff       	call   0x403f04
40417e:	59                   	pop    %ecx
40417f:	59                   	pop    %ecx
404180:	50                   	push   %eax
404181:	68 58 95 43 00       	push   $0x439558
404186:	8d 4c 24 10          	lea    0x10(%esp),%ecx
40418a:	eb 2a                	jmp    0x4041b6
40418c:	e8 73 fd ff ff       	call   0x403f04
404191:	59                   	pop    %ecx
404192:	59                   	pop    %ecx
404193:	50                   	push   %eax
404194:	68 70 95 43 00       	push   $0x439570
404199:	8d 4c 24 10          	lea    0x10(%esp),%ecx
40419d:	eb 17                	jmp    0x4041b6
40419f:	8b e5                	mov    %ebp,%esp
4041a1:	5d                   	pop    %ebp
4041a2:	c2 08 00             	ret    $0x8
4041a5:	e8 5a fd ff ff       	call   0x403f04
4041aa:	59                   	pop    %ecx
4041ab:	59                   	pop    %ecx
4041ac:	50                   	push   %eax
4041ad:	68 40 95 43 00       	push   $0x439540
4041b2:	8d 4c 24 10          	lea    0x10(%esp),%ecx
4041b6:	e8 66 ff ff ff       	call   0x404121
4041bb:	8b c8                	mov    %eax,%ecx
4041bd:	e8 97 f8 ff ff       	call   0x403a59
4041c2:	cc                   	int3
4041c3:	56                   	push   %esi
4041c4:	8b f1                	mov    %ecx,%esi
4041c6:	56                   	push   %esi
4041c7:	c7 06 10 97 43 00    	movl   $0x439710,(%esi)
4041cd:	e8 26 93 02 00       	call   0x42d4f8
4041d2:	f6 44 24 0c 01       	testb  $0x1,0xc(%esp)
4041d7:	59                   	pop    %ecx
4041d8:	74 0a                	je     0x4041e4
4041da:	6a 38                	push   $0x38
4041dc:	56                   	push   %esi
4041dd:	e8 0e 28 00 00       	call   0x4069f0
4041e2:	59                   	pop    %ecx
4041e3:	59                   	pop    %ecx
4041e4:	8b c6                	mov    %esi,%eax
4041e6:	5e                   	pop    %esi
4041e7:	c2 04 00             	ret    $0x4
4041ea:	81 ec 28 05 00 00    	sub    $0x528,%esp
4041f0:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
4041f5:	33 c4                	xor    %esp,%eax
4041f7:	89 84 24 24 05 00 00 	mov    %eax,0x524(%esp)
4041fe:	8b 84 24 2c 05 00 00 	mov    0x52c(%esp),%eax
404205:	89 44 24 08          	mov    %eax,0x8(%esp)
404209:	8b 84 24 30 05 00 00 	mov    0x530(%esp),%eax
404210:	53                   	push   %ebx
404211:	89 44 24 08          	mov    %eax,0x8(%esp)
404215:	8b 84 24 3c 05 00 00 	mov    0x53c(%esp),%eax
40421c:	55                   	push   %ebp
40421d:	56                   	push   %esi
40421e:	89 44 24 24          	mov    %eax,0x24(%esp)
404222:	8b f1                	mov    %ecx,%esi
404224:	8b 84 24 48 05 00 00 	mov    0x548(%esp),%eax
40422b:	89 54 24 18          	mov    %edx,0x18(%esp)
40422f:	89 44 24 20          	mov    %eax,0x20(%esp)
404233:	57                   	push   %edi
404234:	85 c0                	test   %eax,%eax
404236:	74 03                	je     0x40423b
404238:	83 20 00             	andl   $0x0,(%eax)
40423b:	8b 1a                	mov    (%edx),%ebx
40423d:	8b 03                	mov    (%ebx),%eax
40423f:	89 44 24 10          	mov    %eax,0x10(%esp)
404243:	eb 51                	jmp    0x404296
404245:	8b 78 20             	mov    0x20(%eax),%edi
404248:	83 c0 10             	add    $0x10,%eax
40424b:	85 ff                	test   %edi,%edi
40424d:	0f 84 35 03 00 00    	je     0x404588
404253:	33 c9                	xor    %ecx,%ecx
404255:	85 ff                	test   %edi,%edi
404257:	74 30                	je     0x404289
404259:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
40425d:	72 04                	jb     0x404263
40425f:	8b 10                	mov    (%eax),%edx
404261:	eb 02                	jmp    0x404265
404263:	8b d0                	mov    %eax,%edx
404265:	0f b7 14 4a          	movzwl (%edx,%ecx,2),%edx
404269:	83 fa 20             	cmp    $0x20,%edx
40426c:	0f 82 16 03 00 00    	jb     0x404588
404272:	83 fa 22             	cmp    $0x22,%edx
404275:	0f 84 0d 03 00 00    	je     0x404588
40427b:	83 fa 7f             	cmp    $0x7f,%edx
40427e:	0f 87 04 03 00 00    	ja     0x404588
404284:	41                   	inc    %ecx
404285:	3b cf                	cmp    %edi,%ecx
404287:	72 d0                	jb     0x404259
404289:	8d 4c 24 10          	lea    0x10(%esp),%ecx
40428d:	e8 14 0b 00 00       	call   0x404da6
404292:	8b 44 24 10          	mov    0x10(%esp),%eax
404296:	3b c3                	cmp    %ebx,%eax
404298:	75 ab                	jne    0x404245
40429a:	6a 3c                	push   $0x3c
40429c:	5f                   	pop    %edi
40429d:	57                   	push   %edi
40429e:	33 db                	xor    %ebx,%ebx
4042a0:	8d 44 24 30          	lea    0x30(%esp),%eax
4042a4:	53                   	push   %ebx
4042a5:	50                   	push   %eax
4042a6:	e8 15 71 00 00       	call   0x40b3c0
4042ab:	8d 84 24 c4 00 00 00 	lea    0xc4(%esp),%eax
4042b2:	89 7c 24 38          	mov    %edi,0x38(%esp)
4042b6:	89 44 24 3c          	mov    %eax,0x3c(%esp)
4042ba:	b9 00 01 00 00       	mov    $0x100,%ecx
4042bf:	8d 84 24 3c 01 00 00 	lea    0x13c(%esp),%eax
4042c6:	c7 44 24 40 10 00 00 	movl   $0x10,0x40(%esp)
4042cd:	00
4042ce:	89 44 24 48          	mov    %eax,0x48(%esp)
4042d2:	83 c4 0c             	add    $0xc,%esp
4042d5:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
4042d9:	8d 84 24 30 03 00 00 	lea    0x330(%esp),%eax
4042e0:	89 4c 24 40          	mov    %ecx,0x40(%esp)
4042e4:	89 44 24 58          	mov    %eax,0x58(%esp)
4042e8:	89 4c 24 5c          	mov    %ecx,0x5c(%esp)
4042ec:	72 04                	jb     0x4042f2
4042ee:	8b 06                	mov    (%esi),%eax
4042f0:	eb 02                	jmp    0x4042f4
4042f2:	8b c6                	mov    %esi,%eax
4042f4:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
4042f8:	51                   	push   %ecx
4042f9:	53                   	push   %ebx
4042fa:	ff 76 10             	push   0x10(%esi)
4042fd:	50                   	push   %eax
4042fe:	ff 15 cc 11 43 00    	call   *0x4311cc
404304:	85 c0                	test   %eax,%eax
404306:	0f 84 7c 02 00 00    	je     0x404588
40430c:	6a 04                	push   $0x4
40430e:	b9 88 95 43 00       	mov    $0x439588,%ecx
404313:	8d 84 24 bc 00 00 00 	lea    0xbc(%esp),%eax
40431a:	5e                   	pop    %esi
40431b:	66 8b 10             	mov    (%eax),%dx
40431e:	66 3b 11             	cmp    (%ecx),%dx
404321:	75 1c                	jne    0x40433f
404323:	66 85 d2             	test   %dx,%dx
404326:	74 13                	je     0x40433b
404328:	66 8b 50 02          	mov    0x2(%eax),%dx
40432c:	66 3b 51 02          	cmp    0x2(%ecx),%dx
404330:	75 0d                	jne    0x40433f
404332:	03 c6                	add    %esi,%eax
404334:	03 ce                	add    %esi,%ecx
404336:	66 85 d2             	test   %dx,%dx
404339:	75 e0                	jne    0x40431b
40433b:	8b c3                	mov    %ebx,%eax
40433d:	eb 05                	jmp    0x404344
40433f:	1b c0                	sbb    %eax,%eax
404341:	83 c8 01             	or     $0x1,%eax
404344:	85 c0                	test   %eax,%eax
404346:	75 05                	jne    0x40434d
404348:	33 f6                	xor    %esi,%esi
40434a:	46                   	inc    %esi
40434b:	eb 3f                	jmp    0x40438c
40434d:	b9 94 95 43 00       	mov    $0x439594,%ecx
404352:	8d 84 24 b8 00 00 00 	lea    0xb8(%esp),%eax
404359:	66 8b 10             	mov    (%eax),%dx
40435c:	66 3b 11             	cmp    (%ecx),%dx
40435f:	75 1c                	jne    0x40437d
404361:	66 85 d2             	test   %dx,%dx
404364:	74 13                	je     0x404379
404366:	66 8b 50 02          	mov    0x2(%eax),%dx
40436a:	66 3b 51 02          	cmp    0x2(%ecx),%dx
40436e:	75 0d                	jne    0x40437d
404370:	03 c6                	add    %esi,%eax
404372:	03 ce                	add    %esi,%ecx
404374:	66 85 d2             	test   %dx,%dx
404377:	75 e0                	jne    0x404359
404379:	8b c3                	mov    %ebx,%eax
40437b:	eb 05                	jmp    0x404382
40437d:	1b c0                	sbb    %eax,%eax
40437f:	83 c8 01             	or     $0x1,%eax
404382:	8b f3                	mov    %ebx,%esi
404384:	85 c0                	test   %eax,%eax
404386:	0f 85 fc 01 00 00    	jne    0x404588
40438c:	53                   	push   %ebx
40438d:	53                   	push   %ebx
40438e:	53                   	push   %ebx
40438f:	53                   	push   %ebx
404390:	68 80 93 43 00       	push   $0x439380
404395:	ff 15 c4 11 43 00    	call   *0x4311c4
40439b:	8b f8                	mov    %eax,%edi
40439d:	85 ff                	test   %edi,%edi
40439f:	0f 84 df 01 00 00    	je     0x404584
4043a5:	53                   	push   %ebx
4043a6:	53                   	push   %ebx
4043a7:	6a 03                	push   $0x3
4043a9:	53                   	push   %ebx
4043aa:	53                   	push   %ebx
4043ab:	ff 74 24 58          	push   0x58(%esp)
4043af:	8d 84 24 48 01 00 00 	lea    0x148(%esp),%eax
4043b6:	50                   	push   %eax
4043b7:	57                   	push   %edi
4043b8:	ff 15 e0 11 43 00    	call   *0x4311e0
4043be:	8b 2d e4 11 43 00    	mov    0x4311e4,%ebp
4043c4:	89 44 24 10          	mov    %eax,0x10(%esp)
4043c8:	85 c0                	test   %eax,%eax