40bb53:	84 c0                	test   %al,%al
40bb55:	75 03                	jne    0x40bb5a
40bb57:	32 c0                	xor    %al,%al
40bb59:	c3                   	ret
40bb5a:	e8 db 02 00 00       	call   0x40be3a
40bb5f:	84 c0                	test   %al,%al
40bb61:	75 07                	jne    0x40bb6a
40bb63:	e8 8b 12 00 00       	call   0x40cdf3
40bb68:	eb ed                	jmp    0x40bb57
40bb6a:	b0 01                	mov    $0x1,%al
40bb6c:	c3                   	ret
40bb6d:	55                   	push   %ebp
40bb6e:	8b ec                	mov    %esp,%ebp
40bb70:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
40bb74:	75 0a                	jne    0x40bb80
40bb76:	e8 f2 02 00 00       	call   0x40be6d
40bb7b:	e8 73 12 00 00       	call   0x40cdf3
40bb80:	b0 01                	mov    $0x1,%al
40bb82:	5d                   	pop    %ebp
40bb83:	c3                   	ret
40bb84:	55                   	push   %ebp
40bb85:	8b ec                	mov    %esp,%ebp
40bb87:	8b 45 08             	mov    0x8(%ebp),%eax
40bb8a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40bb8d:	3b c1                	cmp    %ecx,%eax
40bb8f:	75 04                	jne    0x40bb95
40bb91:	33 c0                	xor    %eax,%eax
40bb93:	5d                   	pop    %ebp
40bb94:	c3                   	ret
40bb95:	83 c1 05             	add    $0x5,%ecx
40bb98:	83 c0 05             	add    $0x5,%eax
40bb9b:	8a 10                	mov    (%eax),%dl
40bb9d:	3a 11                	cmp    (%ecx),%dl
40bb9f:	75 18                	jne    0x40bbb9
40bba1:	84 d2                	test   %dl,%dl
40bba3:	74 ec                	je     0x40bb91
40bba5:	8a 50 01             	mov    0x1(%eax),%dl
40bba8:	3a 51 01             	cmp    0x1(%ecx),%dl
40bbab:	75 0c                	jne    0x40bbb9
40bbad:	83 c0 02             	add    $0x2,%eax
40bbb0:	83 c1 02             	add    $0x2,%ecx
40bbb3:	84 d2                	test   %dl,%dl
40bbb5:	75 e4                	jne    0x40bb9b
40bbb7:	eb d8                	jmp    0x40bb91
40bbb9:	1b c0                	sbb    %eax,%eax
40bbbb:	83 c8 01             	or     $0x1,%eax
40bbbe:	5d                   	pop    %ebp
40bbbf:	c3                   	ret
40bbc0:	6a 08                	push   $0x8
40bbc2:	68 d8 a9 43 00       	push   $0x43a9d8
40bbc7:	e8 04 e9 ff ff       	call   0x40a4d0
40bbcc:	8b 45 08             	mov    0x8(%ebp),%eax
40bbcf:	85 c0                	test   %eax,%eax
40bbd1:	74 7e                	je     0x40bc51
40bbd3:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
40bbd9:	75 76                	jne    0x40bc51
40bbdb:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
40bbdf:	75 70                	jne    0x40bc51
40bbe1:	81 78 14 20 05 93 19 	cmpl   $0x19930520,0x14(%eax)
40bbe8:	74 12                	je     0x40bbfc
40bbea:	81 78 14 21 05 93 19 	cmpl   $0x19930521,0x14(%eax)
40bbf1:	74 09                	je     0x40bbfc
40bbf3:	81 78 14 22 05 93 19 	cmpl   $0x19930522,0x14(%eax)
40bbfa:	75 55                	jne    0x40bc51
40bbfc:	8b 48 1c             	mov    0x1c(%eax),%ecx
40bbff:	85 c9                	test   %ecx,%ecx
40bc01:	74 4e                	je     0x40bc51
40bc03:	8b 51 04             	mov    0x4(%ecx),%edx
40bc06:	85 d2                	test   %edx,%edx
40bc08:	74 29                	je     0x40bc33
40bc0a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40bc0e:	52                   	push   %edx
40bc0f:	ff 70 18             	push   0x18(%eax)
40bc12:	e8 4a 00 00 00       	call   0x40bc61
40bc17:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40bc1e:	eb 31                	jmp    0x40bc51
40bc20:	ff 75 0c             	push   0xc(%ebp)
40bc23:	ff 75 ec             	push   -0x14(%ebp)
40bc26:	e8 43 00 00 00       	call   0x40bc6e
40bc2b:	59                   	pop    %ecx
40bc2c:	59                   	pop    %ecx
40bc2d:	c3                   	ret
40bc2e:	8b 65 e8             	mov    -0x18(%ebp),%esp
40bc31:	eb e4                	jmp    0x40bc17
40bc33:	f6 01 10             	testb  $0x10,(%ecx)
40bc36:	74 19                	je     0x40bc51
40bc38:	8b 40 18             	mov    0x18(%eax),%eax
40bc3b:	8b 08                	mov    (%eax),%ecx
40bc3d:	85 c9                	test   %ecx,%ecx
40bc3f:	74 10                	je     0x40bc51
40bc41:	8b 01                	mov    (%ecx),%eax
40bc43:	51                   	push   %ecx
40bc44:	8b 70 08             	mov    0x8(%eax),%esi
40bc47:	8b ce                	mov    %esi,%ecx
40bc49:	ff 15 68 12 43 00    	call   *0x431268
40bc4f:	ff d6                	call   *%esi
40bc51:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40bc54:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40bc5b:	59                   	pop    %ecx
40bc5c:	5f                   	pop    %edi
40bc5d:	5e                   	pop    %esi
40bc5e:	5b                   	pop    %ebx
40bc5f:	c9                   	leave
40bc60:	c3                   	ret
40bc61:	55                   	push   %ebp
40bc62:	8b ec                	mov    %esp,%ebp
40bc64:	8b 4d 08             	mov    0x8(%ebp),%ecx
40bc67:	ff 55 0c             	call   *0xc(%ebp)
40bc6a:	5d                   	pop    %ebp
40bc6b:	c2 08 00             	ret    $0x8
40bc6e:	55                   	push   %ebp
40bc6f:	8b ec                	mov    %esp,%ebp
40bc71:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
40bc75:	74 32                	je     0x40bca9
40bc77:	56                   	push   %esi
40bc78:	57                   	push   %edi
40bc79:	8b 7d 08             	mov    0x8(%ebp),%edi
40bc7c:	8b 37                	mov    (%edi),%esi
40bc7e:	81 3e 63 73 6d e0    	cmpl   $0xe06d7363,(%esi)
40bc84:	75 21                	jne    0x40bca7
40bc86:	83 7e 10 03          	cmpl   $0x3,0x10(%esi)
40bc8a:	75 1b                	jne    0x40bca7
40bc8c:	81 7e 14 20 05 93 19 	cmpl   $0x19930520,0x14(%esi)
40bc93:	74 18                	je     0x40bcad
40bc95:	81 7e 14 21 05 93 19 	cmpl   $0x19930521,0x14(%esi)
40bc9c:	74 0f                	je     0x40bcad
40bc9e:	81 7e 14 22 05 93 19 	cmpl   $0x19930522,0x14(%esi)
40bca5:	74 06                	je     0x40bcad
40bca7:	5f                   	pop    %edi
40bca8:	5e                   	pop    %esi
40bca9:	33 c0                	xor    %eax,%eax
40bcab:	5d                   	pop    %ebp
40bcac:	c3                   	ret
40bcad:	e8 e8 00 00 00       	call   0x40bd9a
40bcb2:	89 70 10             	mov    %esi,0x10(%eax)
40bcb5:	8b 77 04             	mov    0x4(%edi),%esi
40bcb8:	e8 dd 00 00 00       	call   0x40bd9a
40bcbd:	89 70 14             	mov    %esi,0x14(%eax)
40bcc0:	e8 90 01 01 00       	call   0x41be55
40bcc5:	cc                   	int3
40bcc6:	55                   	push   %ebp
40bcc7:	8b ec                	mov    %esp,%ebp
40bcc9:	e8 cc 00 00 00       	call   0x40bd9a
40bcce:	8b 40 24             	mov    0x24(%eax),%eax
40bcd1:	85 c0                	test   %eax,%eax
40bcd3:	74 0e                	je     0x40bce3
40bcd5:	8b 4d 08             	mov    0x8(%ebp),%ecx
40bcd8:	39 08                	cmp    %ecx,(%eax)
40bcda:	74 0c                	je     0x40bce8
40bcdc:	8b 40 04             	mov    0x4(%eax),%eax
40bcdf:	85 c0                	test   %eax,%eax
40bce1:	75 f5                	jne    0x40bcd8
40bce3:	33 c0                	xor    %eax,%eax
40bce5:	40                   	inc    %eax
40bce6:	5d                   	pop    %ebp
40bce7:	c3                   	ret
40bce8:	33 c0                	xor    %eax,%eax
40bcea:	5d                   	pop    %ebp
40bceb:	c3                   	ret
40bcec:	55                   	push   %ebp
40bced:	8b ec                	mov    %esp,%ebp
40bcef:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40bcf2:	8b 55 08             	mov    0x8(%ebp),%edx
40bcf5:	56                   	push   %esi
40bcf6:	8b 01                	mov    (%ecx),%eax
40bcf8:	8b 71 04             	mov    0x4(%ecx),%esi
40bcfb:	03 c2                	add    %edx,%eax
40bcfd:	85 f6                	test   %esi,%esi
40bcff:	78 0d                	js     0x40bd0e
40bd01:	8b 49 08             	mov    0x8(%ecx),%ecx
40bd04:	8b 14 16             	mov    (%esi,%edx,1),%edx
40bd07:	8b 0c 0a             	mov    (%edx,%ecx,1),%ecx
40bd0a:	03 ce                	add    %esi,%ecx
40bd0c:	03 c1                	add    %ecx,%eax
40bd0e:	5e                   	pop    %esi
40bd0f:	5d                   	pop    %ebp
40bd10:	c3                   	ret
40bd11:	55                   	push   %ebp
40bd12:	8b ec                	mov    %esp,%ebp
40bd14:	56                   	push   %esi
40bd15:	8b 75 08             	mov    0x8(%ebp),%esi
40bd18:	57                   	push   %edi
40bd19:	8b 3e                	mov    (%esi),%edi
40bd1b:	81 3f 52 43 43 e0    	cmpl   $0xe0434352,(%edi)
40bd21:	74 12                	je     0x40bd35
40bd23:	81 3f 4d 4f 43 e0    	cmpl   $0xe0434f4d,(%edi)
40bd29:	74 0a                	je     0x40bd35
40bd2b:	81 3f 63 73 6d e0    	cmpl   $0xe06d7363,(%edi)
40bd31:	74 1b                	je     0x40bd4e
40bd33:	eb 13                	jmp    0x40bd48
40bd35:	e8 60 00 00 00       	call   0x40bd9a
40bd3a:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
40bd3e:	7e 08                	jle    0x40bd48
40bd40:	e8 55 00 00 00       	call   0x40bd9a
40bd45:	ff 48 18             	decl   0x18(%eax)
40bd48:	5f                   	pop    %edi
40bd49:	33 c0                	xor    %eax,%eax
40bd4b:	5e                   	pop    %esi
40bd4c:	5d                   	pop    %ebp
40bd4d:	c3                   	ret
40bd4e:	e8 47 00 00 00       	call   0x40bd9a
40bd53:	89 78 10             	mov    %edi,0x10(%eax)
40bd56:	8b 76 04             	mov    0x4(%esi),%esi
40bd59:	e8 3c 00 00 00       	call   0x40bd9a
40bd5e:	89 70 14             	mov    %esi,0x14(%eax)
40bd61:	e8 ef 00 01 00       	call   0x41be55
40bd66:	cc                   	int3
40bd67:	e8 2e 00 00 00       	call   0x40bd9a
40bd6c:	83 c0 10             	add    $0x10,%eax
40bd6f:	c3                   	ret
40bd70:	e8 25 00 00 00       	call   0x40bd9a
40bd75:	83 c0 14             	add    $0x14,%eax
40bd78:	c3                   	ret
40bd79:	e9 d7 00 01 00       	jmp    0x41be55
40bd7e:	55                   	push   %ebp
40bd7f:	8b ec                	mov    %esp,%ebp
40bd81:	8b 45 08             	mov    0x8(%ebp),%eax
40bd84:	85 c0                	test   %eax,%eax
40bd86:	74 0e                	je     0x40bd96
40bd88:	3d e0 f5 43 00       	cmp    $0x43f5e0,%eax
40bd8d:	74 07                	je     0x40bd96
40bd8f:	50                   	push   %eax
40bd90:	e8 7b ae ff ff       	call   0x406c10
40bd95:	59                   	pop    %ecx
40bd96:	5d                   	pop    %ebp
40bd97:	c2 04 00             	ret    $0x4
40bd9a:	e8 09 00 00 00       	call   0x40bda8
40bd9f:	85 c0                	test   %eax,%eax
40bda1:	0f 84 ea 00 01 00    	je     0x41be91
40bda7:	c3                   	ret
40bda8:	83 3d 20 d1 43 00 ff 	cmpl   $0xffffffff,0x43d120
40bdaf:	75 03                	jne    0x40bdb4
40bdb1:	33 c0                	xor    %eax,%eax
40bdb3:	c3                   	ret
40bdb4:	53                   	push   %ebx
40bdb5:	57                   	push   %edi
40bdb6:	ff 15 08 11 43 00    	call   *0x431108
40bdbc:	ff 35 20 d1 43 00    	push   0x43d120
40bdc2:	8b f8                	mov    %eax,%edi
40bdc4:	e8 ba 11 00 00       	call   0x40cf83
40bdc9:	8b d8                	mov    %eax,%ebx
40bdcb:	59                   	pop    %ecx
40bdcc:	83 fb ff             	cmp    $0xffffffff,%ebx
40bdcf:	74 17                	je     0x40bde8
40bdd1:	85 db                	test   %ebx,%ebx
40bdd3:	75 59                	jne    0x40be2e
40bdd5:	6a ff                	push   $0xffffffff
40bdd7:	ff 35 20 d1 43 00    	push   0x43d120
40bddd:	e8 dc 11 00 00       	call   0x40cfbe
40bde2:	59                   	pop    %ecx
40bde3:	59                   	pop    %ecx
40bde4:	85 c0                	test   %eax,%eax
40bde6:	75 04                	jne    0x40bdec
40bde8:	33 db                	xor    %ebx,%ebx
40bdea:	eb 42                	jmp    0x40be2e
40bdec:	56                   	push   %esi
40bded:	6a 28                	push   $0x28
40bdef:	6a 01                	push   $0x1
40bdf1:	e8 ba ad ff ff       	call   0x406bb0
40bdf6:	8b f0                	mov    %eax,%esi
40bdf8:	59                   	pop    %ecx
40bdf9:	59                   	pop    %ecx
40bdfa:	85 f6                	test   %esi,%esi
40bdfc:	74 12                	je     0x40be10
40bdfe:	56                   	push   %esi
40bdff:	ff 35 20 d1 43 00    	push   0x43d120
40be05:	e8 b4 11 00 00       	call   0x40cfbe
40be0a:	59                   	pop    %ecx
40be0b:	59                   	pop    %ecx
40be0c:	85 c0                	test   %eax,%eax
40be0e:	75 12                	jne    0x40be22
40be10:	33 db                	xor    %ebx,%ebx
40be12:	53                   	push   %ebx
40be13:	ff 35 20 d1 43 00    	push   0x43d120
40be19:	e8 a0 11 00 00       	call   0x40cfbe
40be1e:	59                   	pop    %ecx
40be1f:	59                   	pop    %ecx
40be20:	eb 04                	jmp    0x40be26
40be22:	8b de                	mov    %esi,%ebx
40be24:	33 f6                	xor    %esi,%esi
40be26:	56                   	push   %esi
40be27:	e8 e4 ad ff ff       	call   0x406c10
40be2c:	59                   	pop    %ecx
40be2d:	5e                   	pop    %esi
40be2e:	57                   	push   %edi
40be2f:	ff 15 78 11 43 00    	call   *0x431178
40be35:	5f                   	pop    %edi
40be36:	8b c3                	mov    %ebx,%eax
40be38:	5b                   	pop    %ebx
40be39:	c3                   	ret
40be3a:	68 7e bd 40 00       	push   $0x40bd7e
40be3f:	e8 c9 10 00 00       	call   0x40cf0d
40be44:	a3 20 d1 43 00       	mov    %eax,0x43d120
40be49:	59                   	pop    %ecx
40be4a:	83 f8 ff             	cmp    $0xffffffff,%eax
40be4d:	75 03                	jne    0x40be52
40be4f:	32 c0                	xor    %al,%al
40be51:	c3                   	ret
40be52:	68 e0 f5 43 00       	push   $0x43f5e0
40be57:	50                   	push   %eax
40be58:	e8 61 11 00 00       	call   0x40cfbe
40be5d:	59                   	pop    %ecx
40be5e:	59                   	pop    %ecx
40be5f:	85 c0                	test   %eax,%eax
40be61:	75 07                	jne    0x40be6a
40be63:	e8 05 00 00 00       	call   0x40be6d
40be68:	eb e5                	jmp    0x40be4f
40be6a:	b0 01                	mov    $0x1,%al
40be6c:	c3                   	ret
40be6d:	a1 20 d1 43 00       	mov    0x43d120,%eax
40be72:	83 f8 ff             	cmp    $0xffffffff,%eax
40be75:	74 0e                	je     0x40be85
40be77:	50                   	push   %eax
40be78:	e8 cb 10 00 00       	call   0x40cf48
40be7d:	83 0d 20 d1 43 00 ff 	orl    $0xffffffff,0x43d120
40be84:	59                   	pop    %ecx
40be85:	b0 01                	mov    $0x1,%al
40be87:	c3                   	ret
40be88:	6a 10                	push   $0x10
40be8a:	68 a0 aa 43 00       	push   $0x43aaa0
40be8f:	e8 3c e6 ff ff       	call   0x40a4d0
40be94:	33 db                	xor    %ebx,%ebx
40be96:	8b 45 10             	mov    0x10(%ebp),%eax
40be99:	8b 48 04             	mov    0x4(%eax),%ecx
40be9c:	85 c9                	test   %ecx,%ecx
40be9e:	0f 84 0a 01 00 00    	je     0x40bfae
40bea4:	38 59 08             	cmp    %bl,0x8(%ecx)
40bea7:	0f 84 01 01 00 00    	je     0x40bfae
40bead:	8b 50 08             	mov    0x8(%eax),%edx
40beb0:	85 d2                	test   %edx,%edx
40beb2:	75 08                	jne    0x40bebc
40beb4:	39 18                	cmp    %ebx,(%eax)
40beb6:	0f 8d f2 00 00 00    	jge    0x40bfae
40bebc:	8b 08                	mov    (%eax),%ecx
40bebe:	8b 75 0c             	mov    0xc(%ebp),%esi
40bec1:	85 c9                	test   %ecx,%ecx
40bec3:	78 05                	js     0x40beca
40bec5:	83 c6 0c             	add    $0xc,%esi
40bec8:	03 f2                	add    %edx,%esi
40beca:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40becd:	8b 7d 14             	mov    0x14(%ebp),%edi
40bed0:	84 c9                	test   %cl,%cl
40bed2:	79 20                	jns    0x40bef4
40bed4:	f6 07 10             	testb  $0x10,(%edi)
40bed7:	74 1b                	je     0x40bef4
40bed9:	a1 d8 f5 43 00       	mov    0x43f5d8,%eax
40bede:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40bee1:	85 c0                	test   %eax,%eax
40bee3:	74 0f                	je     0x40bef4
40bee5:	8b c8                	mov    %eax,%ecx