40290c:	5e                   	pop    %esi
40290d:	5b                   	pop    %ebx
40290e:	5d                   	pop    %ebp
40290f:	c2 04 00             	ret    $0x4
402912:	8b c1                	mov    %ecx,%eax
402914:	eb ac                	jmp    0x4028c2
402916:	55                   	push   %ebp
402917:	8b ec                	mov    %esp,%ebp
402919:	8b 01                	mov    (%ecx),%eax
40291b:	3b 45 08             	cmp    0x8(%ebp),%eax
40291e:	0f 95 c0             	setne  %al
402921:	5d                   	pop    %ebp
402922:	c2 04 00             	ret    $0x4
402925:	55                   	push   %ebp
402926:	8b ec                	mov    %esp,%ebp
402928:	56                   	push   %esi
402929:	6a 10                	push   $0x10
40292b:	8b f1                	mov    %ecx,%esi
40292d:	e8 b8 cb 01 00       	call   0x41f4ea
402932:	59                   	pop    %ecx
402933:	85 c0                	test   %eax,%eax
402935:	0f 84 aa 1b 07 00    	je     0x4744e5
40293b:	ff 75 08             	push   0x8(%ebp)
40293e:	8b c8                	mov    %eax,%ecx
402940:	e8 d4 a4 00 00       	call   0x40ce19
402945:	89 46 08             	mov    %eax,0x8(%esi)
402948:	c7 46 0c 04 00 00 00 	movl   $0x4,0xc(%esi)
40294f:	8b c6                	mov    %esi,%eax
402951:	5e                   	pop    %esi
402952:	5d                   	pop    %ebp
402953:	c2 04 00             	ret    $0x4
402956:	55                   	push   %ebp
402957:	8b ec                	mov    %esp,%ebp
402959:	56                   	push   %esi
40295a:	57                   	push   %edi
40295b:	8b 7d 08             	mov    0x8(%ebp),%edi
40295e:	8b f1                	mov    %ecx,%esi
402960:	8b 4e 24             	mov    0x24(%esi),%ecx
402963:	85 c9                	test   %ecx,%ecx
402965:	74 5d                	je     0x4029c4
402967:	80 7e 10 00          	cmpb   $0x0,0x10(%esi)
40296b:	74 57                	je     0x4029c4
40296d:	83 3f ff             	cmpl   $0xffffffff,(%edi)
402970:	74 52                	je     0x4029c4
402972:	8b 56 28             	mov    0x28(%esi),%edx
402975:	39 17                	cmp    %edx,(%edi)
402977:	7f 4b                	jg     0x4029c4
402979:	ff 76 30             	push   0x30(%esi)
40297c:	8b 46 40             	mov    0x40(%esi),%eax
40297f:	ff 76 2c             	push   0x2c(%esi)
402982:	0b 46 38             	or     0x38(%esi),%eax
402985:	50                   	push   %eax
402986:	ff 37                	push   (%edi)
402988:	52                   	push   %edx
402989:	ff 36                	push   (%esi)
40298b:	e8 d0 71 00 00       	call   0x409b60
402990:	83 c4 18             	add    $0x18,%esp
402993:	89 46 34             	mov    %eax,0x34(%esi)
402996:	85 c0                	test   %eax,%eax
402998:	0f 8e b1 fb 06 00    	jle    0x47254f
40299e:	8b 46 2c             	mov    0x2c(%esi),%eax
4029a1:	8b 48 04             	mov    0x4(%eax),%ecx
4029a4:	83 66 38 00          	andl   $0x0,0x38(%esi)
4029a8:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
4029ac:	74 0b                	je     0x4029b9
4029ae:	8b 10                	mov    (%eax),%edx
4029b0:	3b 50 04             	cmp    0x4(%eax),%edx
4029b3:	0f 84 b4 fb 06 00    	je     0x47256d
4029b9:	89 0f                	mov    %ecx,(%edi)
4029bb:	8b 46 34             	mov    0x34(%esi),%eax
4029be:	5f                   	pop    %edi
4029bf:	5e                   	pop    %esi
4029c0:	5d                   	pop    %ebp
4029c1:	c2 08 00             	ret    $0x8
4029c4:	33 c0                	xor    %eax,%eax
4029c6:	eb f6                	jmp    0x4029be
4029c8:	55                   	push   %ebp
4029c9:	8b ec                	mov    %esp,%ebp
4029cb:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
4029cf:	0f 85 3d b2 07 00    	jne    0x47dc12
4029d5:	8b 0d 94 16 4c 00    	mov    0x4c1694,%ecx
4029db:	83 f9 ff             	cmp    $0xffffffff,%ecx
4029de:	74 2f                	je     0x402a0f
4029e0:	8b 55 08             	mov    0x8(%ebp),%edx
4029e3:	8d 42 0d             	lea    0xd(%edx),%eax
4029e6:	83 f8 0d             	cmp    $0xd,%eax
4029e9:	77 24                	ja     0x402a0f
4029eb:	a1 88 16 4c 00       	mov    0x4c1688,%eax
4029f0:	ff 75 0c             	push   0xc(%ebp)
4029f3:	8b 04 88             	mov    (%eax,%ecx,4),%eax
4029f6:	c1 e2 04             	shl    $0x4,%edx
4029f9:	8b 00                	mov    (%eax),%eax
4029fb:	8d 8a 5c 01 00 00    	lea    0x15c(%edx),%ecx
402a01:	03 c8                	add    %eax,%ecx
402a03:	e8 e5 44 00 00       	call   0x406eed
402a08:	33 c0                	xor    %eax,%eax
402a0a:	40                   	inc    %eax
402a0b:	5d                   	pop    %ebp
402a0c:	c2 0c 00             	ret    $0xc
402a0f:	33 c0                	xor    %eax,%eax
402a11:	eb f8                	jmp    0x402a0b
402a13:	56                   	push   %esi
402a14:	8b f1                	mov    %ecx,%esi
402a16:	e8 e3 0b 00 00       	call   0x4035fe
402a1b:	2b 46 10             	sub    0x10(%esi),%eax
402a1e:	1b 56 14             	sbb    0x14(%esi),%edx
402a21:	5e                   	pop    %esi
402a22:	c3                   	ret
402a23:	56                   	push   %esi
402a24:	8b f1                	mov    %ecx,%esi
402a26:	e8 0d 00 00 00       	call   0x402a38
402a2b:	56                   	push   %esi
402a2c:	e8 2d cb 01 00       	call   0x41f55e
402a31:	59                   	pop    %ecx
402a32:	8b c6                	mov    %esi,%eax
402a34:	5e                   	pop    %esi
402a35:	c2 04 00             	ret    $0x4
402a38:	56                   	push   %esi
402a39:	8b f1                	mov    %ecx,%esi
402a3b:	8d 4e 38             	lea    0x38(%esi),%ecx
402a3e:	e8 f4 a0 00 00       	call   0x40cb37
402a43:	8d 4e 18             	lea    0x18(%esi),%ecx
402a46:	e8 ec a0 00 00       	call   0x40cb37
402a4b:	8d 4e 08             	lea    0x8(%esi),%ecx
402a4e:	5e                   	pop    %esi
402a4f:	e9 cc 01 01 00       	jmp    0x412c20
402a54:	55                   	push   %ebp
402a55:	8b ec                	mov    %esp,%ebp
402a57:	56                   	push   %esi
402a58:	8b 75 08             	mov    0x8(%ebp),%esi
402a5b:	57                   	push   %edi
402a5c:	8b 46 04             	mov    0x4(%esi),%eax
402a5f:	8b f9                	mov    %ecx,%edi
402a61:	ff 30                	push   (%eax)
402a63:	8d 8f d8 01 00 00    	lea    0x1d8(%edi),%ecx
402a69:	e8 40 b2 00 00       	call   0x40dcae
402a6e:	83 7e 08 02          	cmpl   $0x2,0x8(%esi)
402a72:	0f 82 36 a2 07 00    	jb     0x47ccae
402a78:	8b 46 04             	mov    0x4(%esi),%eax
402a7b:	8b 70 04             	mov    0x4(%eax),%esi
402a7e:	8b ce                	mov    %esi,%ecx
402a80:	e8 e7 68 00 00       	call   0x40936c
402a85:	ff 76 08             	push   0x8(%esi)
402a88:	8d 8f e8 01 00 00    	lea    0x1e8(%edi),%ecx
402a8e:	e8 5a 44 00 00       	call   0x406eed
402a93:	5f                   	pop    %edi
402a94:	5e                   	pop    %esi
402a95:	5d                   	pop    %ebp
402a96:	c2 04 00             	ret    $0x4
402a99:	56                   	push   %esi
402a9a:	8b f1                	mov    %ecx,%esi
402a9c:	e8 96 a0 00 00       	call   0x40cb37
402aa1:	56                   	push   %esi
402aa2:	e8 b7 ca 01 00       	call   0x41f55e
402aa7:	59                   	pop    %ecx
402aa8:	8b c6                	mov    %esi,%eax
402aaa:	5e                   	pop    %esi
402aab:	c2 04 00             	ret    $0x4
402aae:	55                   	push   %ebp
402aaf:	8b ec                	mov    %esp,%ebp
402ab1:	83 ec 10             	sub    $0x10,%esp
402ab4:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
402ab8:	53                   	push   %ebx
402ab9:	56                   	push   %esi
402aba:	57                   	push   %edi
402abb:	8b f9                	mov    %ecx,%edi
402abd:	8d b7 60 01 00 00    	lea    0x160(%edi),%esi
402ac3:	8b 06                	mov    (%esi),%eax
402ac5:	89 45 f4             	mov    %eax,-0xc(%ebp)
402ac8:	74 08                	je     0x402ad2
402aca:	ff 75 08             	push   0x8(%ebp)
402acd:	e8 7b 00 00 00       	call   0x402b4d
402ad2:	8b cf                	mov    %edi,%ecx
402ad4:	e8 d5 f6 ff ff       	call   0x4021ae
402ad9:	ff 75 08             	push   0x8(%ebp)
402adc:	83 a7 74 04 00 00 00 	andl   $0x0,0x474(%edi)
402ae3:	83 a7 fc 00 00 00 00 	andl   $0x0,0xfc(%edi)
402aea:	8b cf                	mov    %edi,%ecx
402aec:	89 45 f8             	mov    %eax,-0x8(%ebp)
402aef:	e8 dc bd 00 00       	call   0x40e8d0
402af4:	8b 0f                	mov    (%edi),%ecx
402af6:	8d 47 04             	lea    0x4(%edi),%eax
402af9:	8b 49 04             	mov    0x4(%ecx),%ecx
402afc:	03 c1                	add    %ecx,%eax
402afe:	8b c8                	mov    %eax,%ecx
402b00:	89 45 fc             	mov    %eax,-0x4(%ebp)
402b03:	e8 51 08 00 00       	call   0x403359
402b08:	8b 5d 10             	mov    0x10(%ebp),%ebx
402b0b:	8a 40 10             	mov    0x10(%eax),%al
402b0e:	88 45 0b             	mov    %al,0xb(%ebp)
402b11:	85 db                	test   %ebx,%ebx
402b13:	0f 85 7e 33 07 00    	jne    0x475e97
402b19:	ff 75 f8             	push   -0x8(%ebp)
402b1c:	8b cf                	mov    %edi,%ecx
402b1e:	e8 e0 01 00 00       	call   0x402d03
402b23:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
402b27:	74 0a                	je     0x402b33
402b29:	b9 f0 20 4c 00       	mov    $0x4c20f0,%ecx
402b2e:	e8 ad b2 00 00       	call   0x40dde0
402b33:	8b 7d f4             	mov    -0xc(%ebp),%edi
402b36:	3b 3e                	cmp    (%esi),%edi
402b38:	72 0a                	jb     0x402b44
402b3a:	8a 45 0b             	mov    0xb(%ebp),%al
402b3d:	5f                   	pop    %edi
402b3e:	5e                   	pop    %esi
402b3f:	5b                   	pop    %ebx
402b40:	c9                   	leave
402b41:	c2 0c 00             	ret    $0xc
402b44:	8b ce                	mov    %esi,%ecx
402b46:	e8 d7 b2 00 00       	call   0x40de22
402b4b:	eb e9                	jmp    0x402b36
402b4d:	55                   	push   %ebp
402b4e:	8b ec                	mov    %esp,%ebp
402b50:	83 ec 0c             	sub    $0xc,%esp
402b53:	ff 75 08             	push   0x8(%ebp)
402b56:	8d 4d f4             	lea    -0xc(%ebp),%ecx
402b59:	e8 91 00 00 00       	call   0x402bef
402b5e:	8b c1                	mov    %ecx,%eax
402b60:	50                   	push   %eax
402b61:	b9 f0 20 4c 00       	mov    $0x4c20f0,%ecx
402b66:	e8 0f 00 00 00       	call   0x402b7a
402b6b:	ff 75 f4             	push   -0xc(%ebp)
402b6e:	8d 4d f4             	lea    -0xc(%ebp),%ecx
402b71:	e8 f5 b2 00 00       	call   0x40de6b
402b76:	c9                   	leave
402b77:	c2 04 00             	ret    $0x4
402b7a:	55                   	push   %ebp
402b7b:	8b ec                	mov    %esp,%ebp
402b7d:	56                   	push   %esi
402b7e:	57                   	push   %edi
402b7f:	8b f9                	mov    %ecx,%edi
402b81:	80 7f 09 00          	cmpb   $0x0,0x9(%edi)
402b85:	0f 85 df 17 07 00    	jne    0x47436a
402b8b:	6a 0c                	push   $0xc
402b8d:	e8 58 c9 01 00       	call   0x41f4ea
402b92:	8b f0                	mov    %eax,%esi
402b94:	59                   	pop    %ecx
402b95:	85 f6                	test   %esi,%esi
402b97:	74 31                	je     0x402bca
402b99:	8b 45 08             	mov    0x8(%ebp),%eax
402b9c:	83 26 00             	andl   $0x0,(%esi)
402b9f:	8b 48 04             	mov    0x4(%eax),%ecx
402ba2:	89 4e 04             	mov    %ecx,0x4(%esi)
402ba5:	85 c9                	test   %ecx,%ecx
402ba7:	78 1b                	js     0x402bc4
402ba9:	ff 30                	push   (%eax)
402bab:	8b ce                	mov    %esi,%ecx
402bad:	56                   	push   %esi
402bae:	e8 1b 00 00 00       	call   0x402bce
402bb3:	8b 47 04             	mov    0x4(%edi),%eax
402bb6:	89 46 08             	mov    %eax,0x8(%esi)
402bb9:	89 77 04             	mov    %esi,0x4(%edi)
402bbc:	ff 07                	incl   (%edi)
402bbe:	5f                   	pop    %edi
402bbf:	5e                   	pop    %esi
402bc0:	5d                   	pop    %ebp
402bc1:	c2 04 00             	ret    $0x4
402bc4:	83 66 04 00          	andl   $0x0,0x4(%esi)
402bc8:	eb df                	jmp    0x402ba9
402bca:	33 f6                	xor    %esi,%esi
402bcc:	eb e5                	jmp    0x402bb3
402bce:	55                   	push   %ebp
402bcf:	8b ec                	mov    %esp,%ebp
402bd1:	51                   	push   %ecx
402bd2:	53                   	push   %ebx
402bd3:	8b 5d 0c             	mov    0xc(%ebp),%ebx
402bd6:	56                   	push   %esi
402bd7:	8b 75 08             	mov    0x8(%ebp),%esi
402bda:	57                   	push   %edi
402bdb:	89 4d fc             	mov    %ecx,-0x4(%ebp)
402bde:	85 db                	test   %ebx,%ebx
402be0:	0f 85 38 18 07 00    	jne    0x47441e
402be6:	21 1e                	and    %ebx,(%esi)
402be8:	5f                   	pop    %edi
402be9:	5e                   	pop    %esi
402bea:	5b                   	pop    %ebx
402beb:	c9                   	leave
402bec:	c2 08 00             	ret    $0x8
402bef:	55                   	push   %ebp
402bf0:	8b ec                	mov    %esp,%ebp
402bf2:	8b 45 08             	mov    0x8(%ebp),%eax
402bf5:	83 21 00             	andl   $0x0,(%ecx)
402bf8:	89 41 04             	mov    %eax,0x4(%ecx)
402bfb:	85 c0                	test   %eax,%eax
402bfd:	78 06                	js     0x402c05
402bff:	8b c1                	mov    %ecx,%eax
402c01:	5d                   	pop    %ebp
402c02:	c2 04 00             	ret    $0x4
402c05:	83 61 04 00          	andl   $0x0,0x4(%ecx)
402c09:	eb f4                	jmp    0x402bff
402c0b:	56                   	push   %esi
402c0c:	8b f1                	mov    %ecx,%esi
402c0e:	8b 0e                	mov    (%esi),%ecx
402c10:	85 c9                	test   %ecx,%ecx
402c12:	74 06                	je     0x402c1a
402c14:	51                   	push   %ecx
402c15:	e8 7f fe ff ff       	call   0x402a99
402c1a:	56                   	push   %esi
402c1b:	e8 3e c9 01 00       	call   0x41f55e
402c20:	59                   	pop    %ecx
402c21:	8b c6                	mov    %esi,%eax
402c23:	5e                   	pop    %esi
402c24:	c2 04 00             	ret    $0x4
402c27:	55                   	push   %ebp
402c28:	8b ec                	mov    %esp,%ebp
402c2a:	53                   	push   %ebx
402c2b:	56                   	push   %esi
402c2c:	8b 75 08             	mov    0x8(%ebp),%esi
402c2f:	57                   	push   %edi
402c30:	56                   	push   %esi
402c31:	8b f9                	mov    %ecx,%edi
402c33:	e8 1c fe ff ff       	call   0x402a54
402c38:	33 db                	xor    %ebx,%ebx
402c3a:	43                   	inc    %ebx
402c3b:	53                   	push   %ebx
402c3c:	8b cf                	mov    %edi,%ecx
402c3e:	e8 36 00 00 00       	call   0x402c79
402c43:	85 c0                	test   %eax,%eax
402c45:	0f 8e e4 9f 07 00    	jle    0x47cc2f
402c4b:	8b 46 04             	mov    0x4(%esi),%eax
402c4e:	8b 70 08             	mov    0x8(%eax),%esi
402c51:	8b ce                	mov    %esi,%ecx
402c53:	e8 14 67 00 00       	call   0x40936c
402c58:	8b 8f f8 01 00 00    	mov    0x1f8(%edi),%ecx
402c5e:	6a 00                	push   $0x0
402c60:	ff 76 08             	push   0x8(%esi)
402c63:	e8 98 e3 ff ff       	call   0x401000
402c68:	84 c0                	test   %al,%al
402c6a:	0f 84 d2 9f 07 00    	je     0x47cc42
402c70:	5f                   	pop    %edi
402c71:	5e                   	pop    %esi
402c72:	33 c0                	xor    %eax,%eax
402c74:	5b                   	pop    %ebx
402c75:	5d                   	pop    %ebp
402c76:	c2 08 00             	ret    $0x8
402c79:	55                   	push   %ebp
402c7a:	8b ec                	mov    %esp,%ebp
402c7c:	51                   	push   %ecx
402c7d:	53                   	push   %ebx
402c7e:	56                   	push   %esi
402c7f:	8b f1                	mov    %ecx,%esi
402c81:	57                   	push   %edi
402c82:	8d 9e 00 03 00 00    	lea    0x300(%esi),%ebx
402c88:	8b cb                	mov    %ebx,%ecx
402c8a:	e8 7c 07 00 00       	call   0x40340b
402c8f:	8d be d8 01 00 00    	lea    0x1d8(%esi),%edi
402c95:	6a 07                	push   $0x7
402c97:	8b cf                	mov    %edi,%ecx
402c99:	e8 46 a9 00 00       	call   0x40d5e4
402c9e:	8b cf                	mov    %edi,%ecx