40dab4:	83 f8 03             	cmp    $0x3,%eax
40dab7:	0f 85 d6 00 00 00    	jne    0x40db93
40dabd:	0f b7 45 f8          	movzwl -0x8(%ebp),%eax
40dac1:	05 76 02 00 00       	add    $0x276,%eax
40dac6:	c9                   	leave
40dac7:	c3                   	ret
40dac8:	83 bd e8 fe ff ff 0a 	cmpl   $0xa,-0x118(%ebp)
40dacf:	0f 85 be 00 00 00    	jne    0x40db93
40dad5:	83 bd ec fe ff ff 00 	cmpl   $0x0,-0x114(%ebp)
40dadc:	0f 85 b1 00 00 00    	jne    0x40db93
40dae2:	0f b7 45 f8          	movzwl -0x8(%ebp),%eax
40dae6:	05 e8 03 00 00       	add    $0x3e8,%eax
40daeb:	c9                   	leave
40daec:	c3                   	ret
40daed:	3c 02                	cmp    $0x2,%al
40daef:	74 08                	je     0x40daf9
40daf1:	3c 03                	cmp    $0x3,%al
40daf3:	0f 85 9a 00 00 00    	jne    0x40db93
40daf9:	83 bd e8 fe ff ff 05 	cmpl   $0x5,-0x118(%ebp)
40db00:	75 27                	jne    0x40db29
40db02:	83 bd ec fe ff ff 01 	cmpl   $0x1,-0x114(%ebp)
40db09:	75 0b                	jne    0x40db16
40db0b:	0f b7 45 f8          	movzwl -0x8(%ebp),%eax
40db0f:	05 ec 13 00 00       	add    $0x13ec,%eax
40db14:	c9                   	leave
40db15:	c3                   	ret
40db16:	39 8d ec fe ff ff    	cmp    %ecx,-0x114(%ebp)
40db1c:	75 75                	jne    0x40db93
40db1e:	0f b7 45 f8          	movzwl -0x8(%ebp),%eax
40db22:	05 50 14 00 00       	add    $0x1450,%eax
40db27:	c9                   	leave
40db28:	c3                   	ret
40db29:	83 bd e8 fe ff ff 06 	cmpl   $0x6,-0x118(%ebp)
40db30:	75 44                	jne    0x40db76
40db32:	8b 85 ec fe ff ff    	mov    -0x114(%ebp),%eax
40db38:	85 c0                	test   %eax,%eax
40db3a:	75 0b                	jne    0x40db47
40db3c:	0f b7 45 f8          	movzwl -0x8(%ebp),%eax
40db40:	05 70 17 00 00       	add    $0x1770,%eax
40db45:	c9                   	leave
40db46:	c3                   	ret
40db47:	83 f8 01             	cmp    $0x1,%eax
40db4a:	75 0b                	jne    0x40db57
40db4c:	0f b7 45 f8          	movzwl -0x8(%ebp),%eax
40db50:	05 d4 17 00 00       	add    $0x17d4,%eax
40db55:	c9                   	leave
40db56:	c3                   	ret
40db57:	3b c1                	cmp    %ecx,%eax
40db59:	75 0b                	jne    0x40db66
40db5b:	0f b7 45 f8          	movzwl -0x8(%ebp),%eax
40db5f:	05 38 18 00 00       	add    $0x1838,%eax
40db64:	c9                   	leave
40db65:	c3                   	ret
40db66:	83 f8 03             	cmp    $0x3,%eax
40db69:	75 28                	jne    0x40db93
40db6b:	0f b7 45 f8          	movzwl -0x8(%ebp),%eax
40db6f:	05 9c 18 00 00       	add    $0x189c,%eax
40db74:	c9                   	leave
40db75:	c3                   	ret
40db76:	83 bd e8 fe ff ff 0a 	cmpl   $0xa,-0x118(%ebp)
40db7d:	75 14                	jne    0x40db93
40db7f:	83 bd ec fe ff ff 00 	cmpl   $0x0,-0x114(%ebp)
40db86:	75 0b                	jne    0x40db93
40db88:	0f b7 45 f8          	movzwl -0x8(%ebp),%eax
40db8c:	05 10 27 00 00       	add    $0x2710,%eax
40db91:	c9                   	leave
40db92:	c3                   	ret
40db93:	33 c0                	xor    %eax,%eax
40db95:	c9                   	leave
40db96:	c3                   	ret
40db97:	55                   	push   %ebp
40db98:	8b ec                	mov    %esp,%ebp
40db9a:	83 ec 0c             	sub    $0xc,%esp
40db9d:	56                   	push   %esi
40db9e:	8d 45 fc             	lea    -0x4(%ebp),%eax
40dba1:	33 f6                	xor    %esi,%esi
40dba3:	50                   	push   %eax
40dba4:	6a 08                	push   $0x8
40dba6:	89 75 fc             	mov    %esi,-0x4(%ebp)
40dba9:	ff 15 e8 20 41 00    	call   *0x4120e8
40dbaf:	50                   	push   %eax
40dbb0:	ff 15 54 20 41 00    	call   *0x412054
40dbb6:	85 c0                	test   %eax,%eax
40dbb8:	74 20                	je     0x40dbda
40dbba:	6a 04                	push   $0x4
40dbbc:	59                   	pop    %ecx
40dbbd:	8d 45 f8             	lea    -0x8(%ebp),%eax
40dbc0:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40dbc3:	50                   	push   %eax
40dbc4:	51                   	push   %ecx
40dbc5:	8d 45 f4             	lea    -0xc(%ebp),%eax
40dbc8:	50                   	push   %eax
40dbc9:	6a 14                	push   $0x14
40dbcb:	ff 75 fc             	push   -0x4(%ebp)
40dbce:	ff 15 48 20 41 00    	call   *0x412048
40dbd4:	85 c0                	test   %eax,%eax
40dbd6:	0f 45 75 f4          	cmovne -0xc(%ebp),%esi
40dbda:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
40dbde:	74 09                	je     0x40dbe9
40dbe0:	ff 75 fc             	push   -0x4(%ebp)
40dbe3:	ff 15 00 22 41 00    	call   *0x412200
40dbe9:	33 c0                	xor    %eax,%eax
40dbeb:	85 f6                	test   %esi,%esi
40dbed:	5e                   	pop    %esi
40dbee:	0f 95 c0             	setne  %al
40dbf1:	c9                   	leave
40dbf2:	c3                   	ret
40dbf3:	55                   	push   %ebp
40dbf4:	8b ec                	mov    %esp,%ebp
40dbf6:	51                   	push   %ecx
40dbf7:	ff 15 e8 20 41 00    	call   *0x4120e8
40dbfd:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40dc00:	89 45 fc             	mov    %eax,-0x4(%ebp)
40dc03:	e8 cc 0f 00 00       	call   0x40ebd4
40dc08:	f7 d8                	neg    %eax
40dc0a:	1b c0                	sbb    %eax,%eax
40dc0c:	f7 d8                	neg    %eax
40dc0e:	c9                   	leave
40dc0f:	c3                   	ret
40dc10:	ff 31                	push   (%ecx)
40dc12:	ff 15 78 22 41 00    	call   *0x412278
40dc18:	c3                   	ret
40dc19:	55                   	push   %ebp
40dc1a:	8b ec                	mov    %esp,%ebp
40dc1c:	83 ec 24             	sub    $0x24,%esp
40dc1f:	56                   	push   %esi
40dc20:	57                   	push   %edi
40dc21:	6a 08                	push   $0x8
40dc23:	8b f1                	mov    %ecx,%esi
40dc25:	c7 45 fc 10 00 00 00 	movl   $0x10,-0x4(%ebp)
40dc2c:	59                   	pop    %ecx
40dc2d:	33 c0                	xor    %eax,%eax
40dc2f:	8d 7d dc             	lea    -0x24(%ebp),%edi
40dc32:	f3 ab                	rep stos %eax,%es:(%edi)
40dc34:	8d 45 fc             	lea    -0x4(%ebp),%eax
40dc37:	50                   	push   %eax
40dc38:	8d 45 dc             	lea    -0x24(%ebp),%eax
40dc3b:	50                   	push   %eax
40dc3c:	ff 15 1c 22 41 00    	call   *0x41221c
40dc42:	8d 45 dc             	lea    -0x24(%ebp),%eax
40dc45:	8b ce                	mov    %esi,%ecx
40dc47:	50                   	push   %eax
40dc48:	e8 c5 57 ff ff       	call   0x403412
40dc4d:	5f                   	pop    %edi
40dc4e:	8b c6                	mov    %esi,%eax
40dc50:	5e                   	pop    %esi
40dc51:	c9                   	leave
40dc52:	c3                   	ret
40dc53:	55                   	push   %ebp
40dc54:	8b ec                	mov    %esp,%ebp
40dc56:	83 ec 18             	sub    $0x18,%esp
40dc59:	56                   	push   %esi
40dc5a:	33 f6                	xor    %esi,%esi
40dc5c:	57                   	push   %edi
40dc5d:	8b f9                	mov    %ecx,%edi
40dc5f:	89 75 fc             	mov    %esi,-0x4(%ebp)
40dc62:	89 75 ec             	mov    %esi,-0x14(%ebp)
40dc65:	89 75 f0             	mov    %esi,-0x10(%ebp)
40dc68:	89 37                	mov    %esi,(%edi)
40dc6a:	89 77 04             	mov    %esi,0x4(%edi)
40dc6d:	39 35 48 7d 41 00    	cmp    %esi,0x417d48
40dc73:	0f 85 83 00 00 00    	jne    0x40dcfc
40dc79:	68 08 42 41 00       	push   $0x414208
40dc7e:	8d 4d f8             	lea    -0x8(%ebp),%ecx
40dc81:	e8 8c 57 ff ff       	call   0x403412
40dc86:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40dc89:	51                   	push   %ecx
40dc8a:	68 01 01 00 00       	push   $0x101
40dc8f:	56                   	push   %esi
40dc90:	ff 30                	push   (%eax)
40dc92:	68 02 00 00 80       	push   $0x80000002
40dc97:	ff 15 14 20 41 00    	call   *0x412014
40dc9d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40dca0:	f7 d8                	neg    %eax
40dca2:	1b f6                	sbb    %esi,%esi
40dca4:	e8 84 7d ff ff       	call   0x405a2d
40dca9:	83 c6 01             	add    $0x1,%esi
40dcac:	74 2a                	je     0x40dcd8
40dcae:	8d 45 ec             	lea    -0x14(%ebp),%eax
40dcb1:	50                   	push   %eax
40dcb2:	68 48 42 41 00       	push   $0x414248
40dcb7:	8d 4d f8             	lea    -0x8(%ebp),%ecx
40dcba:	e8 53 57 ff ff       	call   0x403412
40dcbf:	50                   	push   %eax
40dcc0:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40dcc3:	e8 99 12 00 00       	call   0x40ef61
40dcc8:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40dccb:	e8 5d 7d ff ff       	call   0x405a2d
40dcd0:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40dcd3:	e8 74 12 00 00       	call   0x40ef4c
40dcd8:	8d 55 ec             	lea    -0x14(%ebp),%edx
40dcdb:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40dcde:	e8 1f 7f ff ff       	call   0x405c02
40dce3:	50                   	push   %eax
40dce4:	8b cf                	mov    %edi,%ecx
40dce6:	e8 e1 4f ff ff       	call   0x402ccc
40dceb:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40dcee:	e8 73 51 ff ff       	call   0x402e66
40dcf3:	b9 44 7d 41 00       	mov    $0x417d44,%ecx
40dcf8:	8b c7                	mov    %edi,%eax
40dcfa:	eb 05                	jmp    0x40dd01
40dcfc:	b8 44 7d 41 00       	mov    $0x417d44,%eax
40dd01:	50                   	push   %eax
40dd02:	e8 c5 4f ff ff       	call   0x402ccc
40dd07:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40dd0a:	e8 57 51 ff ff       	call   0x402e66
40dd0f:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40dd12:	e8 35 12 00 00       	call   0x40ef4c
40dd17:	8b c7                	mov    %edi,%eax
40dd19:	5f                   	pop    %edi
40dd1a:	5e                   	pop    %esi
40dd1b:	c9                   	leave
40dd1c:	c3                   	ret
40dd1d:	8b 49 04             	mov    0x4(%ecx),%ecx
40dd20:	e9 08 7d ff ff       	jmp    0x405a2d
40dd25:	ff 31                	push   (%ecx)
40dd27:	ff 15 fc 20 41 00    	call   *0x4120fc
40dd2d:	c3                   	ret
40dd2e:	6a ff                	push   $0xffffffff
40dd30:	ff 31                	push   (%ecx)
40dd32:	ff 15 e4 20 41 00    	call   *0x4120e4
40dd38:	f7 d8                	neg    %eax
40dd3a:	1b c0                	sbb    %eax,%eax
40dd3c:	40                   	inc    %eax
40dd3d:	c2 04 00             	ret    $0x4
40dd40:	55                   	push   %ebp
40dd41:	8b ec                	mov    %esp,%ebp
40dd43:	56                   	push   %esi
40dd44:	57                   	push   %edi
40dd45:	ff 75 08             	push   0x8(%ebp)
40dd48:	8b f9                	mov    %ecx,%edi
40dd4a:	8d 4f 04             	lea    0x4(%edi),%ecx
40dd4d:	e8 00 52 ff ff       	call   0x402f52
40dd52:	ff 77 04             	push   0x4(%edi)
40dd55:	6a 00                	push   $0x0
40dd57:	6a 01                	push   $0x1
40dd59:	6a 00                	push   $0x0
40dd5b:	ff 15 04 21 41 00    	call   *0x412104
40dd61:	89 07                	mov    %eax,(%edi)
40dd63:	33 c0                	xor    %eax,%eax
40dd65:	5f                   	pop    %edi
40dd66:	40                   	inc    %eax
40dd67:	5e                   	pop    %esi
40dd68:	5d                   	pop    %ebp
40dd69:	c2 08 00             	ret    $0x8
40dd6c:	56                   	push   %esi
40dd6d:	8b f1                	mov    %ecx,%esi
40dd6f:	8d 4e 04             	lea    0x4(%esi),%ecx
40dd72:	e8 79 52 ff ff       	call   0x402ff0
40dd77:	83 26 00             	andl   $0x0,(%esi)
40dd7a:	8b c6                	mov    %esi,%eax
40dd7c:	5e                   	pop    %esi
40dd7d:	c3                   	ret
40dd7e:	cc                   	int3
40dd7f:	cc                   	int3
40dd80:	cc                   	int3
40dd81:	6a 00                	push   $0x0
40dd83:	ff 32                	push   (%edx)
40dd85:	ff 31                	push   (%ecx)
40dd87:	ff 15 34 21 41 00    	call   *0x412134
40dd8d:	c3                   	ret
40dd8e:	53                   	push   %ebx
40dd8f:	56                   	push   %esi
40dd90:	57                   	push   %edi
40dd91:	33 ff                	xor    %edi,%edi
40dd93:	8b f1                	mov    %ecx,%esi
40dd95:	57                   	push   %edi
40dd96:	57                   	push   %edi
40dd97:	6a 01                	push   $0x1
40dd99:	57                   	push   %edi
40dd9a:	6a 01                	push   $0x1
40dd9c:	bb 00 00 00 c0       	mov    $0xc0000000,%ebx
40dda1:	53                   	push   %ebx
40dda2:	ff 76 04             	push   0x4(%esi)
40dda5:	ff 15 94 20 41 00    	call   *0x412094
40ddab:	89 46 08             	mov    %eax,0x8(%esi)
40ddae:	83 f8 ff             	cmp    $0xffffffff,%eax
40ddb1:	75 19                	jne    0x40ddcc
40ddb3:	ff 15 0c 22 41 00    	call   *0x41220c
40ddb9:	83 f8 50             	cmp    $0x50,%eax
40ddbc:	75 0e                	jne    0x40ddcc
40ddbe:	51                   	push   %ecx
40ddbf:	53                   	push   %ebx
40ddc0:	8b ce                	mov    %esi,%ecx
40ddc2:	89 7e 08             	mov    %edi,0x8(%esi)
40ddc5:	e8 66 03 00 00       	call   0x40e130
40ddca:	eb 09                	jmp    0x40ddd5
40ddcc:	33 c0                	xor    %eax,%eax
40ddce:	83 7e 08 ff          	cmpl   $0xffffffff,0x8(%esi)
40ddd2:	0f 95 c0             	setne  %al
40ddd5:	5f                   	pop    %edi
40ddd6:	5e                   	pop    %esi
40ddd7:	5b                   	pop    %ebx
40ddd8:	c2 08 00             	ret    $0x8
40dddb:	55                   	push   %ebp
40dddc:	8b ec                	mov    %esp,%ebp
40ddde:	51                   	push   %ecx
40dddf:	53                   	push   %ebx
40dde0:	57                   	push   %edi
40dde1:	8b f9                	mov    %ecx,%edi
40dde3:	33 db                	xor    %ebx,%ebx
40dde5:	39 1f                	cmp    %ebx,(%edi)
40dde7:	74 08                	je     0x40ddf1
40dde9:	8d 4f 0c             	lea    0xc(%edi),%ecx
40ddec:	e8 1c 04 00 00       	call   0x40e20d
40ddf1:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40ddf4:	56                   	push   %esi
40ddf5:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40ddf8:	e8 ad 7b ff ff       	call   0x4059aa
40ddfd:	ff 75 10             	push   0x10(%ebp)
40de00:	8b f0                	mov    %eax,%esi
40de02:	53                   	push   %ebx
40de03:	53                   	push   %ebx
40de04:	ff 77 08             	push   0x8(%edi)
40de07:	ff 15 28 21 41 00    	call   *0x412128
40de0d:	53                   	push   %ebx
40de0e:	8d 45 fc             	lea    -0x4(%ebp),%eax
40de11:	50                   	push   %eax
40de12:	ff 75 0c             	push   0xc(%ebp)
40de15:	56                   	push   %esi
40de16:	ff 77 08             	push   0x8(%edi)
40de19:	ff 15 a8 20 41 00    	call   *0x4120a8
40de1f:	ff 75 0c             	push   0xc(%ebp)
40de22:	8b 4d 08             	mov    0x8(%ebp),%ecx
40de25:	8b d8                	mov    %eax,%ebx
40de27:	56                   	push   %esi
40de28:	e8 94 4f ff ff       	call   0x402dc1
40de2d:	8b ce                	mov    %esi,%ecx
40de2f:	e8 f9 7b ff ff       	call   0x405a2d
40de34:	83 3f 00             	cmpl   $0x0,(%edi)
40de37:	5e                   	pop    %esi
40de38:	74 09                	je     0x40de43
40de3a:	ff 77 0c             	push   0xc(%edi)
40de3d:	ff 15 50 21 41 00    	call   *0x412150
40de43:	5f                   	pop    %edi
40de44:	8b c3                	mov    %ebx,%eax
40de46:	5b                   	pop    %ebx
40de47:	c9                   	leave
40de48:	c2 0c 00             	ret    $0xc
40de4b:	55                   	push   %ebp
40de4c:	8b ec                	mov    %esp,%ebp
40de4e:	56                   	push   %esi
40de4f:	ff 75 08             	push   0x8(%ebp)
40de52:	8b f1                	mov    %ecx,%esi
40de54:	8d 4e 04             	lea    0x4(%esi),%ecx
40de57:	e8 08 54 ff ff       	call   0x403264
40de5c:	51                   	push   %ecx
40de5d:	ff 75 0c             	push   0xc(%ebp)
40de60:	8b ce                	mov    %esi,%ecx
40de62:	e8 c9 02 00 00       	call   0x40e130