40daa9:	e8 ea 3f 00 00       	call   0x411a98
40daae:	85 c0                	test   %eax,%eax
40dab0:	75 61                	jne    0x40db13
40dab2:	6a f0                	push   $0xfffffff0
40dab4:	57                   	push   %edi
40dab5:	ff 15 40 a3 42 00    	call   *0x42a340
40dabb:	83 e0 1f             	and    $0x1f,%eax
40dabe:	3c 0e                	cmp    $0xe,%al
40dac0:	75 51                	jne    0x40db13
40dac2:	6a 00                	push   $0x0
40dac4:	6a 00                	push   $0x0
40dac6:	68 73 01 00 00       	push   $0x173
40dacb:	57                   	push   %edi
40dacc:	ff d3                	call   *%ebx
40dace:	8b f0                	mov    %eax,%esi
40dad0:	85 f6                	test   %esi,%esi
40dad2:	74 3f                	je     0x40db13
40dad4:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40dad7:	50                   	push   %eax
40dad8:	6a 18                	push   $0x18
40dada:	56                   	push   %esi
40dadb:	ff 15 40 a0 42 00    	call   *0x42a040
40dae1:	ff 75 ec             	push   -0x14(%ebp)
40dae4:	e8 02 f6 ff ff       	call   0x40d0eb
40dae9:	50                   	push   %eax
40daea:	ff 75 e8             	push   -0x18(%ebp)
40daed:	e8 b6 f5 ff ff       	call   0x40d0a8
40daf2:	50                   	push   %eax
40daf3:	56                   	push   %esi
40daf4:	e8 9a bd 00 00       	call   0x419893
40daf9:	50                   	push   %eax
40dafa:	6a 00                	push   $0x0
40dafc:	68 72 01 00 00       	push   $0x172
40db01:	57                   	push   %edi
40db02:	ff d3                	call   *%ebx
40db04:	3b 35 d8 8c 43 00    	cmp    0x438cd8,%esi
40db0a:	74 07                	je     0x40db13
40db0c:	56                   	push   %esi
40db0d:	ff 15 44 a0 42 00    	call   *0x42a044
40db13:	6a 02                	push   $0x2
40db15:	57                   	push   %edi
40db16:	ff 15 3c a3 42 00    	call   *0x42a33c
40db1c:	8b f8                	mov    %eax,%edi
40db1e:	3b 7d fc             	cmp    -0x4(%ebp),%edi
40db21:	74 0b                	je     0x40db2e
40db23:	ff 45 08             	incl   0x8(%ebp)
40db26:	85 ff                	test   %edi,%edi
40db28:	0f 85 4f ff ff ff    	jne    0x40da7d
40db2e:	5e                   	pop    %esi
40db2f:	5b                   	pop    %ebx
40db30:	5f                   	pop    %edi
40db31:	c9                   	leave
40db32:	c2 04 00             	ret    $0x4
40db35:	55                   	push   %ebp
40db36:	8b ec                	mov    %esp,%ebp
40db38:	51                   	push   %ecx
40db39:	53                   	push   %ebx
40db3a:	56                   	push   %esi
40db3b:	8b 75 08             	mov    0x8(%ebp),%esi
40db3e:	57                   	push   %edi
40db3f:	85 f6                	test   %esi,%esi
40db41:	0f 84 a5 00 00 00    	je     0x40dbec
40db47:	0f b7 06             	movzwl (%esi),%eax
40db4a:	66 85 c0             	test   %ax,%ax
40db4d:	0f 84 99 00 00 00    	je     0x40dbec
40db53:	8b 7d 0c             	mov    0xc(%ebp),%edi
40db56:	89 75 fc             	mov    %esi,-0x4(%ebp)
40db59:	c6 45 0b 00          	movb   $0x0,0xb(%ebp)
40db5d:	6a 22                	push   $0x22
40db5f:	5a                   	pop    %edx
40db60:	66 3b c2             	cmp    %dx,%ax
40db63:	75 4a                	jne    0x40dbaf
40db65:	8d 4e 02             	lea    0x2(%esi),%ecx
40db68:	66 39 11             	cmp    %dx,(%ecx)
40db6b:	75 21                	jne    0x40db8e
40db6d:	80 7d 0b 00          	cmpb   $0x0,0xb(%ebp)
40db71:	75 14                	jne    0x40db87
40db73:	3b 75 fc             	cmp    -0x4(%ebp),%esi
40db76:	75 0f                	jne    0x40db87
40db78:	0f b7 46 04          	movzwl 0x4(%esi),%eax
40db7c:	66 83 f8 2c          	cmp    $0x2c,%ax
40db80:	74 0c                	je     0x40db8e
40db82:	66 85 c0             	test   %ax,%ax
40db85:	74 07                	je     0x40db8e
40db87:	8b f1                	mov    %ecx,%esi
40db89:	66 89 17             	mov    %dx,(%edi)
40db8c:	eb 33                	jmp    0x40dbc1
40db8e:	8a 5d 0b             	mov    0xb(%ebp),%bl
40db91:	84 db                	test   %bl,%bl
40db93:	74 06                	je     0x40db9b
40db95:	c6 45 0b 00          	movb   $0x0,0xb(%ebp)
40db99:	eb 0f                	jmp    0x40dbaa
40db9b:	52                   	push   %edx
40db9c:	51                   	push   %ecx
40db9d:	e8 a7 e8 00 00       	call   0x41c449
40dba2:	59                   	pop    %ecx
40dba3:	85 c0                	test   %eax,%eax
40dba5:	59                   	pop    %ecx
40dba6:	0f 95 45 0b          	setne  0xb(%ebp)
40dbaa:	3a 5d 0b             	cmp    0xb(%ebp),%bl
40dbad:	75 14                	jne    0x40dbc3
40dbaf:	0f b7 06             	movzwl (%esi),%eax
40dbb2:	66 83 f8 2c          	cmp    $0x2c,%ax
40dbb6:	75 06                	jne    0x40dbbe
40dbb8:	80 7d 0b 00          	cmpb   $0x0,0xb(%ebp)
40dbbc:	74 16                	je     0x40dbd4
40dbbe:	66 89 07             	mov    %ax,(%edi)
40dbc1:	47                   	inc    %edi
40dbc2:	47                   	inc    %edi
40dbc3:	46                   	inc    %esi
40dbc4:	46                   	inc    %esi
40dbc5:	0f b7 06             	movzwl (%esi),%eax
40dbc8:	66 85 c0             	test   %ax,%ax
40dbcb:	75 90                	jne    0x40db5d
40dbcd:	33 c0                	xor    %eax,%eax
40dbcf:	66 89 07             	mov    %ax,(%edi)
40dbd2:	eb 14                	jmp    0x40dbe8
40dbd4:	33 c0                	xor    %eax,%eax
40dbd6:	66 89 07             	mov    %ax,(%edi)
40dbd9:	46                   	inc    %esi
40dbda:	46                   	inc    %esi
40dbdb:	0f b7 06             	movzwl (%esi),%eax
40dbde:	50                   	push   %eax
40dbdf:	e8 1e 2d 00 00       	call   0x410902
40dbe4:	84 c0                	test   %al,%al
40dbe6:	75 f1                	jne    0x40dbd9
40dbe8:	8b c6                	mov    %esi,%eax
40dbea:	eb 08                	jmp    0x40dbf4
40dbec:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40dbef:	33 c0                	xor    %eax,%eax
40dbf1:	66 89 01             	mov    %ax,(%ecx)
40dbf4:	5f                   	pop    %edi
40dbf5:	5e                   	pop    %esi
40dbf6:	5b                   	pop    %ebx
40dbf7:	c9                   	leave
40dbf8:	c2 08 00             	ret    $0x8
40dbfb:	53                   	push   %ebx
40dbfc:	8b 5c 24 08          	mov    0x8(%esp),%ebx
40dc00:	6a 20                	push   $0x20
40dc02:	53                   	push   %ebx
40dc03:	e8 41 e8 00 00       	call   0x41c449
40dc08:	59                   	pop    %ecx
40dc09:	59                   	pop    %ecx
40dc0a:	85 c0                	test   %eax,%eax
40dc0c:	74 68                	je     0x40dc76
40dc0e:	66 83 3b 22          	cmpw   $0x22,(%ebx)
40dc12:	75 0c                	jne    0x40dc20
40dc14:	53                   	push   %ebx
40dc15:	e8 82 c3 ff ff       	call   0x409f9c
40dc1a:	66 83 38 22          	cmpw   $0x22,(%eax)
40dc1e:	74 56                	je     0x40dc76
40dc20:	56                   	push   %esi
40dc21:	57                   	push   %edi
40dc22:	53                   	push   %ebx
40dc23:	e8 63 c5 00 00       	call   0x41a18b
40dc28:	8b f8                	mov    %eax,%edi
40dc2a:	33 c9                	xor    %ecx,%ecx
40dc2c:	6a 02                	push   $0x2
40dc2e:	5a                   	pop    %edx
40dc2f:	8d 47 03             	lea    0x3(%edi),%eax
40dc32:	f7 e2                	mul    %edx
40dc34:	0f 90 c1             	seto   %cl
40dc37:	f7 d9                	neg    %ecx
40dc39:	0b c8                	or     %eax,%ecx
40dc3b:	51                   	push   %ecx
40dc3c:	e8 84 be 00 00       	call   0x419ac5
40dc41:	8b f0                	mov    %eax,%esi
40dc43:	8d 46 02             	lea    0x2(%esi),%eax
40dc46:	53                   	push   %ebx
40dc47:	50                   	push   %eax
40dc48:	e8 86 c5 00 00       	call   0x41a1d3
40dc4d:	83 c4 10             	add    $0x10,%esp
40dc50:	6a 22                	push   $0x22
40dc52:	58                   	pop    %eax
40dc53:	ff 74 24 14          	push   0x14(%esp)
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