4028c2:	68 00 80 00 00       	push   $0x8000
4028c7:	ff 15 a4 f0 40 00    	call   *0x40f0a4
4028cd:	8b f0                	mov    %eax,%esi
4028cf:	85 f6                	test   %esi,%esi
4028d1:	0f 84 92 00 00 00    	je     0x402969
4028d7:	57                   	push   %edi
4028d8:	8d 45 0c             	lea    0xc(%ebp),%eax
4028db:	50                   	push   %eax
4028dc:	ff 75 08             	push   0x8(%ebp)
4028df:	68 00 40 00 00       	push   $0x4000
4028e4:	56                   	push   %esi
4028e5:	ff 15 c4 f1 40 00    	call   *0x40f1c4
4028eb:	83 c4 10             	add    $0x10,%esp
4028ee:	33 ff                	xor    %edi,%edi
4028f0:	83 3d a0 e3 40 00 02 	cmpl   $0x2,0x40e3a0
4028f7:	75 29                	jne    0x402922
4028f9:	8b ce                	mov    %esi,%ecx
4028fb:	8d 51 02             	lea    0x2(%ecx),%edx
4028fe:	66 8b 01             	mov    (%ecx),%ax
402901:	83 c1 02             	add    $0x2,%ecx
402904:	66 3b c7             	cmp    %di,%ax
402907:	75 f5                	jne    0x4028fe
402909:	57                   	push   %edi
40290a:	2b ca                	sub    %edx,%ecx
40290c:	8d 45 f8             	lea    -0x8(%ebp),%eax
40290f:	50                   	push   %eax
402910:	d1 f9                	sar    $1,%ecx
402912:	51                   	push   %ecx
402913:	56                   	push   %esi
402914:	ff 35 88 a3 40 00    	push   0x40a388
40291a:	ff 15 d4 f0 40 00    	call   *0x40f0d4
402920:	eb 3f                	jmp    0x402961
402922:	51                   	push   %ecx
402923:	8d 55 fc             	lea    -0x4(%ebp),%edx
402926:	89 7d fc             	mov    %edi,-0x4(%ebp)
402929:	8b ce                	mov    %esi,%ecx
40292b:	e8 a2 06 00 00       	call   0x402fd2
402930:	85 c0                	test   %eax,%eax
402932:	75 2d                	jne    0x402961
402934:	8b 4d fc             	mov    -0x4(%ebp),%ecx
402937:	8d 51 01             	lea    0x1(%ecx),%edx
40293a:	8a 01                	mov    (%ecx),%al
40293c:	41                   	inc    %ecx
40293d:	84 c0                	test   %al,%al
40293f:	75 f9                	jne    0x40293a
402941:	57                   	push   %edi
402942:	8d 45 f8             	lea    -0x8(%ebp),%eax
402945:	2b ca                	sub    %edx,%ecx
402947:	50                   	push   %eax
402948:	51                   	push   %ecx
402949:	ff 75 fc             	push   -0x4(%ebp)
40294c:	ff 35 88 a3 40 00    	push   0x40a388
402952:	ff 15 ec f0 40 00    	call   *0x40f0ec
402958:	ff 75 fc             	push   -0x4(%ebp)
40295b:	ff 15 b0 f0 40 00    	call   *0x40f0b0
402961:	56                   	push   %esi
402962:	ff 15 b0 f0 40 00    	call   *0x40f0b0
402968:	5f                   	pop    %edi
402969:	5e                   	pop    %esi
40296a:	c9                   	leave
40296b:	c3                   	ret
40296c:	8b ff                	mov    %edi,%edi
40296e:	55                   	push   %ebp
40296f:	8b ec                	mov    %esp,%ebp
402971:	56                   	push   %esi
402972:	ff 75 08             	push   0x8(%ebp)
402975:	8b f2                	mov    %edx,%esi
402977:	56                   	push   %esi
402978:	51                   	push   %ecx
402979:	6a 00                	push   $0x0
40297b:	ff 15 20 f1 40 00    	call   *0x40f120
402981:	85 c0                	test   %eax,%eax
402983:	75 03                	jne    0x402988
402985:	66 89 06             	mov    %ax,(%esi)
402988:	8b c6                	mov    %esi,%eax
40298a:	5e                   	pop    %esi
40298b:	5d                   	pop    %ebp
40298c:	c2 04 00             	ret    $0x4
40298f:	8b ff                	mov    %edi,%edi
402991:	55                   	push   %ebp
402992:	8b ec                	mov    %esp,%ebp
402994:	51                   	push   %ecx
402995:	51                   	push   %ecx
402996:	56                   	push   %esi
402997:	68 00 08 00 00       	push   $0x800
40299c:	ff 15 a4 f0 40 00    	call   *0x40f0a4
4029a2:	8b f0                	mov    %eax,%esi
4029a4:	85 f6                	test   %esi,%esi
4029a6:	0f 84 b0 00 00 00    	je     0x402a5c
4029ac:	53                   	push   %ebx
4029ad:	68 00 02 00 00       	push   $0x200
4029b2:	56                   	push   %esi
4029b3:	ff 75 08             	push   0x8(%ebp)
4029b6:	33 db                	xor    %ebx,%ebx
4029b8:	53                   	push   %ebx
4029b9:	ff 15 20 f1 40 00    	call   *0x40f120
4029bf:	85 c0                	test   %eax,%eax
4029c1:	0f 84 8d 00 00 00    	je     0x402a54
4029c7:	57                   	push   %edi
4029c8:	8d 45 0c             	lea    0xc(%ebp),%eax
4029cb:	50                   	push   %eax
4029cc:	56                   	push   %esi
4029cd:	8d be 00 04 00 00    	lea    0x400(%esi),%edi
4029d3:	68 00 02 00 00       	push   $0x200
4029d8:	57                   	push   %edi
4029d9:	ff 15 c4 f1 40 00    	call   *0x40f1c4
4029df:	83 c4 10             	add    $0x10,%esp
4029e2:	83 3d a0 e3 40 00 02 	cmpl   $0x2,0x40e3a0
4029e9:	75 29                	jne    0x402a14
4029eb:	8b cf                	mov    %edi,%ecx
4029ed:	8d 51 02             	lea    0x2(%ecx),%edx
4029f0:	66 8b 01             	mov    (%ecx),%ax
4029f3:	83 c1 02             	add    $0x2,%ecx
4029f6:	66 3b c3             	cmp    %bx,%ax
4029f9:	75 f5                	jne    0x4029f0
4029fb:	53                   	push   %ebx
4029fc:	2b ca                	sub    %edx,%ecx
4029fe:	8d 45 f8             	lea    -0x8(%ebp),%eax
402a01:	50                   	push   %eax
402a02:	d1 f9                	sar    $1,%ecx
402a04:	51                   	push   %ecx
402a05:	57                   	push   %edi
402a06:	ff 35 88 a3 40 00    	push   0x40a388
402a0c:	ff 15 d4 f0 40 00    	call   *0x40f0d4
402a12:	eb 3f                	jmp    0x402a53
402a14:	51                   	push   %ecx
402a15:	8d 55 fc             	lea    -0x4(%ebp),%edx
402a18:	89 5d fc             	mov    %ebx,-0x4(%ebp)
402a1b:	8b cf                	mov    %edi,%ecx
402a1d:	e8 b0 05 00 00       	call   0x402fd2
402a22:	85 c0                	test   %eax,%eax
402a24:	75 2d                	jne    0x402a53
402a26:	8b 4d fc             	mov    -0x4(%ebp),%ecx
402a29:	8d 51 01             	lea    0x1(%ecx),%edx
402a2c:	8a 01                	mov    (%ecx),%al
402a2e:	41                   	inc    %ecx
402a2f:	84 c0                	test   %al,%al
402a31:	75 f9                	jne    0x402a2c
402a33:	53                   	push   %ebx
402a34:	8d 45 f8             	lea    -0x8(%ebp),%eax
402a37:	2b ca                	sub    %edx,%ecx
402a39:	50                   	push   %eax
402a3a:	51                   	push   %ecx
402a3b:	ff 75 fc             	push   -0x4(%ebp)
402a3e:	ff 35 88 a3 40 00    	push   0x40a388
402a44:	ff 15 ec f0 40 00    	call   *0x40f0ec
402a4a:	ff 75 fc             	push   -0x4(%ebp)
402a4d:	ff 15 b0 f0 40 00    	call   *0x40f0b0
402a53:	5f                   	pop    %edi
402a54:	56                   	push   %esi
402a55:	ff 15 b0 f0 40 00    	call   *0x40f0b0
402a5b:	5b                   	pop    %ebx
402a5c:	5e                   	pop    %esi
402a5d:	c9                   	leave
402a5e:	c3                   	ret
402a5f:	8b ff                	mov    %edi,%edi
402a61:	53                   	push   %ebx
402a62:	56                   	push   %esi
402a63:	8b f1                	mov    %ecx,%esi
402a65:	85 f6                	test   %esi,%esi
402a67:	75 0d                	jne    0x402a76
402a69:	68 e8 03 00 00       	push   $0x3e8
402a6e:	e8 1c ff ff ff       	call   0x40298f
402a73:	59                   	pop    %ecx
402a74:	eb 05                	jmp    0x402a7b
402a76:	83 fe 01             	cmp    $0x1,%esi
402a79:	75 0b                	jne    0x402a86
402a7b:	68 e9 03 00 00       	push   $0x3e9
402a80:	e8 0a ff ff ff       	call   0x40298f
402a85:	59                   	pop    %ecx
402a86:	85 f6                	test   %esi,%esi
402a88:	74 05                	je     0x402a8f
402a8a:	83 fe 02             	cmp    $0x2,%esi
402a8d:	75 0b                	jne    0x402a9a
402a8f:	68 ea 03 00 00       	push   $0x3ea
402a94:	e8 f6 fe ff ff       	call   0x40298f
402a99:	59                   	pop    %ecx
402a9a:	85 f6                	test   %esi,%esi
402a9c:	74 05                	je     0x402aa3
402a9e:	83 fe 03             	cmp    $0x3,%esi
402aa1:	75 0b                	jne    0x402aae
402aa3:	68 eb 03 00 00       	push   $0x3eb
402aa8:	e8 e2 fe ff ff       	call   0x40298f
402aad:	59                   	pop    %ecx
402aae:	85 f6                	test   %esi,%esi
402ab0:	74 05                	je     0x402ab7
402ab2:	83 fe 04             	cmp    $0x4,%esi
402ab5:	75 0b                	jne    0x402ac2
402ab7:	68 ec 03 00 00       	push   $0x3ec
402abc:	e8 ce fe ff ff       	call   0x40298f
402ac1:	59                   	pop    %ecx
402ac2:	85 f6                	test   %esi,%esi
402ac4:	74 05                	je     0x402acb
402ac6:	83 fe 05             	cmp    $0x5,%esi
402ac9:	75 0b                	jne    0x402ad6
402acb:	68 ed 03 00 00       	push   $0x3ed
402ad0:	e8 ba fe ff ff       	call   0x40298f
402ad5:	59                   	pop    %ecx
402ad6:	85 f6                	test   %esi,%esi
402ad8:	74 05                	je     0x402adf
402ada:	83 fe 06             	cmp    $0x6,%esi
402add:	75 0b                	jne    0x402aea
402adf:	68 ee 03 00 00       	push   $0x3ee
402ae4:	e8 a6 fe ff ff       	call   0x40298f
402ae9:	59                   	pop    %ecx
402aea:	85 f6                	test   %esi,%esi
402aec:	74 05                	je     0x402af3
402aee:	83 fe 07             	cmp    $0x7,%esi
402af1:	75 0b                	jne    0x402afe
402af3:	68 ef 03 00 00       	push   $0x3ef
402af8:	e8 92 fe ff ff       	call   0x40298f
402afd:	59                   	pop    %ecx
402afe:	85 f6                	test   %esi,%esi
402b00:	74 05                	je     0x402b07
402b02:	83 fe 08             	cmp    $0x8,%esi
402b05:	75 0b                	jne    0x402b12
402b07:	68 f0 03 00 00       	push   $0x3f0
402b0c:	e8 7e fe ff ff       	call   0x40298f
402b11:	59                   	pop    %ecx
402b12:	85 f6                	test   %esi,%esi
402b14:	74 05                	je     0x402b1b
402b16:	83 fe 09             	cmp    $0x9,%esi
402b19:	75 0b                	jne    0x402b26
402b1b:	68 f1 03 00 00       	push   $0x3f1
402b20:	e8 6a fe ff ff       	call   0x40298f
402b25:	59                   	pop    %ecx
402b26:	85 f6                	test   %esi,%esi
402b28:	74 05                	je     0x402b2f
402b2a:	83 fe 0a             	cmp    $0xa,%esi
402b2d:	75 0b                	jne    0x402b3a
402b2f:	68 f2 03 00 00       	push   $0x3f2
402b34:	e8 56 fe ff ff       	call   0x40298f
402b39:	59                   	pop    %ecx
402b3a:	6a 0b                	push   $0xb
402b3c:	5b                   	pop    %ebx
402b3d:	85 f6                	test   %esi,%esi
402b3f:	74 04                	je     0x402b45
402b41:	3b f3                	cmp    %ebx,%esi
402b43:	75 0b                	jne    0x402b50
402b45:	68 f3 03 00 00       	push   $0x3f3
402b4a:	e8 40 fe ff ff       	call   0x40298f
402b4f:	59                   	pop    %ecx
402b50:	85 f6                	test   %esi,%esi
402b52:	74 05                	je     0x402b59
402b54:	83 fe 0c             	cmp    $0xc,%esi
402b57:	75 0b                	jne    0x402b64
402b59:	68 f4 03 00 00       	push   $0x3f4
402b5e:	e8 2c fe ff ff       	call   0x40298f
402b63:	59                   	pop    %ecx
402b64:	85 f6                	test   %esi,%esi
402b66:	74 05                	je     0x402b6d
402b68:	83 fe 0d             	cmp    $0xd,%esi
402b6b:	75 0b                	jne    0x402b78
402b6d:	68 f5 03 00 00       	push   $0x3f5
402b72:	e8 18 fe ff ff       	call   0x40298f
402b77:	59                   	pop    %ecx
402b78:	85 f6                	test   %esi,%esi
402b7a:	74 05                	je     0x402b81
402b7c:	83 fe 0e             	cmp    $0xe,%esi
402b7f:	75 0b                	jne    0x402b8c
402b81:	68 f6 03 00 00       	push   $0x3f6
402b86:	e8 04 fe ff ff       	call   0x40298f
402b8b:	59                   	pop    %ecx
402b8c:	85 f6                	test   %esi,%esi
402b8e:	74 05                	je     0x402b95
402b90:	83 fe 0f             	cmp    $0xf,%esi
402b93:	75 0b                	jne    0x402ba0
402b95:	68 f7 03 00 00       	push   $0x3f7
402b9a:	e8 f0 fd ff ff       	call   0x40298f
402b9f:	59                   	pop    %ecx
402ba0:	85 f6                	test   %esi,%esi
402ba2:	74 05                	je     0x402ba9
402ba4:	83 fe 10             	cmp    $0x10,%esi
402ba7:	75 0b                	jne    0x402bb4
402ba9:	68 f8 03 00 00       	push   $0x3f8
402bae:	e8 dc fd ff ff       	call   0x40298f
402bb3:	59                   	pop    %ecx
402bb4:	85 f6                	test   %esi,%esi
402bb6:	74 05                	je     0x402bbd
402bb8:	83 fe 11             	cmp    $0x11,%esi
402bbb:	75 0b                	jne    0x402bc8
402bbd:	68 f9 03 00 00       	push   $0x3f9
402bc2:	e8 c8 fd ff ff       	call   0x40298f
402bc7:	59                   	pop    %ecx
402bc8:	85 f6                	test   %esi,%esi
402bca:	74 05                	je     0x402bd1
402bcc:	83 fe 12             	cmp    $0x12,%esi
402bcf:	75 0b                	jne    0x402bdc
402bd1:	68 fa 03 00 00       	push   $0x3fa
402bd6:	e8 b4 fd ff ff       	call   0x40298f
402bdb:	59                   	pop    %ecx
402bdc:	85 f6                	test   %esi,%esi
402bde:	74 05                	je     0x402be5
402be0:	83 fe 13             	cmp    $0x13,%esi
402be3:	75 0b                	jne    0x402bf0
402be5:	68 fb 03 00 00       	push   $0x3fb
402bea:	e8 a0 fd ff ff       	call   0x40298f
402bef:	59                   	pop    %ecx
402bf0:	85 f6                	test   %esi,%esi
402bf2:	74 05                	je     0x402bf9
402bf4:	83 fe 14             	cmp    $0x14,%esi
402bf7:	75 0b                	jne    0x402c04
402bf9:	68 fc 03 00 00       	push   $0x3fc
402bfe:	e8 8c fd ff ff       	call   0x40298f
402c03:	59                   	pop    %ecx
402c04:	85 f6                	test   %esi,%esi
402c06:	74 05                	je     0x402c0d
402c08:	83 fe 15             	cmp    $0x15,%esi
402c0b:	75 0b                	jne    0x402c18
402c0d:	68 fd 03 00 00       	push   $0x3fd
402c12:	e8 78 fd ff ff       	call   0x40298f
402c17:	59                   	pop    %ecx
402c18:	85 f6                	test   %esi,%esi
402c1a:	74 05                	je     0x402c21
402c1c:	83 fe 16             	cmp    $0x16,%esi
402c1f:	75 0b                	jne    0x402c2c
402c21:	68 fe 03 00 00       	push   $0x3fe
402c26:	e8 64 fd ff ff       	call   0x40298f
402c2b:	59                   	pop    %ecx
402c2c:	85 f6                	test   %esi,%esi
402c2e:	74 05                	je     0x402c35
402c30:	83 fe 17             	cmp    $0x17,%esi
402c33:	75 0b                	jne    0x402c40
402c35:	68 ff 03 00 00       	push   $0x3ff
402c3a:	e8 50 fd ff ff       	call   0x40298f
402c3f:	59                   	pop    %ecx
402c40:	85 f6                	test   %esi,%esi
402c42:	74 05                	je     0x402c49
402c44:	83 fe 18             	cmp    $0x18,%esi
402c47:	75 0b                	jne    0x402c54
402c49:	68 00 04 00 00       	push   $0x400
402c4e:	e8 3c fd ff ff       	call   0x40298f
402c53:	59                   	pop    %ecx
402c54:	85 f6                	test   %esi,%esi
402c56:	74 05                	je     0x402c5d
402c58:	83 fe 2b             	cmp    $0x2b,%esi
402c5b:	75 0b                	jne    0x402c68
402c5d:	68 96 04 00 00       	push   $0x496
402c62:	e8 28 fd ff ff       	call   0x40298f
402c67:	59                   	pop    %ecx
402c68:	85 f6                	test   %esi,%esi
402c6a:	74 05                	je     0x402c71
402c6c:	83 fe 19             	cmp    $0x19,%esi
402c6f:	75 0b                	jne    0x402c7c
402c71:	68 01 04 00 00       	push   $0x401
402c76:	e8 14 fd ff ff       	call   0x40298f
402c7b:	59                   	pop    %ecx
402c7c:	85 f6                	test   %esi,%esi
402c7e:	74 05                	je     0x402c85
402c80:	83 fe 1a             	cmp    $0x1a,%esi