40fb37:	ff 15 e0 62 42 00    	call   *0x4262e0
40fb3d:	8b d8                	mov    %eax,%ebx
40fb3f:	85 db                	test   %ebx,%ebx
40fb41:	74 2e                	je     0x40fb71
40fb43:	8b 45 fc             	mov    -0x4(%ebp),%eax
40fb46:	85 c0                	test   %eax,%eax
40fb48:	74 1c                	je     0x40fb66
40fb4a:	03 f6                	add    %esi,%esi
40fb4c:	8d 14 7d 02 00 00 00 	lea    0x2(,%edi,2),%edx
40fb53:	56                   	push   %esi
40fb54:	50                   	push   %eax
40fb55:	8b cb                	mov    %ebx,%ecx
40fb57:	e8 06 ff ff ff       	call   0x40fa62
40fb5c:	59                   	pop    %ecx
40fb5d:	33 c0                	xor    %eax,%eax
40fb5f:	59                   	pop    %ecx
40fb60:	66 89 04 1e          	mov    %ax,(%esi,%ebx,1)
40fb64:	eb 05                	jmp    0x40fb6b
40fb66:	33 c0                	xor    %eax,%eax
40fb68:	66 89 03             	mov    %ax,(%ebx)
40fb6b:	33 c0                	xor    %eax,%eax
40fb6d:	66 89 04 7b          	mov    %ax,(%ebx,%edi,2)
40fb71:	8b 45 f8             	mov    -0x8(%ebp),%eax
40fb74:	5f                   	pop    %edi
40fb75:	5e                   	pop    %esi
40fb76:	89 18                	mov    %ebx,(%eax)
40fb78:	5b                   	pop    %ebx
40fb79:	c9                   	leave
40fb7a:	c2 04 00             	ret    $0x4
40fb7d:	8b 4d 04             	mov    0x4(%ebp),%ecx
40fb80:	ba ac 0c 00 00       	mov    $0xcac,%edx
40fb85:	68 a4 1a 40 00       	push   $0x401aa4
40fb8a:	e8 4c 74 ff ff       	call   0x406fdb
40fb8f:	cc                   	int3
40fb90:	83 39 00             	cmpl   $0x0,(%ecx)
40fb93:	74 08                	je     0x40fb9d
40fb95:	ff 31                	push   (%ecx)
40fb97:	ff 15 dc 62 42 00    	call   *0x4262dc
40fb9d:	c3                   	ret
40fb9e:	8b ff                	mov    %edi,%edi
40fba0:	55                   	push   %ebp
40fba1:	8b ec                	mov    %esp,%ebp
40fba3:	83 ec 24             	sub    $0x24,%esp
40fba6:	a1 10 42 42 00       	mov    0x424210,%eax
40fbab:	33 c5                	xor    %ebp,%eax
40fbad:	89 45 fc             	mov    %eax,-0x4(%ebp)
40fbb0:	56                   	push   %esi
40fbb1:	33 f6                	xor    %esi,%esi
40fbb3:	46                   	inc    %esi
40fbb4:	3b ce                	cmp    %esi,%ecx
40fbb6:	75 27                	jne    0x40fbdf
40fbb8:	ff 15 cc 60 42 00    	call   *0x4260cc
40fbbe:	6a 10                	push   $0x10
40fbc0:	8d 4d dc             	lea    -0x24(%ebp),%ecx
40fbc3:	0f b7 c0             	movzwl %ax,%eax
40fbc6:	51                   	push   %ecx
40fbc7:	6a 58                	push   $0x58
40fbc9:	50                   	push   %eax
40fbca:	ff 15 90 60 42 00    	call   *0x426090
40fbd0:	85 c0                	test   %eax,%eax
40fbd2:	74 1f                	je     0x40fbf3
40fbd4:	f7 45 ea 00 08 00 00 	testl  $0x800,-0x16(%ebp)
40fbdb:	75 18                	jne    0x40fbf5
40fbdd:	eb 14                	jmp    0x40fbf3
40fbdf:	83 f9 06             	cmp    $0x6,%ecx
40fbe2:	74 11                	je     0x40fbf5
40fbe4:	83 f9 17             	cmp    $0x17,%ecx
40fbe7:	74 0c                	je     0x40fbf5
40fbe9:	83 f9 0a             	cmp    $0xa,%ecx
40fbec:	74 07                	je     0x40fbf5
40fbee:	83 f9 08             	cmp    $0x8,%ecx
40fbf1:	74 02                	je     0x40fbf5
40fbf3:	33 f6                	xor    %esi,%esi
40fbf5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40fbf8:	8b c6                	mov    %esi,%eax
40fbfa:	33 cd                	xor    %ebp,%ecx
40fbfc:	5e                   	pop    %esi
40fbfd:	e8 6e 1c 01 00       	call   0x421870
40fc02:	c9                   	leave
40fc03:	c3                   	ret
40fc04:	8b ff                	mov    %edi,%edi
40fc06:	55                   	push   %ebp
40fc07:	8b ec                	mov    %esp,%ebp
40fc09:	83 e4 f8             	and    $0xfffffff8,%esp
40fc0c:	81 ec 14 04 00 00    	sub    $0x414,%esp
40fc12:	a1 10 42 42 00       	mov    0x424210,%eax
40fc17:	33 c4                	xor    %esp,%eax
40fc19:	89 84 24 10 04 00 00 	mov    %eax,0x410(%esp)
40fc20:	53                   	push   %ebx
40fc21:	56                   	push   %esi
40fc22:	57                   	push   %edi
40fc23:	68 94 02 00 00       	push   $0x294
40fc28:	8d 84 24 84 01 00 00 	lea    0x184(%esp),%eax
40fc2f:	8b f9                	mov    %ecx,%edi
40fc31:	6a 00                	push   $0x0
40fc33:	50                   	push   %eax
40fc34:	e8 0f 2c 01 00       	call   0x422848
40fc39:	83 c4 0c             	add    $0xc,%esp
40fc3c:	8d 44 24 10          	lea    0x10(%esp),%eax
40fc40:	33 db                	xor    %ebx,%ebx
40fc42:	43                   	inc    %ebx
40fc43:	8b f3                	mov    %ebx,%esi
40fc45:	50                   	push   %eax
40fc46:	ff 15 d0 60 42 00    	call   *0x4260d0
40fc4c:	6a 10                	push   $0x10
40fc4e:	8d 44 24 24          	lea    0x24(%esp),%eax
40fc52:	89 5c 24 10          	mov    %ebx,0x10(%esp)
40fc56:	50                   	push   %eax
40fc57:	6a 58                	push   $0x58
40fc59:	bb 00 04 00 00       	mov    $0x400,%ebx
40fc5e:	53                   	push   %ebx
40fc5f:	ff 15 90 60 42 00    	call   *0x426090
40fc65:	85 c0                	test   %eax,%eax
40fc67:	74 32                	je     0x40fc9b
40fc69:	f7 44 24 2e 00 08 00 	testl  $0x800,0x2e(%esp)
40fc70:	00
40fc71:	74 28                	je     0x40fc9b
40fc73:	6a 02                	push   $0x2
40fc75:	8d 44 24 10          	lea    0x10(%esp),%eax
40fc79:	50                   	push   %eax
40fc7a:	68 09 10 00 20       	push   $0x20001009
40fc7f:	53                   	push   %ebx
40fc80:	ff 15 90 60 42 00    	call   *0x426090
40fc86:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40fc8a:	e8 0f ff ff ff       	call   0x40fb9e
40fc8f:	8b f0                	mov    %eax,%esi
40fc91:	f7 de                	neg    %esi
40fc93:	1b f6                	sbb    %esi,%esi
40fc95:	83 e6 10             	and    $0x10,%esi
40fc98:	83 c6 11             	add    $0x11,%esi
40fc9b:	6a 50                	push   $0x50
40fc9d:	8d 84 24 e4 00 00 00 	lea    0xe4(%esp),%eax
40fca4:	50                   	push   %eax
40fca5:	6a 00                	push   $0x0
40fca7:	8d 44 24 1c          	lea    0x1c(%esp),%eax
40fcab:	50                   	push   %eax
40fcac:	56                   	push   %esi
40fcad:	53                   	push   %ebx
40fcae:	ff 15 d4 60 42 00    	call   *0x4260d4
40fcb4:	6a 50                	push   $0x50
40fcb6:	8d 44 24 44          	lea    0x44(%esp),%eax
40fcba:	50                   	push   %eax
40fcbb:	6a 00                	push   $0x0
40fcbd:	8d 44 24 1c          	lea    0x1c(%esp),%eax
40fcc1:	50                   	push   %eax
40fcc2:	6a 02                	push   $0x2
40fcc4:	53                   	push   %ebx
40fcc5:	ff 15 d8 60 42 00    	call   *0x4260d8
40fccb:	bb f8 1f 40 00       	mov    $0x401ff8,%ebx
40fcd0:	be 4a 01 00 00       	mov    $0x14a,%esi
40fcd5:	85 ff                	test   %edi,%edi
40fcd7:	74 0f                	je     0x40fce8
40fcd9:	53                   	push   %ebx
40fcda:	8b d6                	mov    %esi,%edx
40fcdc:	8d 8c 24 84 01 00 00 	lea    0x184(%esp),%ecx
40fce3:	e8 a1 67 ff ff       	call   0x406489
40fce8:	8d 44 24 40          	lea    0x40(%esp),%eax
40fcec:	8b d6                	mov    %esi,%edx
40fcee:	50                   	push   %eax
40fcef:	8d 8c 24 84 01 00 00 	lea    0x184(%esp),%ecx
40fcf6:	e8 8e 67 ff ff       	call   0x406489
40fcfb:	68 00 20 40 00       	push   $0x402000
40fd00:	8b d6                	mov    %esi,%edx
40fd02:	8d 8c 24 84 01 00 00 	lea    0x184(%esp),%ecx
40fd09:	e8 7b 67 ff ff       	call   0x406489
40fd0e:	8d 84 24 e0 00 00 00 	lea    0xe0(%esp),%eax
40fd15:	8b d6                	mov    %esi,%edx
40fd17:	50                   	push   %eax
40fd18:	8d 8c 24 84 01 00 00 	lea    0x184(%esp),%ecx
40fd1f:	e8 65 67 ff ff       	call   0x406489
40fd24:	85 ff                	test   %edi,%edi
40fd26:	74 0f                	je     0x40fd37
40fd28:	53                   	push   %ebx
40fd29:	8b d6                	mov    %esi,%edx
40fd2b:	8d 8c 24 84 01 00 00 	lea    0x184(%esp),%ecx
40fd32:	e8 52 67 ff ff       	call   0x406489
40fd37:	8d 84 24 80 01 00 00 	lea    0x180(%esp),%eax
40fd3e:	50                   	push   %eax
40fd3f:	6a 01                	push   $0x1
40fd41:	68 c2 00 00 00       	push   $0xc2
40fd46:	ff 35 04 5e 42 00    	push   0x425e04
40fd4c:	ff 15 bc 62 42 00    	call   *0x4262bc
40fd52:	8b cf                	mov    %edi,%ecx
40fd54:	e8 73 ee 00 00       	call   0x41ebcc
40fd59:	8b 8c 24 1c 04 00 00 	mov    0x41c(%esp),%ecx
40fd60:	5f                   	pop    %edi
40fd61:	5e                   	pop    %esi
40fd62:	5b                   	pop    %ebx
40fd63:	33 cc                	xor    %esp,%ecx
40fd65:	e8 06 1b 01 00       	call   0x421870
40fd6a:	8b e5                	mov    %ebp,%esp
40fd6c:	5d                   	pop    %ebp
40fd6d:	c3                   	ret
40fd6e:	8b ff                	mov    %edi,%edi
40fd70:	55                   	push   %ebp
40fd71:	8b ec                	mov    %esp,%ebp
40fd73:	56                   	push   %esi
40fd74:	57                   	push   %edi
40fd75:	8b 7d 08             	mov    0x8(%ebp),%edi
40fd78:	8b f1                	mov    %ecx,%esi
40fd7a:	85 ff                	test   %edi,%edi
40fd7c:	74 1c                	je     0x40fd9a
40fd7e:	2b f2                	sub    %edx,%esi
40fd80:	66 8b 02             	mov    (%edx),%ax
40fd83:	0f b6 4a 01          	movzbl 0x1(%edx),%ecx
40fd87:	66 c1 e0 08          	shl    $0x8,%ax
40fd8b:	66 33 c8             	xor    %ax,%cx
40fd8e:	66 89 0c 16          	mov    %cx,(%esi,%edx,1)
40fd92:	8d 52 02             	lea    0x2(%edx),%edx
40fd95:	83 ef 01             	sub    $0x1,%edi
40fd98:	75 e6                	jne    0x40fd80
40fd9a:	5f                   	pop    %edi
40fd9b:	5e                   	pop    %esi
40fd9c:	5d                   	pop    %ebp
40fd9d:	c2 04 00             	ret    $0x4
40fda0:	8b ff                	mov    %edi,%edi
40fda2:	55                   	push   %ebp
40fda3:	8b ec                	mov    %esp,%ebp
40fda5:	83 ec 14             	sub    $0x14,%esp
40fda8:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
40fdac:	8b c2                	mov    %edx,%eax
40fdae:	8b 0d 30 4e 42 00    	mov    0x424e30,%ecx
40fdb4:	89 45 f8             	mov    %eax,-0x8(%ebp)
40fdb7:	89 4d f4             	mov    %ecx,-0xc(%ebp)
40fdba:	75 08                	jne    0x40fdc4
40fdbc:	33 c0                	xor    %eax,%eax
40fdbe:	40                   	inc    %eax
40fdbf:	e9 89 00 00 00       	jmp    0x40fe4d
40fdc4:	56                   	push   %esi
40fdc5:	8d b0 17 02 ff ff    	lea    -0xfde9(%eax),%esi
40fdcb:	f7 de                	neg    %esi
40fdcd:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40fdd0:	1b f6                	sbb    %esi,%esi
40fdd2:	23 f1                	and    %ecx,%esi
40fdd4:	33 c9                	xor    %ecx,%ecx
40fdd6:	56                   	push   %esi
40fdd7:	51                   	push   %ecx
40fdd8:	51                   	push   %ecx
40fdd9:	51                   	push   %ecx
40fdda:	ff 75 10             	push   0x10(%ebp)
40fddd:	ff 75 0c             	push   0xc(%ebp)
40fde0:	ff 75 08             	push   0x8(%ebp)
40fde3:	50                   	push   %eax
40fde4:	ff 15 dc 60 42 00    	call   *0x4260dc
40fdea:	89 45 fc             	mov    %eax,-0x4(%ebp)
40fded:	85 c0                	test   %eax,%eax
40fdef:	74 5b                	je     0x40fe4c
40fdf1:	57                   	push   %edi
40fdf2:	40                   	inc    %eax
40fdf3:	50                   	push   %eax
40fdf4:	6a 40                	push   $0x40
40fdf6:	ff 15 bc 60 42 00    	call   *0x4260bc
40fdfc:	8b f8                	mov    %eax,%edi
40fdfe:	85 ff                	test   %edi,%edi
40fe00:	75 0c                	jne    0x40fe0e
40fe02:	6a 08                	push   $0x8
40fe04:	ff 15 9c 61 42 00    	call   *0x42619c
40fe0a:	33 c0                	xor    %eax,%eax
40fe0c:	eb 3d                	jmp    0x40fe4b
40fe0e:	56                   	push   %esi
40fe0f:	6a 00                	push   $0x0
40fe11:	ff 75 fc             	push   -0x4(%ebp)
40fe14:	57                   	push   %edi
40fe15:	ff 75 10             	push   0x10(%ebp)
40fe18:	ff 75 0c             	push   0xc(%ebp)
40fe1b:	ff 75 08             	push   0x8(%ebp)
40fe1e:	ff 75 f8             	push   -0x8(%ebp)
40fe21:	ff 15 dc 60 42 00    	call   *0x4260dc
40fe27:	8b f0                	mov    %eax,%esi
40fe29:	85 f6                	test   %esi,%esi
40fe2b:	74 15                	je     0x40fe42
40fe2d:	6a 00                	push   $0x0
40fe2f:	8d 45 ec             	lea    -0x14(%ebp),%eax
40fe32:	50                   	push   %eax
40fe33:	ff 75 fc             	push   -0x4(%ebp)
40fe36:	57                   	push   %edi
40fe37:	ff 75 f4             	push   -0xc(%ebp)
40fe3a:	ff 15 e0 60 42 00    	call   *0x4260e0
40fe40:	8b f0                	mov    %eax,%esi
40fe42:	57                   	push   %edi
40fe43:	ff 15 c0 60 42 00    	call   *0x4260c0
40fe49:	8b c6                	mov    %esi,%eax
40fe4b:	5f                   	pop    %edi
40fe4c:	5e                   	pop    %esi
40fe4d:	c9                   	leave
40fe4e:	c2 0c 00             	ret    $0xc
40fe51:	83 3d f0 5b 42 00 00 	cmpl   $0x0,0x425bf0
40fe58:	74 41                	je     0x40fe9b
40fe5a:	83 3d b8 59 42 00 00 	cmpl   $0x0,0x4259b8
40fe61:	74 08                	je     0x40fe6b
40fe63:	33 c9                	xor    %ecx,%ecx
40fe65:	41                   	inc    %ecx
40fe66:	e9 20 b1 ff ff       	jmp    0x40af8b
40fe6b:	68 84 59 42 00       	push   $0x425984
40fe70:	68 80 59 42 00       	push   $0x425980
40fe75:	68 b0 00 00 00       	push   $0xb0
40fe7a:	ff 35 04 5e 42 00    	push   0x425e04
40fe80:	ff 15 bc 62 42 00    	call   *0x4262bc
40fe86:	6a 00                	push   $0x0
40fe88:	6a 00                	push   $0x0
40fe8a:	68 b1 00 00 00       	push   $0xb1
40fe8f:	ff 35 04 5e 42 00    	push   0x425e04
40fe95:	ff 15 bc 62 42 00    	call   *0x4262bc
40fe9b:	c3                   	ret
40fe9c:	83 3d f0 5b 42 00 00 	cmpl   $0x0,0x425bf0
40fea3:	74 30                	je     0x40fed5
40fea5:	83 3d b8 59 42 00 00 	cmpl   $0x0,0x4259b8
40feac:	74 0a                	je     0x40feb8
40feae:	b9 04 01 20 50       	mov    $0x50200104,%ecx
40feb3:	e9 ba c5 00 00       	jmp    0x41c472
40feb8:	ff 35 84 59 42 00    	push   0x425984
40febe:	ff 35 80 59 42 00    	push   0x425980
40fec4:	68 b1 00 00 00       	push   $0xb1
40fec9:	ff 35 04 5e 42 00    	push   0x425e04
40fecf:	ff 15 bc 62 42 00    	call   *0x4262bc
40fed5:	c3                   	ret
40fed6:	8b ff                	mov    %edi,%edi
40fed8:	55                   	push   %ebp
40fed9:	8b ec                	mov    %esp,%ebp
40fedb:	83 e4 f8             	and    $0xfffffff8,%esp
40fede:	81 ec 6c 04 00 00    	sub    $0x46c,%esp
40fee4:	a1 10 42 42 00       	mov    0x424210,%eax
40fee9:	33 c4                	xor    %esp,%eax
40feeb:	89 84 24 68 04 00 00 	mov    %eax,0x468(%esp)
40fef2:	a1 0c 5e 42 00       	mov    0x425e0c,%eax
40fef7:	83 64 24 18 00       	andl   $0x0,0x18(%esp)
40fefc:	53                   	push   %ebx
40fefd:	56                   	push   %esi
40fefe:	57                   	push   %edi
40feff:	8b fa                	mov    %edx,%edi
40ff01:	89 44 24 20          	mov    %eax,0x20(%esp)
40ff05:	33 db                	xor    %ebx,%ebx
40ff07:	e8 aa e8 00 00       	call   0x41e7b6
40ff0c:	33 f6                	xor    %esi,%esi
40ff0e:	46                   	inc    %esi
40ff0f:	38 5d 08             	cmp    %bl,0x8(%ebp)
40ff12:	74 31                	je     0x40ff45
40ff14:	6a 03                	push   $0x3
40ff16:	5e                   	pop    %esi
40ff17:	ff 35 70 59 42 00    	push   0x425970
40ff1d:	ff 15 e4 60 42 00    	call   *0x4260e4
40ff23:	83 f8 ff             	cmp    $0xffffffff,%eax
40ff26:	74 1d                	je     0x40ff45
40ff28:	a9 00 40 00 00       	test   $0x4000,%eax
40ff2d:	74 16                	je     0x40ff45
40ff2f:	53                   	push   %ebx
40ff30:	68 80 00 00 00       	push   $0x80
40ff35:	6a 02                	push   $0x2
40ff37:	ff 37                	push   (%edi)
40ff39:	ff 35 70 59 42 00    	push   0x425970