40897f:	50                   	push   %eax
408980:	51                   	push   %ecx
408981:	6a 0e                	push   $0xe
408983:	5a                   	pop    %edx
408984:	8b cb                	mov    %ebx,%ecx
408986:	e8 da f6 ff ff       	call   0x408065
40898b:	85 c0                	test   %eax,%eax
40898d:	74 0a                	je     0x408999
40898f:	68 68 28 40 00       	push   $0x402868
408994:	e9 61 09 00 00       	jmp    0x4092fa
408999:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
40899c:	8b 41 0c             	mov    0xc(%ecx),%eax
40899f:	85 c0                	test   %eax,%eax
4089a1:	74 23                	je     0x4089c6
4089a3:	83 f8 02             	cmp    $0x2,%eax
4089a6:	74 0a                	je     0x4089b2
4089a8:	68 68 28 40 00       	push   $0x402868
4089ad:	e9 e2 fd ff ff       	jmp    0x408794
4089b2:	85 c0                	test   %eax,%eax
4089b4:	74 10                	je     0x4089c6
4089b6:	ff 31                	push   (%ecx)
4089b8:	68 8c 28 40 00       	push   $0x40288c
4089bd:	56                   	push   %esi
4089be:	e8 85 f9 ff ff       	call   0x408348
4089c3:	83 c4 0c             	add    $0xc,%esp
4089c6:	8d 45 d4             	lea    -0x2c(%ebp),%eax
4089c9:	50                   	push   %eax
4089ca:	8d 45 c8             	lea    -0x38(%ebp),%eax
4089cd:	50                   	push   %eax
4089ce:	51                   	push   %ecx
4089cf:	6a 0f                	push   $0xf
4089d1:	5a                   	pop    %edx
4089d2:	8b cb                	mov    %ebx,%ecx
4089d4:	e8 8c f6 ff ff       	call   0x408065
4089d9:	85 c0                	test   %eax,%eax
4089db:	74 0a                	je     0x4089e7
4089dd:	68 bc 28 40 00       	push   $0x4028bc
4089e2:	e9 13 09 00 00       	jmp    0x4092fa
4089e7:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
4089ea:	8b 41 0c             	mov    0xc(%ecx),%eax
4089ed:	85 c0                	test   %eax,%eax
4089ef:	74 23                	je     0x408a14
4089f1:	83 f8 02             	cmp    $0x2,%eax
4089f4:	74 0a                	je     0x408a00
4089f6:	68 bc 28 40 00       	push   $0x4028bc
4089fb:	e9 94 fd ff ff       	jmp    0x408794
408a00:	85 c0                	test   %eax,%eax
408a02:	74 10                	je     0x408a14
408a04:	ff 31                	push   (%ecx)
408a06:	68 ec 28 40 00       	push   $0x4028ec
408a0b:	56                   	push   %esi
408a0c:	e8 37 f9 ff ff       	call   0x408348
408a11:	83 c4 0c             	add    $0xc,%esp
408a14:	83 7d c0 01          	cmpl   $0x1,-0x40(%ebp)
408a18:	75 53                	jne    0x408a6d
408a1a:	83 ff 02             	cmp    $0x2,%edi
408a1d:	75 4e                	jne    0x408a6d
408a1f:	8d 45 d4             	lea    -0x2c(%ebp),%eax
408a22:	50                   	push   %eax
408a23:	8d 45 c8             	lea    -0x38(%ebp),%eax
408a26:	50                   	push   %eax
408a27:	51                   	push   %ecx
408a28:	6a 18                	push   $0x18
408a2a:	5a                   	pop    %edx
408a2b:	8b cb                	mov    %ebx,%ecx
408a2d:	e8 33 f6 ff ff       	call   0x408065
408a32:	85 c0                	test   %eax,%eax
408a34:	74 0a                	je     0x408a40
408a36:	68 28 29 40 00       	push   $0x402928
408a3b:	e9 ba 08 00 00       	jmp    0x4092fa
408a40:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
408a43:	8b 41 0c             	mov    0xc(%ecx),%eax
408a46:	85 c0                	test   %eax,%eax
408a48:	74 23                	je     0x408a6d
408a4a:	83 f8 04             	cmp    $0x4,%eax
408a4d:	74 0a                	je     0x408a59
408a4f:	68 28 29 40 00       	push   $0x402928
408a54:	e9 3b fd ff ff       	jmp    0x408794
408a59:	85 c0                	test   %eax,%eax
408a5b:	74 10                	je     0x408a6d
408a5d:	ff 31                	push   (%ecx)
408a5f:	68 3c 29 40 00       	push   $0x40293c
408a64:	56                   	push   %esi
408a65:	e8 de f8 ff ff       	call   0x408348
408a6a:	83 c4 0c             	add    $0xc,%esp
408a6d:	8d 45 d4             	lea    -0x2c(%ebp),%eax
408a70:	50                   	push   %eax
408a71:	8d 45 c8             	lea    -0x38(%ebp),%eax
408a74:	50                   	push   %eax
408a75:	51                   	push   %ecx
408a76:	6a 10                	push   $0x10
408a78:	5a                   	pop    %edx
408a79:	8b cb                	mov    %ebx,%ecx
408a7b:	e8 e5 f5 ff ff       	call   0x408065
408a80:	85 c0                	test   %eax,%eax
408a82:	74 0a                	je     0x408a8e
408a84:	68 5c 29 40 00       	push   $0x40295c
408a89:	e9 6c 08 00 00       	jmp    0x4092fa
408a8e:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
408a91:	8b 41 0c             	mov    0xc(%ecx),%eax
408a94:	85 c0                	test   %eax,%eax
408a96:	74 23                	je     0x408abb
408a98:	83 f8 02             	cmp    $0x2,%eax
408a9b:	74 0a                	je     0x408aa7
408a9d:	68 5c 29 40 00       	push   $0x40295c
408aa2:	e9 ed fc ff ff       	jmp    0x408794
408aa7:	85 c0                	test   %eax,%eax
408aa9:	74 10                	je     0x408abb
408aab:	ff 31                	push   (%ecx)
408aad:	68 80 29 40 00       	push   $0x402980
408ab2:	56                   	push   %esi
408ab3:	e8 90 f8 ff ff       	call   0x408348
408ab8:	83 c4 0c             	add    $0xc,%esp
408abb:	8d 45 d4             	lea    -0x2c(%ebp),%eax
408abe:	50                   	push   %eax
408abf:	8d 45 c8             	lea    -0x38(%ebp),%eax
408ac2:	50                   	push   %eax
408ac3:	51                   	push   %ecx
408ac4:	6a 09                	push   $0x9
408ac6:	5a                   	pop    %edx
408ac7:	8b cb                	mov    %ebx,%ecx
408ac9:	e8 97 f5 ff ff       	call   0x408065
408ace:	85 c0                	test   %eax,%eax
408ad0:	74 0a                	je     0x408adc
408ad2:	68 b0 29 40 00       	push   $0x4029b0
408ad7:	e9 1e 08 00 00       	jmp    0x4092fa
408adc:	8b 7d d4             	mov    -0x2c(%ebp),%edi
408adf:	8b 47 0c             	mov    0xc(%edi),%eax
408ae2:	85 c0                	test   %eax,%eax
408ae4:	74 74                	je     0x408b5a
408ae6:	83 f8 03             	cmp    $0x3,%eax
408ae9:	74 0a                	je     0x408af5
408aeb:	68 b0 29 40 00       	push   $0x4029b0
408af0:	e9 9f fc ff ff       	jmp    0x408794
408af5:	85 c0                	test   %eax,%eax
408af7:	74 61                	je     0x408b5a
408af9:	33 c0                	xor    %eax,%eax
408afb:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
408b02:	89 45 e8             	mov    %eax,-0x18(%ebp)
408b05:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
408b09:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
408b0d:	b1 20                	mov    $0x20,%cl
408b0f:	8b 07                	mov    (%edi),%eax
408b11:	8b 57 04             	mov    0x4(%edi),%edx
408b14:	e8 17 61 00 00       	call   0x40ec30
408b19:	89 45 b4             	mov    %eax,-0x4c(%ebp)
408b1c:	8d 55 d8             	lea    -0x28(%ebp),%edx
408b1f:	8b 07                	mov    (%edi),%eax
408b21:	8d 4d b0             	lea    -0x50(%ebp),%ecx
408b24:	89 45 b0             	mov    %eax,-0x50(%ebp)
408b27:	e8 27 53 00 00       	call   0x40de53
408b2c:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
408b30:	8b 45 d8             	mov    -0x28(%ebp),%eax
408b33:	73 03                	jae    0x408b38
408b35:	8d 45 d8             	lea    -0x28(%ebp),%eax
408b38:	50                   	push   %eax
408b39:	68 c0 29 40 00       	push   $0x4029c0
408b3e:	56                   	push   %esi
408b3f:	e8 04 f8 ff ff       	call   0x408348
408b44:	83 c4 0c             	add    $0xc,%esp
408b47:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
408b4b:	33 ff                	xor    %edi,%edi
408b4d:	8d 4d d8             	lea    -0x28(%ebp),%ecx
408b50:	57                   	push   %edi
408b51:	6a 01                	push   $0x1
408b53:	e8 98 d9 ff ff       	call   0x4064f0
408b58:	eb 02                	jmp    0x408b5c
408b5a:	33 ff                	xor    %edi,%edi
408b5c:	8d 45 d4             	lea    -0x2c(%ebp),%eax
408b5f:	50                   	push   %eax
408b60:	8d 45 c8             	lea    -0x38(%ebp),%eax
408b63:	50                   	push   %eax
408b64:	51                   	push   %ecx
408b65:	6a 0a                	push   $0xa
408b67:	5a                   	pop    %edx
408b68:	8b cb                	mov    %ebx,%ecx
408b6a:	e8 f6 f4 ff ff       	call   0x408065
408b6f:	85 c0                	test   %eax,%eax
408b71:	74 0a                	je     0x408b7d
408b73:	68 dc 29 40 00       	push   $0x4029dc
408b78:	e9 7d 07 00 00       	jmp    0x4092fa
408b7d:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
408b80:	8b 41 0c             	mov    0xc(%ecx),%eax
408b83:	85 c0                	test   %eax,%eax
408b85:	74 23                	je     0x408baa
408b87:	83 f8 04             	cmp    $0x4,%eax
408b8a:	74 0a                	je     0x408b96
408b8c:	68 dc 29 40 00       	push   $0x4029dc
408b91:	e9 fe fb ff ff       	jmp    0x408794
408b96:	85 c0                	test   %eax,%eax
408b98:	74 10                	je     0x408baa
408b9a:	ff 31                	push   (%ecx)
408b9c:	68 e8 29 40 00       	push   $0x4029e8
408ba1:	56                   	push   %esi
408ba2:	e8 a1 f7 ff ff       	call   0x408348
408ba7:	83 c4 0c             	add    $0xc,%esp
408baa:	8d 45 d4             	lea    -0x2c(%ebp),%eax
408bad:	50                   	push   %eax
408bae:	8d 45 c8             	lea    -0x38(%ebp),%eax
408bb1:	50                   	push   %eax
408bb2:	51                   	push   %ecx
408bb3:	6a 1a                	push   $0x1a
408bb5:	5a                   	pop    %edx
408bb6:	8b cb                	mov    %ebx,%ecx
408bb8:	e8 a8 f4 ff ff       	call   0x408065
408bbd:	85 c0                	test   %eax,%eax
408bbf:	74 0a                	je     0x408bcb
408bc1:	68 00 2a 40 00       	push   $0x402a00
408bc6:	e9 2f 07 00 00       	jmp    0x4092fa
408bcb:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
408bce:	8b 41 0c             	mov    0xc(%ecx),%eax
408bd1:	85 c0                	test   %eax,%eax
408bd3:	74 23                	je     0x408bf8
408bd5:	83 f8 04             	cmp    $0x4,%eax
408bd8:	74 0a                	je     0x408be4
408bda:	68 00 2a 40 00       	push   $0x402a00
408bdf:	e9 b0 fb ff ff       	jmp    0x408794
408be4:	85 c0                	test   %eax,%eax
408be6:	74 10                	je     0x408bf8
408be8:	ff 31                	push   (%ecx)
408bea:	68 10 2a 40 00       	push   $0x402a10
408bef:	56                   	push   %esi
408bf0:	e8 53 f7 ff ff       	call   0x408348
408bf5:	83 c4 0c             	add    $0xc,%esp
408bf8:	8d 45 d4             	lea    -0x2c(%ebp),%eax
408bfb:	50                   	push   %eax
408bfc:	8d 45 c8             	lea    -0x38(%ebp),%eax
408bff:	50                   	push   %eax
408c00:	51                   	push   %ecx
408c01:	6a 19                	push   $0x19
408c03:	5a                   	pop    %edx
408c04:	8b cb                	mov    %ebx,%ecx
408c06:	e8 5a f4 ff ff       	call   0x408065
408c0b:	85 c0                	test   %eax,%eax
408c0d:	74 0a                	je     0x408c19
408c0f:	68 2c 2a 40 00       	push   $0x402a2c
408c14:	e9 e1 06 00 00       	jmp    0x4092fa
408c19:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
408c1c:	8b 41 0c             	mov    0xc(%ecx),%eax
408c1f:	85 c0                	test   %eax,%eax
408c21:	74 30                	je     0x408c53
408c23:	83 f8 01             	cmp    $0x1,%eax
408c26:	74 0a                	je     0x408c32
408c28:	68 2c 2a 40 00       	push   $0x402a2c
408c2d:	e9 62 fb ff ff       	jmp    0x408794
408c32:	85 c0                	test   %eax,%eax
408c34:	74 1d                	je     0x408c53
408c36:	b8 80 24 40 00       	mov    $0x402480,%eax
408c3b:	39 39                	cmp    %edi,(%ecx)
408c3d:	75 05                	jne    0x408c44
408c3f:	b8 8c 24 40 00       	mov    $0x40248c,%eax
408c44:	50                   	push   %eax
408c45:	68 54 2a 40 00       	push   $0x402a54
408c4a:	56                   	push   %esi
408c4b:	e8 f8 f6 ff ff       	call   0x408348
408c50:	83 c4 0c             	add    $0xc,%esp
408c53:	8d 45 d4             	lea    -0x2c(%ebp),%eax
408c56:	50                   	push   %eax
408c57:	8d 45 c8             	lea    -0x38(%ebp),%eax
408c5a:	50                   	push   %eax
408c5b:	51                   	push   %ecx
408c5c:	6a 0b                	push   $0xb
408c5e:	5a                   	pop    %edx
408c5f:	8b cb                	mov    %ebx,%ecx
408c61:	e8 ff f3 ff ff       	call   0x408065
408c66:	85 c0                	test   %eax,%eax
408c68:	74 0a                	je     0x408c74
408c6a:	68 88 2a 40 00       	push   $0x402a88
408c6f:	e9 86 06 00 00       	jmp    0x4092fa
408c74:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
408c77:	8b 41 0c             	mov    0xc(%ecx),%eax
408c7a:	85 c0                	test   %eax,%eax
408c7c:	74 23                	je     0x408ca1
408c7e:	83 f8 04             	cmp    $0x4,%eax
408c81:	74 0a                	je     0x408c8d
408c83:	68 88 2a 40 00       	push   $0x402a88
408c88:	e9 07 fb ff ff       	jmp    0x408794
408c8d:	85 c0                	test   %eax,%eax
408c8f:	74 10                	je     0x408ca1
408c91:	ff 31                	push   (%ecx)
408c93:	68 a4 2a 40 00       	push   $0x402aa4
408c98:	56                   	push   %esi
408c99:	e8 aa f6 ff ff       	call   0x408348
408c9e:	83 c4 0c             	add    $0xc,%esp
408ca1:	83 7d c0 01          	cmpl   $0x1,-0x40(%ebp)
408ca5:	75 54                	jne    0x408cfb
408ca7:	83 7d c4 01          	cmpl   $0x1,-0x3c(%ebp)
408cab:	75 4e                	jne    0x408cfb
408cad:	8d 45 d4             	lea    -0x2c(%ebp),%eax
408cb0:	50                   	push   %eax
408cb1:	8d 45 c8             	lea    -0x38(%ebp),%eax
408cb4:	50                   	push   %eax
408cb5:	51                   	push   %ecx
408cb6:	6a 0c                	push   $0xc
408cb8:	5a                   	pop    %edx
408cb9:	8b cb                	mov    %ebx,%ecx
408cbb:	e8 a5 f3 ff ff       	call   0x408065
408cc0:	85 c0                	test   %eax,%eax
408cc2:	74 0a                	je     0x408cce
408cc4:	68 cc 2a 40 00       	push   $0x402acc
408cc9:	e9 2c 06 00 00       	jmp    0x4092fa
408cce:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
408cd1:	8b 41 0c             	mov    0xc(%ecx),%eax
408cd4:	85 c0                	test   %eax,%eax
408cd6:	74 23                	je     0x408cfb
408cd8:	83 f8 02             	cmp    $0x2,%eax
408cdb:	74 0a                	je     0x408ce7
408cdd:	68 cc 2a 40 00       	push   $0x402acc
408ce2:	e9 ad fa ff ff       	jmp    0x408794
408ce7:	85 c0                	test   %eax,%eax
408ce9:	74 10                	je     0x408cfb
408ceb:	ff 31                	push   (%ecx)
408ced:	68 e8 2a 40 00       	push   $0x402ae8
408cf2:	56                   	push   %esi
408cf3:	e8 50 f6 ff ff       	call   0x408348
408cf8:	83 c4 0c             	add    $0xc,%esp
408cfb:	8d 45 d4             	lea    -0x2c(%ebp),%eax
408cfe:	50                   	push   %eax
408cff:	8d 45 c8             	lea    -0x38(%ebp),%eax
408d02:	50                   	push   %eax
408d03:	51                   	push   %ecx
408d04:	6a 12                	push   $0x12
408d06:	5a                   	pop    %edx
408d07:	8b cb                	mov    %ebx,%ecx
408d09:	e8 57 f3 ff ff       	call   0x408065
408d0e:	85 c0                	test   %eax,%eax
408d10:	74 0a                	je     0x408d1c
408d12:	68 10 2b 40 00       	push   $0x402b10
408d17:	e9 de 05 00 00       	jmp    0x4092fa
408d1c:	8b 7d d4             	mov    -0x2c(%ebp),%edi
408d1f:	8b 47 0c             	mov    0xc(%edi),%eax
408d22:	85 c0                	test   %eax,%eax
408d24:	74 3a                	je     0x408d60
408d26:	83 f8 02             	cmp    $0x2,%eax
408d29:	74 0a                	je     0x408d35
408d2b:	68 10 2b 40 00       	push   $0x402b10
408d30:	e9 5f fa ff ff       	jmp    0x408794
408d35:	85 c0                	test   %eax,%eax
408d37:	74 27                	je     0x408d60
408d39:	8b 17                	mov    (%edi),%edx
408d3b:	b9 a0 11 41 00       	mov    $0x4111a0,%ecx
408d40:	e8 1a 4e 00 00       	call   0x40db5f
408d45:	85 c0                	test   %eax,%eax
408d47:	75 08                	jne    0x408d51
408d49:	52                   	push   %edx
408d4a:	6a 14                	push   $0x14
408d4c:	e9 45 fa ff ff       	jmp    0x408796
408d51:	50                   	push   %eax
408d52:	68 2c 2b 40 00       	push   $0x402b2c
408d57:	56                   	push   %esi