40dc57:	66 89 44 7e 02       	mov    %ax,0x2(%esi,%edi,2)
40dc5c:	66 89 06             	mov    %ax,(%esi)
40dc5f:	56                   	push   %esi
40dc60:	33 c0                	xor    %eax,%eax
40dc62:	53                   	push   %ebx
40dc63:	66 89 44 7e 04       	mov    %ax,0x4(%esi,%edi,2)
40dc68:	e8 b2 2c 00 00       	call   0x41091f
40dc6d:	56                   	push   %esi
40dc6e:	e8 88 e7 00 00       	call   0x41c3fb
40dc73:	59                   	pop    %ecx
40dc74:	5f                   	pop    %edi
40dc75:	5e                   	pop    %esi
40dc76:	8b c3                	mov    %ebx,%eax
40dc78:	5b                   	pop    %ebx
40dc79:	c2 08 00             	ret    $0x8
40dc7c:	55                   	push   %ebp
40dc7d:	8b ec                	mov    %esp,%ebp
40dc7f:	b8 00 14 00 00       	mov    $0x1400,%eax
40dc84:	e8 47 c8 00 00       	call   0x41a4d0
40dc89:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
40dc8d:	ff 75 08             	push   0x8(%ebp)
40dc90:	74 04                	je     0x40dc96
40dc92:	6a 66                	push   $0x66
40dc94:	eb 02                	jmp    0x40dc98
40dc96:	6a 65                	push   $0x65
40dc98:	e8 4f e5 ff ff       	call   0x40c1ec
40dc9d:	50                   	push   %eax
40dc9e:	8d 85 00 ec ff ff    	lea    -0x1400(%ebp),%eax
40dca4:	68 00 0a 00 00       	push   $0xa00
40dca9:	50                   	push   %eax
40dcaa:	e8 33 f9 ff ff       	call   0x40d5e2
40dcaf:	83 c4 10             	add    $0x10,%esp
40dcb2:	8d 85 00 ec ff ff    	lea    -0x1400(%ebp),%eax
40dcb8:	50                   	push   %eax
40dcb9:	6a 65                	push   $0x65
40dcbb:	ff 35 00 0d 44 00    	push   0x440d00
40dcc1:	ff 15 fc a2 42 00    	call   *0x42a2fc
40dcc7:	e8 5c f2 ff ff       	call   0x40cf28
40dccc:	33 c0                	xor    %eax,%eax
40dcce:	38 05 f2 0c 44 00    	cmp    %al,0x440cf2
40dcd4:	0f 94 c0             	sete   %al
40dcd7:	c9                   	leave
40dcd8:	c2 10 00             	ret    $0x10
40dcdb:	55                   	push   %ebp
40dcdc:	8d 6c 24 98          	lea    -0x68(%esp),%ebp
40dce0:	b8 50 1a 00 00       	mov    $0x1a50,%eax
40dce5:	e8 e6 c7 00 00       	call   0x41a4d0
40dcea:	53                   	push   %ebx
40dceb:	57                   	push   %edi
40dcec:	8b 7d 70             	mov    0x70(%ebp),%edi
40dcef:	33 db                	xor    %ebx,%ebx
40dcf1:	53                   	push   %ebx
40dcf2:	53                   	push   %ebx
40dcf3:	68 88 a8 42 00       	push   $0x42a888
40dcf8:	ff 75 7c             	push   0x7c(%ebp)
40dcfb:	ff 75 78             	push   0x78(%ebp)
40dcfe:	ff 75 74             	push   0x74(%ebp)
40dd01:	57                   	push   %edi
40dd02:	e8 37 85 ff ff       	call   0x40623e
40dd07:	84 c0                	test   %al,%al
40dd09:	74 08                	je     0x40dd13
40dd0b:	33 c0                	xor    %eax,%eax
40dd0d:	40                   	inc    %eax
40dd0e:	e9 13 03 00 00       	jmp    0x40e026
40dd13:	8b 45 74             	mov    0x74(%ebp),%eax
40dd16:	2d 10 01 00 00       	sub    $0x110,%eax
40dd1b:	56                   	push   %esi
40dd1c:	74 69                	je     0x40dd87
40dd1e:	48                   	dec    %eax
40dd1f:	0f 85 fe 02 00 00    	jne    0x40e023
40dd25:	0f b7 45 78          	movzwl 0x78(%ebp),%eax
40dd29:	6a 02                	push   $0x2
40dd2b:	5e                   	pop    %esi
40dd2c:	2b c6                	sub    %esi,%eax
40dd2e:	74 18                	je     0x40dd48
40dd30:	83 e8 6a             	sub    $0x6a,%eax
40dd33:	74 4e                	je     0x40dd83
40dd35:	48                   	dec    %eax
40dd36:	74 46                	je     0x40dd7e
40dd38:	48                   	dec    %eax
40dd39:	74 3f                	je     0x40dd7a
40dd3b:	48                   	dec    %eax
40dd3c:	74 0d                	je     0x40dd4b
40dd3e:	48                   	dec    %eax
40dd3f:	74 35                	je     0x40dd76
40dd41:	48                   	dec    %eax
40dd42:	0f 85 db 02 00 00    	jne    0x40e023
40dd48:	6a 06                	push   $0x6
40dd4a:	5e                   	pop    %esi
40dd4b:	53                   	push   %ebx
40dd4c:	53                   	push   %ebx
40dd4d:	68 71 01 00 00       	push   $0x171
40dd52:	6a 66                	push   $0x66
40dd54:	57                   	push   %edi
40dd55:	ff 15 f0 a2 42 00    	call   *0x42a2f0
40dd5b:	3b c3                	cmp    %ebx,%eax
40dd5d:	74 07                	je     0x40dd66
40dd5f:	50                   	push   %eax
40dd60:	ff 15 e4 a2 42 00    	call   *0x42a2e4
40dd66:	56                   	push   %esi
40dd67:	57                   	push   %edi
40dd68:	ff 15 f4 a2 42 00    	call   *0x42a2f4
40dd6e:	33 c0                	xor    %eax,%eax
40dd70:	40                   	inc    %eax
40dd71:	e9 af 02 00 00       	jmp    0x40e025
40dd76:	6a 03                	push   $0x3
40dd78:	eb d0                	jmp    0x40dd4a
40dd7a:	6a 04                	push   $0x4
40dd7c:	eb cc                	jmp    0x40dd4a
40dd7e:	33 f6                	xor    %esi,%esi
40dd80:	46                   	inc    %esi
40dd81:	eb c8                	jmp    0x40dd4b
40dd83:	33 f6                	xor    %esi,%esi
40dd85:	eb c4                	jmp    0x40dd4b
40dd87:	6a 6c                	push   $0x6c
40dd89:	57                   	push   %edi
40dd8a:	ff 15 88 a2 42 00    	call   *0x42a288
40dd90:	50                   	push   %eax
40dd91:	ff 15 e8 a2 42 00    	call   *0x42a2e8
40dd97:	be 00 08 00 00       	mov    $0x800,%esi
40dd9c:	56                   	push   %esi
40dd9d:	ff 75 7c             	push   0x7c(%ebp)
40dda0:	8d 85 18 e6 ff ff    	lea    -0x19e8(%ebp),%eax
40dda6:	50                   	push   %eax
40dda7:	e8 73 2b 00 00       	call   0x41091f
40ddac:	56                   	push   %esi
40ddad:	8d 85 18 e6 ff ff    	lea    -0x19e8(%ebp),%eax
40ddb3:	50                   	push   %eax
40ddb4:	50                   	push   %eax
40ddb5:	e8 f0 c3 ff ff       	call   0x40a1aa
40ddba:	8d 85 18 e6 ff ff    	lea    -0x19e8(%ebp),%eax
40ddc0:	50                   	push   %eax
40ddc1:	6a 65                	push   $0x65
40ddc3:	57                   	push   %edi
40ddc4:	8b 3d fc a2 42 00    	mov    0x42a2fc,%edi
40ddca:	ff d7                	call   *%edi
40ddcc:	68 00 01 00 00       	push   $0x100
40ddd1:	68 b4 02 00 00       	push   $0x2b4
40ddd6:	8d 85 18 f6 ff ff    	lea    -0x9e8(%ebp),%eax
40dddc:	50                   	push   %eax
40dddd:	53                   	push   %ebx
40ddde:	8d 85 18 e6 ff ff    	lea    -0x19e8(%ebp),%eax
40dde4:	50                   	push   %eax
40dde5:	ff 15 60 a2 42 00    	call   *0x42a260
40ddeb:	53                   	push   %ebx
40ddec:	ff b5 18 f6 ff ff    	push   -0x9e8(%ebp)
40ddf2:	68 70 01 00 00       	push   $0x170
40ddf7:	6a 66                	push   $0x66
40ddf9:	ff 75 70             	push   0x70(%ebp)
40ddfc:	ff 15 f0 a2 42 00    	call   *0x42a2f0
40de02:	8d 85 cc fc ff ff    	lea    -0x334(%ebp),%eax
40de08:	50                   	push   %eax
40de09:	8d 85 18 e6 ff ff    	lea    -0x19e8(%ebp),%eax
40de0f:	50                   	push   %eax
40de10:	ff 15 6c a0 42 00    	call   *0x42a06c
40de16:	89 45 74             	mov    %eax,0x74(%ebp)
40de19:	83 f8 ff             	cmp    $0xffffffff,%eax
40de1c:	0f 84 01 02 00 00    	je     0x40e023
40de22:	8d 45 60             	lea    0x60(%ebp),%eax
40de25:	50                   	push   %eax
40de26:	8d 85 e0 fc ff ff    	lea    -0x320(%ebp),%eax
40de2c:	50                   	push   %eax
40de2d:	ff 15 b0 a0 42 00    	call   *0x42a0b0
40de33:	8d 45 50             	lea    0x50(%ebp),%eax
40de36:	50                   	push   %eax
40de37:	8d 45 60             	lea    0x60(%ebp),%eax
40de3a:	50                   	push   %eax
40de3b:	ff 15 ac a0 42 00    	call   *0x42a0ac
40de41:	6a 32                	push   $0x32
40de43:	8d 45 80             	lea    -0x80(%ebp),%eax
40de46:	50                   	push   %eax
40de47:	53                   	push   %ebx
40de48:	8d 45 50             	lea    0x50(%ebp),%eax
40de4b:	50                   	push   %eax
40de4c:	6a 02                	push   $0x2
40de4e:	be 00 04 00 00       	mov    $0x400,%esi
40de53:	56                   	push   %esi
40de54:	ff 15 a8 a0 42 00    	call   *0x42a0a8
40de5a:	6a 32                	push   $0x32
40de5c:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40de5f:	50                   	push   %eax
40de60:	53                   	push   %ebx
40de61:	8d 45 50             	lea    0x50(%ebp),%eax
40de64:	50                   	push   %eax
40de65:	53                   	push   %ebx
40de66:	56                   	push   %esi
40de67:	ff 15 a4 a0 42 00    	call   *0x42a0a4
40de6d:	8d 45 80             	lea    -0x80(%ebp),%eax
40de70:	50                   	push   %eax
40de71:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40de74:	50                   	push   %eax
40de75:	68 99 00 00 00       	push   $0x99
40de7a:	e8 6d e3 ff ff       	call   0x40c1ec
40de7f:	50                   	push   %eax
40de80:	68 74 a8 42 00       	push   $0x42a874
40de85:	bb 00 02 00 00       	mov    $0x200,%ebx
40de8a:	8d 85 cc f8 ff ff    	lea    -0x734(%ebp),%eax
40de90:	53                   	push   %ebx
40de91:	50                   	push   %eax
40de92:	e8 4b f7 ff ff       	call   0x40d5e2
40de97:	83 c4 18             	add    $0x18,%esp
40de9a:	8d 85 cc f8 ff ff    	lea    -0x734(%ebp),%eax
40dea0:	50                   	push   %eax
40dea1:	6a 6a                	push   $0x6a
40dea3:	ff 75 70             	push   0x70(%ebp)
40dea6:	ff d7                	call   *%edi
40dea8:	ff 75 74             	push   0x74(%ebp)
40deab:	ff 15 64 a0 42 00    	call   *0x42a064
40deb1:	f6 85 cc fc ff ff 10 	testb  $0x10,-0x334(%ebp)
40deb8:	75 67                	jne    0x40df21
40deba:	6a 32                	push   $0x32
40debc:	8d 85 1c ff ff ff    	lea    -0xe4(%ebp),%eax
40dec2:	50                   	push   %eax
40dec3:	6a 01                	push   $0x1
40dec5:	6a 00                	push   $0x0
40dec7:	6a 00                	push   $0x0
40dec9:	ff b5 e8 fc ff ff    	push   -0x318(%ebp)
40decf:	e8 dc c6 00 00       	call   0x41a5b0
40ded4:	8b 8d ec fc ff ff    	mov    -0x314(%ebp),%ecx
40deda:	33 db                	xor    %ebx,%ebx
40dedc:	03 c1                	add    %ecx,%eax
40dede:	13 d3                	adc    %ebx,%edx
40dee0:	52                   	push   %edx
40dee1:	50                   	push   %eax
40dee2:	e8 80 f0 ff ff       	call   0x40cf67
40dee7:	68 98 00 00 00       	push   $0x98
40deec:	e8 fb e2 ff ff       	call   0x40c1ec
40def1:	50                   	push   %eax
40def2:	8d 85 1c ff ff ff    	lea    -0xe4(%ebp),%eax
40def8:	50                   	push   %eax
40def9:	68 68 a8 42 00       	push   $0x42a868
40defe:	bb 00 02 00 00       	mov    $0x200,%ebx
40df03:	8d 85 cc f8 ff ff    	lea    -0x734(%ebp),%eax
40df09:	53                   	push   %ebx
40df0a:	50                   	push   %eax
40df0b:	e8 d2 f6 ff ff       	call   0x40d5e2
40df10:	83 c4 14             	add    $0x14,%esp
40df13:	8d 85 cc f8 ff ff    	lea    -0x734(%ebp),%eax
40df19:	50                   	push   %eax
40df1a:	6a 68                	push   $0x68
40df1c:	ff 75 70             	push   0x70(%ebp)
40df1f:	ff d7                	call   *%edi
40df21:	6a 00                	push   $0x0
40df23:	ff b5 18 f6 ff ff    	push   -0x9e8(%ebp)
40df29:	68 70 01 00 00       	push   $0x170
40df2e:	6a 67                	push   $0x67
40df30:	ff 75 70             	push   0x70(%ebp)
40df33:	ff 15 f0 a2 42 00    	call   *0x42a2f0
40df39:	8b 0d e0 0c 44 00    	mov    0x440ce0,%ecx
40df3f:	8d 45 48             	lea    0x48(%ebp),%eax
40df42:	50                   	push   %eax
40df43:	e8 32 31 00 00       	call   0x41107a
40df48:	8d 45 60             	lea    0x60(%ebp),%eax
40df4b:	50                   	push   %eax
40df4c:	8d 45 48             	lea    0x48(%ebp),%eax
40df4f:	50                   	push   %eax
40df50:	ff 15 b0 a0 42 00    	call   *0x42a0b0
40df56:	8d 45 50             	lea    0x50(%ebp),%eax
40df59:	50                   	push   %eax
40df5a:	8d 45 60             	lea    0x60(%ebp),%eax
40df5d:	50                   	push   %eax
40df5e:	ff 15 ac a0 42 00    	call   *0x42a0ac
40df64:	6a 32                	push   $0x32
40df66:	8d 45 80             	lea    -0x80(%ebp),%eax
40df69:	50                   	push   %eax
40df6a:	6a 00                	push   $0x0
40df6c:	8d 45 50             	lea    0x50(%ebp),%eax
40df6f:	50                   	push   %eax
40df70:	6a 02                	push   $0x2
40df72:	56                   	push   %esi
40df73:	ff 15 a8 a0 42 00    	call   *0x42a0a8
40df79:	6a 32                	push   $0x32
40df7b:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40df7e:	50                   	push   %eax
40df7f:	6a 00                	push   $0x0
40df81:	8d 45 50             	lea    0x50(%ebp),%eax
40df84:	50                   	push   %eax
40df85:	6a 00                	push   $0x0
40df87:	56                   	push   %esi
40df88:	ff 15 a4 a0 42 00    	call   *0x42a0a4
40df8e:	8d 45 80             	lea    -0x80(%ebp),%eax
40df91:	50                   	push   %eax
40df92:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40df95:	50                   	push   %eax
40df96:	68 99 00 00 00       	push   $0x99
40df9b:	e8 4c e2 ff ff       	call   0x40c1ec
40dfa0:	50                   	push   %eax
40dfa1:	68 74 a8 42 00       	push   $0x42a874
40dfa6:	8d 85 cc f8 ff ff    	lea    -0x734(%ebp),%eax
40dfac:	53                   	push   %ebx
40dfad:	50                   	push   %eax
40dfae:	e8 2f f6 ff ff       	call   0x40d5e2
40dfb3:	83 c4 18             	add    $0x18,%esp
40dfb6:	8d 85 cc f8 ff ff    	lea    -0x734(%ebp),%eax
40dfbc:	50                   	push   %eax
40dfbd:	6a 6b                	push   $0x6b
40dfbf:	ff 75 70             	push   0x70(%ebp)
40dfc2:	ff d7                	call   *%edi
40dfc4:	f6 85 cc fc ff ff 10 	testb  $0x10,-0x334(%ebp)
40dfcb:	a1 ec 0c 44 00       	mov    0x440cec,%eax
40dfd0:	8b 0d e8 0c 44 00    	mov    0x440ce8,%ecx
40dfd6:	74 06                	je     0x40dfde
40dfd8:	8b d1                	mov    %ecx,%edx
40dfda:	0b d0                	or     %eax,%edx
40dfdc:	74 45                	je     0x40e023
40dfde:	6a 32                	push   $0x32
40dfe0:	8d 95 1c ff ff ff    	lea    -0xe4(%ebp),%edx
40dfe6:	52                   	push   %edx
40dfe7:	50                   	push   %eax
40dfe8:	51                   	push   %ecx
40dfe9:	e8 79 ef ff ff       	call   0x40cf67
40dfee:	68 98 00 00 00       	push   $0x98
40dff3:	e8 f4 e1 ff ff       	call   0x40c1ec
40dff8:	50                   	push   %eax
40dff9:	8d 85 1c ff ff ff    	lea    -0xe4(%ebp),%eax
40dfff:	50                   	push   %eax
40e000:	68 68 a8 42 00       	push   $0x42a868
40e005:	8d 85 cc f8 ff ff    	lea    -0x734(%ebp),%eax
40e00b:	53                   	push   %ebx
40e00c:	50                   	push   %eax
40e00d:	e8 d0 f5 ff ff       	call   0x40d5e2
40e012:	83 c4 14             	add    $0x14,%esp
40e015:	8d 85 cc f8 ff ff    	lea    -0x734(%ebp),%eax
40e01b:	50                   	push   %eax
40e01c:	6a 69                	push   $0x69
40e01e:	ff 75 70             	push   0x70(%ebp)
40e021:	ff d7                	call   *%edi
40e023:	33 c0                	xor    %eax,%eax
40e025:	5e                   	pop    %esi
40e026:	5f                   	pop    %edi
40e027:	5b                   	pop    %ebx
40e028:	83 c5 68             	add    $0x68,%ebp
40e02b:	c9                   	leave
40e02c:	c2 10 00             	ret    $0x10
40e02f:	55                   	push   %ebp
40e030:	8b ec                	mov    %esp,%ebp
40e032:	b8 00 10 00 00       	mov    $0x1000,%eax
40e037:	e8 94 c4 00 00       	call   0x41a4d0
40e03c:	80 3d 3a 2e 44 00 00 	cmpb   $0x0,0x442e3a
40e043:	53                   	push   %ebx
40e044:	56                   	push   %esi
40e045:	57                   	push   %edi
40e046:	74 0f                	je     0x40e057
40e048:	8b 5d 14             	mov    0x14(%ebp),%ebx
40e04b:	be 3a 2d 44 00       	mov    $0x442d3a,%esi
40e050:	8b fb                	mov    %ebx,%edi
40e052:	e9 95 00 00 00       	jmp    0x40e0ec
40e057:	83 7d 08 02          	cmpl   $0x2,0x8(%ebp)
40e05b:	a1 00 0d 44 00       	mov    0x440d00,%eax
40e060:	8b f0                	mov    %eax,%esi