404995:	85 c0                	test   %eax,%eax
404997:	7e 13                	jle    0x4049ac
404999:	3b f0                	cmp    %eax,%esi
40499b:	7d 02                	jge    0x40499f
40499d:	8b c6                	mov    %esi,%eax
40499f:	8b c8                	mov    %eax,%ecx
4049a1:	03 c9                	add    %ecx,%ecx
4049a3:	8b d3                	mov    %ebx,%edx
4049a5:	8b 07                	mov    (%edi),%eax
4049a7:	e8 44 df ff ff       	call   0x4028f0
4049ac:	8b c7                	mov    %edi,%eax
4049ae:	8b d3                	mov    %ebx,%edx
4049b0:	e8 6b fd ff ff       	call   0x404720
4049b5:	5f                   	pop    %edi
4049b6:	5e                   	pop    %esi
4049b7:	5b                   	pop    %ebx
4049b8:	c3                   	ret
4049b9:	8d 40 00             	lea    0x0(%eax),%eax
4049bc:	31 c9                	xor    %ecx,%ecx
4049be:	53                   	push   %ebx
4049bf:	8a 4a 01             	mov    0x1(%edx),%cl
4049c2:	56                   	push   %esi
4049c3:	57                   	push   %edi
4049c4:	89 c3                	mov    %eax,%ebx
4049c6:	8d 74 11 0a          	lea    0xa(%ecx,%edx,1),%esi
4049ca:	8b 7c 11 06          	mov    0x6(%ecx,%edx,1),%edi
4049ce:	8b 16                	mov    (%esi),%edx
4049d0:	8b 46 04             	mov    0x4(%esi),%eax
4049d3:	01 d8                	add    %ebx,%eax
4049d5:	8b 12                	mov    (%edx),%edx
4049d7:	b9 01 00 00 00       	mov    $0x1,%ecx
4049dc:	e8 0b 00 00 00       	call   0x4049ec
4049e1:	83 c6 08             	add    $0x8,%esi
4049e4:	4f                   	dec    %edi
4049e5:	7f e7                	jg     0x4049ce
4049e7:	5f                   	pop    %edi
4049e8:	5e                   	pop    %esi
4049e9:	5b                   	pop    %ebx
4049ea:	c3                   	ret
4049eb:	90                   	nop
4049ec:	85 c9                	test   %ecx,%ecx
4049ee:	0f 84 8a 00 00 00    	je     0x404a7e
4049f4:	53                   	push   %ebx
4049f5:	56                   	push   %esi
4049f6:	57                   	push   %edi
4049f7:	89 c3                	mov    %eax,%ebx
4049f9:	89 d6                	mov    %edx,%esi
4049fb:	89 cf                	mov    %ecx,%edi
4049fd:	31 d2                	xor    %edx,%edx
4049ff:	8a 06                	mov    (%esi),%al
404a01:	8a 56 01             	mov    0x1(%esi),%dl
404a04:	31 c9                	xor    %ecx,%ecx
404a06:	3c 0a                	cmp    $0xa,%al
404a08:	74 22                	je     0x404a2c
404a0a:	3c 0b                	cmp    $0xb,%al
404a0c:	74 1e                	je     0x404a2c
404a0e:	3c 0c                	cmp    $0xc,%al
404a10:	74 24                	je     0x404a36
404a12:	3c 0d                	cmp    $0xd,%al
404a14:	74 33                	je     0x404a49
404a16:	3c 0e                	cmp    $0xe,%al
404a18:	74 4d                	je     0x404a67
404a1a:	3c 0f                	cmp    $0xf,%al
404a1c:	74 0e                	je     0x404a2c
404a1e:	3c 11                	cmp    $0x11,%al
404a20:	74 0a                	je     0x404a2c
404a22:	b0 02                	mov    $0x2,%al
404a24:	5f                   	pop    %edi
404a25:	5e                   	pop    %esi
404a26:	5b                   	pop    %ebx
404a27:	e9 24 de ff ff       	jmp    0x402850
404a2c:	89 0b                	mov    %ecx,(%ebx)
404a2e:	83 c3 04             	add    $0x4,%ebx
404a31:	4f                   	dec    %edi
404a32:	7f f8                	jg     0x404a2c
404a34:	eb 45                	jmp    0x404a7b
404a36:	89 0b                	mov    %ecx,(%ebx)
404a38:	89 4b 04             	mov    %ecx,0x4(%ebx)
404a3b:	89 4b 08             	mov    %ecx,0x8(%ebx)
404a3e:	89 4b 0c             	mov    %ecx,0xc(%ebx)
404a41:	83 c3 10             	add    $0x10,%ebx
404a44:	4f                   	dec    %edi
404a45:	7f ef                	jg     0x404a36
404a47:	eb 32                	jmp    0x404a7b
404a49:	55                   	push   %ebp
404a4a:	89 d5                	mov    %edx,%ebp
404a4c:	8b 54 2e 0a          	mov    0xa(%esi,%ebp,1),%edx
404a50:	89 d8                	mov    %ebx,%eax
404a52:	03 5c 2e 02          	add    0x2(%esi,%ebp,1),%ebx
404a56:	8b 4c 2e 06          	mov    0x6(%esi,%ebp,1),%ecx
404a5a:	8b 12                	mov    (%edx),%edx
404a5c:	e8 8b ff ff ff       	call   0x4049ec
404a61:	4f                   	dec    %edi
404a62:	7f e8                	jg     0x404a4c
404a64:	5d                   	pop    %ebp
404a65:	eb 14                	jmp    0x404a7b
404a67:	55                   	push   %ebp
404a68:	89 d5                	mov    %edx,%ebp
404a6a:	89 d8                	mov    %ebx,%eax
404a6c:	03 5c 2e 02          	add    0x2(%esi,%ebp,1),%ebx
404a70:	89 f2                	mov    %esi,%edx
404a72:	e8 45 ff ff ff       	call   0x4049bc
404a77:	4f                   	dec    %edi
404a78:	7f f0                	jg     0x404a6a
404a7a:	5d                   	pop    %ebp
404a7b:	5f                   	pop    %edi
404a7c:	5e                   	pop    %esi
404a7d:	5b                   	pop    %ebx
404a7e:	c3                   	ret
404a7f:	90                   	nop
404a80:	b9 01 00 00 00       	mov    $0x1,%ecx
404a85:	e9 62 ff ff ff       	jmp    0x4049ec
404a8a:	c3                   	ret
404a8b:	90                   	nop
404a8c:	31 c9                	xor    %ecx,%ecx
404a8e:	53                   	push   %ebx
404a8f:	8a 4a 01             	mov    0x1(%edx),%cl
404a92:	56                   	push   %esi
404a93:	57                   	push   %edi
404a94:	89 c3                	mov    %eax,%ebx
404a96:	8d 74 11 0a          	lea    0xa(%ecx,%edx,1),%esi
404a9a:	8b 7c 11 06          	mov    0x6(%ecx,%edx,1),%edi
404a9e:	8b 16                	mov    (%esi),%edx
404aa0:	8b 46 04             	mov    0x4(%esi),%eax
404aa3:	01 d8                	add    %ebx,%eax
404aa5:	8b 12                	mov    (%edx),%edx
404aa7:	b9 01 00 00 00       	mov    $0x1,%ecx
404aac:	e8 27 00 00 00       	call   0x404ad8
404ab1:	83 c6 08             	add    $0x8,%esi
404ab4:	4f                   	dec    %edi
404ab5:	7f e7                	jg     0x404a9e
404ab7:	89 d8                	mov    %ebx,%eax
404ab9:	5f                   	pop    %edi
404aba:	5e                   	pop    %esi
404abb:	5b                   	pop    %ebx
404abc:	c3                   	ret
404abd:	8d 40 00             	lea    0x0(%eax),%eax
404ac0:	83 3d 0c 90 46 00 00 	cmpl   $0x0,0x46900c
404ac7:	74 07                	je     0x404ad0
404ac9:	ff 15 0c 90 46 00    	call   *0x46900c
404acf:	c3                   	ret
404ad0:	b0 10                	mov    $0x10,%al
404ad2:	e8 79 dd ff ff       	call   0x402850
404ad7:	c3                   	ret
404ad8:	83 f9 00             	cmp    $0x0,%ecx
404adb:	0f 84 e0 00 00 00    	je     0x404bc1
404ae1:	50                   	push   %eax
404ae2:	53                   	push   %ebx
404ae3:	56                   	push   %esi
404ae4:	57                   	push   %edi
404ae5:	89 c3                	mov    %eax,%ebx
404ae7:	89 d6                	mov    %edx,%esi
404ae9:	89 cf                	mov    %ecx,%edi
404aeb:	31 d2                	xor    %edx,%edx
404aed:	8a 06                	mov    (%esi),%al
404aef:	8a 56 01             	mov    0x1(%esi),%dl
404af2:	3c 0a                	cmp    $0xa,%al
404af4:	74 25                	je     0x404b1b
404af6:	3c 0b                	cmp    $0xb,%al
404af8:	74 3e                	je     0x404b38
404afa:	3c 0c                	cmp    $0xc,%al
404afc:	74 51                	je     0x404b4f
404afe:	3c 0d                	cmp    $0xd,%al
404b00:	74 5c                	je     0x404b5e
404b02:	3c 0e                	cmp    $0xe,%al
404b04:	74 76                	je     0x404b7c
404b06:	3c 0f                	cmp    $0xf,%al
404b08:	0f 84 84 00 00 00    	je     0x404b92
404b0e:	3c 11                	cmp    $0x11,%al
404b10:	0f 84 8b 00 00 00    	je     0x404ba1
404b16:	e9 97 00 00 00       	jmp    0x404bb2
404b1b:	83 f9 01             	cmp    $0x1,%ecx
404b1e:	89 d8                	mov    %ebx,%eax
404b20:	7f 0a                	jg     0x404b2c
404b22:	e8 29 f5 ff ff       	call   0x404050
404b27:	e9 91 00 00 00       	jmp    0x404bbd
404b2c:	89 ca                	mov    %ecx,%edx
404b2e:	e8 41 f5 ff ff       	call   0x404074
404b33:	e9 85 00 00 00       	jmp    0x404bbd
404b38:	83 f9 01             	cmp    $0x1,%ecx
404b3b:	89 d8                	mov    %ebx,%eax
404b3d:	7f 07                	jg     0x404b46
404b3f:	e8 ec fb ff ff       	call   0x404730
404b44:	eb 77                	jmp    0x404bbd
404b46:	89 ca                	mov    %ecx,%edx
404b48:	e8 fb fb ff ff       	call   0x404748
404b4d:	eb 6e                	jmp    0x404bbd
404b4f:	89 d8                	mov    %ebx,%eax
404b51:	83 c3 10             	add    $0x10,%ebx
404b54:	e8 67 ff ff ff       	call   0x404ac0
404b59:	4f                   	dec    %edi
404b5a:	7f f3                	jg     0x404b4f
404b5c:	eb 5f                	jmp    0x404bbd
404b5e:	55                   	push   %ebp
404b5f:	89 d5                	mov    %edx,%ebp
404b61:	8b 54 2e 0a          	mov    0xa(%esi,%ebp,1),%edx
404b65:	89 d8                	mov    %ebx,%eax
404b67:	03 5c 2e 02          	add    0x2(%esi,%ebp,1),%ebx
404b6b:	8b 4c 2e 06          	mov    0x6(%esi,%ebp,1),%ecx
404b6f:	8b 12                	mov    (%edx),%edx
404b71:	e8 62 ff ff ff       	call   0x404ad8
404b76:	4f                   	dec    %edi
404b77:	7f e8                	jg     0x404b61
404b79:	5d                   	pop    %ebp
404b7a:	eb 41                	jmp    0x404bbd
404b7c:	55                   	push   %ebp
404b7d:	89 d5                	mov    %edx,%ebp
404b7f:	89 d8                	mov    %ebx,%eax
404b81:	03 5c 2e 02          	add    0x2(%esi,%ebp,1),%ebx
404b85:	89 f2                	mov    %esi,%edx
404b87:	e8 00 ff ff ff       	call   0x404a8c
404b8c:	4f                   	dec    %edi
404b8d:	7f f0                	jg     0x404b7f
404b8f:	5d                   	pop    %ebp
404b90:	eb 2b                	jmp    0x404bbd
404b92:	89 d8                	mov    %ebx,%eax
404b94:	83 c3 04             	add    $0x4,%ebx
404b97:	e8 84 0d 00 00       	call   0x405920
404b9c:	4f                   	dec    %edi
404b9d:	7f f3                	jg     0x404b92
404b9f:	eb 1c                	jmp    0x404bbd
404ba1:	89 d8                	mov    %ebx,%eax
404ba3:	89 f2                	mov    %esi,%edx
404ba5:	83 c3 04             	add    $0x4,%ebx
404ba8:	e8 93 06 00 00       	call   0x405240
404bad:	4f                   	dec    %edi
404bae:	7f f1                	jg     0x404ba1
404bb0:	eb 0b                	jmp    0x404bbd
404bb2:	5f                   	pop    %edi
404bb3:	5e                   	pop    %esi
404bb4:	5b                   	pop    %ebx
404bb5:	58                   	pop    %eax
404bb6:	b0 02                	mov    $0x2,%al
404bb8:	e9 93 dc ff ff       	jmp    0x402850
404bbd:	5f                   	pop    %edi
404bbe:	5e                   	pop    %esi
404bbf:	5b                   	pop    %ebx
404bc0:	58                   	pop    %eax
404bc1:	c3                   	ret
404bc2:	8b c0                	mov    %eax,%eax
404bc4:	b9 01 00 00 00       	mov    $0x1,%ecx
404bc9:	e9 0a ff ff ff       	jmp    0x404ad8
404bce:	c3                   	ret
404bcf:	90                   	nop
404bd0:	83 3d 14 90 46 00 00 	cmpl   $0x0,0x469014
404bd7:	74 07                	je     0x404be0
404bd9:	ff 15 14 90 46 00    	call   *0x469014
404bdf:	c3                   	ret
404be0:	b0 10                	mov    $0x10,%al
404be2:	e8 69 dc ff ff       	call   0x402850
404be7:	c3                   	ret
404be8:	53                   	push   %ebx
404be9:	56                   	push   %esi
404bea:	57                   	push   %edi
404beb:	55                   	push   %ebp
404bec:	89 c3                	mov    %eax,%ebx
404bee:	89 d6                	mov    %edx,%esi
404bf0:	31 c0                	xor    %eax,%eax
404bf2:	8a 41 01             	mov    0x1(%ecx),%al
404bf5:	8d 7c 08 0a          	lea    0xa(%eax,%ecx,1),%edi
404bf9:	8b 6f fc             	mov    -0x4(%edi),%ebp
404bfc:	31 c0                	xor    %eax,%eax
404bfe:	8b 4f f8             	mov    -0x8(%edi),%ecx
404c01:	51                   	push   %ecx
404c02:	8b 4f 04             	mov    0x4(%edi),%ecx
404c05:	29 c1                	sub    %eax,%ecx
404c07:	7e 0b                	jle    0x404c14
404c09:	89 c2                	mov    %eax,%edx
404c0b:	01 f0                	add    %esi,%eax
404c0d:	01 da                	add    %ebx,%edx
404c0f:	e8 dc dc ff ff       	call   0x4028f0
404c14:	8b 47 04             	mov    0x4(%edi),%eax
404c17:	8b 17                	mov    (%edi),%edx
404c19:	8b 12                	mov    (%edx),%edx
404c1b:	8a 0a                	mov    (%edx),%cl
404c1d:	80 f9 0a             	cmp    $0xa,%cl
404c20:	74 31                	je     0x404c53
404c22:	80 f9 0b             	cmp    $0xb,%cl
404c25:	74 3d                	je     0x404c64
404c27:	80 f9 0c             	cmp    $0xc,%cl
404c2a:	74 49                	je     0x404c75
404c2c:	80 f9 0d             	cmp    $0xd,%cl
404c2f:	74 55                	je     0x404c86
404c31:	80 f9 0e             	cmp    $0xe,%cl
404c34:	74 70                	je     0x404ca6
404c36:	80 f9 0f             	cmp    $0xf,%cl
404c39:	0f 84 80 00 00 00    	je     0x404cbf
404c3f:	80 f9 11             	cmp    $0x11,%cl
404c42:	0f 84 88 00 00 00    	je     0x404cd0
404c48:	b0 02                	mov    $0x2,%al
404c4a:	5d                   	pop    %ebp
404c4b:	5f                   	pop    %edi
404c4c:	5e                   	pop    %esi
404c4d:	5b                   	pop    %ebx
404c4e:	e9 fd db ff ff       	jmp    0x402850
404c53:	8b 14 30             	mov    (%eax,%esi,1),%edx
404c56:	01 d8                	add    %ebx,%eax
404c58:	e8 47 f4 ff ff       	call   0x4040a4
404c5d:	b8 04 00 00 00       	mov    $0x4,%eax
404c62:	eb 7d                	jmp    0x404ce1
404c64:	8b 14 30             	mov    (%eax,%esi,1),%edx
404c67:	01 d8                	add    %ebx,%eax
404c69:	e8 fe fa ff ff       	call   0x40476c
404c6e:	b8 04 00 00 00       	mov    $0x4,%eax
404c73:	eb 6c                	jmp    0x404ce1
404c75:	8d 14 30             	lea    (%eax,%esi,1),%edx
404c78:	01 d8                	add    %ebx,%eax
404c7a:	e8 51 ff ff ff       	call   0x404bd0
404c7f:	b8 10 00 00 00       	mov    $0x10,%eax
404c84:	eb 5b                	jmp    0x404ce1
404c86:	31 c9                	xor    %ecx,%ecx
404c88:	8a 4a 01             	mov    0x1(%edx),%cl
404c8b:	ff 74 11 02          	push   0x2(%ecx,%edx,1)
404c8f:	ff 74 11 06          	push   0x6(%ecx,%edx,1)
404c93:	8b 4c 11 0a          	mov    0xa(%ecx,%edx,1),%ecx
404c97:	8b 09                	mov    (%ecx),%ecx
404c99:	8d 14 30             	lea    (%eax,%esi,1),%edx
404c9c:	01 d8                	add    %ebx,%eax
404c9e:	e8 61 00 00 00       	call   0x404d04
404ca3:	58                   	pop    %eax
404ca4:	eb 3b                	jmp    0x404ce1
404ca6:	31 c9                	xor    %ecx,%ecx
404ca8:	8a 4a 01             	mov    0x1(%edx),%cl
404cab:	8b 4c 11 02          	mov    0x2(%ecx,%edx,1),%ecx
404caf:	51                   	push   %ecx
404cb0:	89 d1                	mov    %edx,%ecx
404cb2:	8d 14 30             	lea    (%eax,%esi,1),%edx
404cb5:	01 d8                	add    %ebx,%eax
404cb7:	e8 2c ff ff ff       	call   0x404be8
404cbc:	58                   	pop    %eax
404cbd:	eb 22                	jmp    0x404ce1
404cbf:	8b 14 30             	mov    (%eax,%esi,1),%edx
404cc2:	01 d8                	add    %ebx,%eax
404cc4:	e8 6f 0c 00 00       	call   0x405938
404cc9:	b8 04 00 00 00       	mov    $0x4,%eax
404cce:	eb 11                	jmp    0x404ce1
404cd0:	89 d1                	mov    %edx,%ecx
404cd2:	8b 14 30             	mov    (%eax,%esi,1),%edx
404cd5:	01 d8                	add    %ebx,%eax
404cd7:	e8 a0 05 00 00       	call   0x40527c
404cdc:	b8 04 00 00 00       	mov    $0x4,%eax
404ce1:	03 47 04             	add    0x4(%edi),%eax
404ce4:	83 c7 08             	add    $0x8,%edi
404ce7:	4d                   	dec    %ebp
404ce8:	0f 85 14 ff ff ff    	jne    0x404c02
404cee:	59                   	pop    %ecx
404cef:	29 c1                	sub    %eax,%ecx
404cf1:	7e 0a                	jle    0x404cfd
404cf3:	8d 14 18             	lea    (%eax,%ebx,1),%edx
404cf6:	01 f0                	add    %esi,%eax