415a3f:	66 89 5d f0          	mov    %bx,-0x10(%ebp)
415a43:	8d 55 f0             	lea    -0x10(%ebp),%edx
415a46:	8b 45 08             	mov    0x8(%ebp),%eax
415a49:	e8 36 a8 ff ff       	call   0x410284
415a4e:	33 c0                	xor    %eax,%eax
415a50:	5a                   	pop    %edx
415a51:	59                   	pop    %ecx
415a52:	59                   	pop    %ecx
415a53:	64 89 10             	mov    %edx,%fs:(%eax)
415a56:	68 6b 5a 41 00       	push   $0x415a6b
415a5b:	8d 45 f0             	lea    -0x10(%ebp),%eax
415a5e:	e8 f9 a4 ff ff       	call   0x40ff5c
415a63:	c3                   	ret
415a64:	e9 ff e0 fe ff       	jmp    0x403b68
415a69:	eb f0                	jmp    0x415a5b
415a6b:	5b                   	pop    %ebx
415a6c:	8b e5                	mov    %ebp,%esp
415a6e:	5d                   	pop    %ebp
415a6f:	c3                   	ret
415a70:	55                   	push   %ebp
415a71:	8b ec                	mov    %esp,%ebp
415a73:	53                   	push   %ebx
415a74:	89 cb                	mov    %ecx,%ebx
415a76:	43                   	inc    %ebx
415a77:	7e 06                	jle    0x415a7f
415a79:	ff 34 8a             	push   (%edx,%ecx,4)
415a7c:	49                   	dec    %ecx
415a7d:	79 fa                	jns    0x415a79
415a7f:	53                   	push   %ebx
415a80:	50                   	push   %eax
415a81:	8b 45 08             	mov    0x8(%ebp),%eax
415a84:	50                   	push   %eax
415a85:	e8 1a ff ff ff       	call   0x4159a4
415a8a:	8d 64 9c 0c          	lea    0xc(%esp,%ebx,4),%esp
415a8e:	5b                   	pop    %ebx
415a8f:	5d                   	pop    %ebp
415a90:	c2 04 00             	ret    $0x4
415a93:	90                   	nop
415a94:	55                   	push   %ebp
415a95:	8b ec                	mov    %esp,%ebp
415a97:	83 c4 dc             	add    $0xffffffdc,%esp
415a9a:	53                   	push   %ebx
415a9b:	56                   	push   %esi
415a9c:	8b 75 0c             	mov    0xc(%ebp),%esi
415a9f:	8d 4d e8             	lea    -0x18(%ebp),%ecx
415aa2:	8d 55 ee             	lea    -0x12(%ebp),%edx
415aa5:	8b 45 08             	mov    0x8(%ebp),%eax
415aa8:	e8 af fc ff ff       	call   0x41575c
415aad:	84 c0                	test   %al,%al
415aaf:	75 0a                	jne    0x415abb
415ab1:	b8 57 00 07 80       	mov    $0x80070057,%eax
415ab6:	e8 f1 a0 ff ff       	call   0x40fbac
415abb:	8d 4d e0             	lea    -0x20(%ebp),%ecx
415abe:	8d 55 e6             	lea    -0x1a(%ebp),%edx
415ac1:	8b c6                	mov    %esi,%eax
415ac3:	e8 94 fc ff ff       	call   0x41575c
415ac8:	84 c0                	test   %al,%al
415aca:	75 1f                	jne    0x415aeb
415acc:	66 8b 45 e6          	mov    -0x1a(%ebp),%ax
415ad0:	e8 93 fe ff ff       	call   0x415968
415ad5:	84 c0                	test   %al,%al
415ad7:	75 12                	jne    0x415aeb
415ad9:	66 81 7d e6 00 01    	cmpw   $0x100,-0x1a(%ebp)
415adf:	74 0a                	je     0x415aeb
415ae1:	b8 05 00 02 80       	mov    $0x80020005,%eax
415ae6:	e8 c1 a0 ff ff       	call   0x40fbac
415aeb:	8b 45 e8             	mov    -0x18(%ebp),%eax
415aee:	0f b7 00             	movzwl (%eax),%eax
415af1:	3b 45 10             	cmp    0x10(%ebp),%eax
415af4:	74 0a                	je     0x415b00
415af6:	b8 0b 00 02 80       	mov    $0x8002000b,%eax
415afb:	e8 ac a0 ff ff       	call   0x40fbac
415b00:	66 8b 5d ee          	mov    -0x12(%ebp),%bx
415b04:	66 81 e3 ff 0f       	and    $0xfff,%bx
415b09:	0f b7 db             	movzwl %bx,%ebx
415b0c:	83 fb 0c             	cmp    $0xc,%ebx
415b0f:	75 3a                	jne    0x415b4b
415b11:	66 81 7d e6 00 01    	cmpw   $0x100,-0x1a(%ebp)
415b17:	75 0d                	jne    0x415b26
415b19:	66 8b 45 e6          	mov    -0x1a(%ebp),%ax
415b1d:	e8 6a fa ff ff       	call   0x41558c
415b22:	84 c0                	test   %al,%al
415b24:	74 25                	je     0x415b4b
415b26:	8d 45 dc             	lea    -0x24(%ebp),%eax
415b29:	50                   	push   %eax
415b2a:	8d 45 14             	lea    0x14(%ebp),%eax
415b2d:	50                   	push   %eax
415b2e:	8b 45 e8             	mov    -0x18(%ebp),%eax
415b31:	50                   	push   %eax
415b32:	e8 65 90 ff ff       	call   0x40eb9c
415b37:	e8 70 a0 ff ff       	call   0x40fbac
415b3c:	8b 45 dc             	mov    -0x24(%ebp),%eax
415b3f:	8b d6                	mov    %esi,%edx
415b41:	e8 3e a7 ff ff       	call   0x410284
415b46:	e9 88 00 00 00       	jmp    0x415bd3
415b4b:	8d 45 f0             	lea    -0x10(%ebp),%eax
415b4e:	50                   	push   %eax
415b4f:	e8 a4 8b ff ff       	call   0x40e6f8
415b54:	33 c0                	xor    %eax,%eax
415b56:	55                   	push   %ebp
415b57:	68 cc 5b 41 00       	push   $0x415bcc
415b5c:	64 ff 30             	push   %fs:(%eax)
415b5f:	64 89 20             	mov    %esp,%fs:(%eax)
415b62:	83 fb 0c             	cmp    $0xc,%ebx
415b65:	75 12                	jne    0x415b79
415b67:	8b d6                	mov    %esi,%edx
415b69:	8d 45 f0             	lea    -0x10(%ebp),%eax
415b6c:	e8 c7 a9 ff ff       	call   0x410538
415b71:	8d 45 f0             	lea    -0x10(%ebp),%eax
415b74:	89 45 dc             	mov    %eax,-0x24(%ebp)
415b77:	eb 27                	jmp    0x415ba0
415b79:	8b d6                	mov    %esi,%edx
415b7b:	8d 45 f0             	lea    -0x10(%ebp),%eax
415b7e:	8b cb                	mov    %ebx,%ecx
415b80:	e8 43 ac ff ff       	call   0x4107c8
415b85:	83 c3 f8             	add    $0xfffffff8,%ebx
415b88:	83 eb 02             	sub    $0x2,%ebx
415b8b:	72 05                	jb     0x415b92
415b8d:	83 eb 03             	sub    $0x3,%ebx
415b90:	75 08                	jne    0x415b9a
415b92:	8b 45 f8             	mov    -0x8(%ebp),%eax
415b95:	89 45 dc             	mov    %eax,-0x24(%ebp)
415b98:	eb 06                	jmp    0x415ba0
415b9a:	8d 45 f8             	lea    -0x8(%ebp),%eax
415b9d:	89 45 dc             	mov    %eax,-0x24(%ebp)
415ba0:	8b 45 dc             	mov    -0x24(%ebp),%eax
415ba3:	50                   	push   %eax
415ba4:	8d 45 14             	lea    0x14(%ebp),%eax
415ba7:	50                   	push   %eax
415ba8:	8b 45 e8             	mov    -0x18(%ebp),%eax
415bab:	50                   	push   %eax
415bac:	e8 e3 8f ff ff       	call   0x40eb94
415bb1:	e8 f6 9f ff ff       	call   0x40fbac
415bb6:	33 c0                	xor    %eax,%eax
415bb8:	5a                   	pop    %edx
415bb9:	59                   	pop    %ecx
415bba:	59                   	pop    %ecx
415bbb:	64 89 10             	mov    %edx,%fs:(%eax)
415bbe:	68 d3 5b 41 00       	push   $0x415bd3
415bc3:	8d 45 f0             	lea    -0x10(%ebp),%eax
415bc6:	e8 91 a3 ff ff       	call   0x40ff5c
415bcb:	c3                   	ret
415bcc:	e9 97 df fe ff       	jmp    0x403b68
415bd1:	eb f0                	jmp    0x415bc3
415bd3:	5e                   	pop    %esi
415bd4:	5b                   	pop    %ebx
415bd5:	8b e5                	mov    %ebp,%esp
415bd7:	5d                   	pop    %ebp
415bd8:	c3                   	ret
415bd9:	8d 40 00             	lea    0x0(%eax),%eax
415bdc:	55                   	push   %ebp
415bdd:	8b ec                	mov    %esp,%ebp
415bdf:	53                   	push   %ebx
415be0:	8b 5d 08             	mov    0x8(%ebp),%ebx
415be3:	85 db                	test   %ebx,%ebx
415be5:	78 06                	js     0x415bed
415be7:	ff 34 99             	push   (%ecx,%ebx,4)
415bea:	4b                   	dec    %ebx
415beb:	79 fa                	jns    0x415be7
415bed:	8b 5d 08             	mov    0x8(%ebp),%ebx
415bf0:	43                   	inc    %ebx
415bf1:	53                   	push   %ebx
415bf2:	52                   	push   %edx
415bf3:	50                   	push   %eax
415bf4:	e8 9b fe ff ff       	call   0x415a94
415bf9:	8d 64 9c 0c          	lea    0xc(%esp,%ebx,4),%esp
415bfd:	5b                   	pop    %ebx
415bfe:	5d                   	pop    %ebp
415bff:	c2 04 00             	ret    $0x4
415c02:	8b c0                	mov    %eax,%eax
415c04:	55                   	push   %ebp
415c05:	8b ec                	mov    %esp,%ebp
415c07:	53                   	push   %ebx
415c08:	56                   	push   %esi
415c09:	57                   	push   %edi
415c0a:	55                   	push   %ebp
415c0b:	89 d6                	mov    %edx,%esi
415c0d:	8b 7d 08             	mov    0x8(%ebp),%edi
415c10:	89 c5                	mov    %eax,%ebp
415c12:	31 db                	xor    %ebx,%ebx
415c14:	85 c9                	test   %ecx,%ecx
415c16:	7d 03                	jge    0x415c1b
415c18:	8b 6d 00             	mov    0x0(%ebp),%ebp
415c1b:	31 c0                	xor    %eax,%eax
415c1d:	8a 47 01             	mov    0x1(%edi),%al
415c20:	01 c7                	add    %eax,%edi
415c22:	8b 04 9e             	mov    (%esi,%ebx,4),%eax
415c25:	f7 67 02             	mull   0x2(%edi)
415c28:	8b 7f 06             	mov    0x6(%edi),%edi
415c2b:	85 ff                	test   %edi,%edi
415c2d:	74 02                	je     0x415c31
415c2f:	8b 3f                	mov    (%edi),%edi
415c31:	01 c5                	add    %eax,%ebp
415c33:	43                   	inc    %ebx
415c34:	39 cb                	cmp    %ecx,%ebx
415c36:	7e e0                	jle    0x415c18
415c38:	89 e8                	mov    %ebp,%eax
415c3a:	5d                   	pop    %ebp
415c3b:	5f                   	pop    %edi
415c3c:	5e                   	pop    %esi
415c3d:	5b                   	pop    %ebx
415c3e:	5d                   	pop    %ebp
415c3f:	c2 04 00             	ret    $0x4
415c42:	8b c0                	mov    %eax,%eax
415c44:	33 d2                	xor    %edx,%edx
415c46:	85 c0                	test   %eax,%eax
415c48:	74 10                	je     0x415c5a
415c4a:	33 c9                	xor    %ecx,%ecx
415c4c:	8a 48 01             	mov    0x1(%eax),%cl
415c4f:	01 c8                	add    %ecx,%eax
415c51:	8b 48 06             	mov    0x6(%eax),%ecx
415c54:	85 c9                	test   %ecx,%ecx
415c56:	74 02                	je     0x415c5a
415c58:	8b 11                	mov    (%ecx),%edx
415c5a:	8b c2                	mov    %edx,%eax
415c5c:	c3                   	ret
415c5d:	8d 40 00             	lea    0x0(%eax),%eax
415c60:	53                   	push   %ebx
415c61:	33 db                	xor    %ebx,%ebx
415c63:	eb 06                	jmp    0x415c6b
415c65:	43                   	inc    %ebx
415c66:	e8 d9 ff ff ff       	call   0x415c44
415c6b:	85 c0                	test   %eax,%eax
415c6d:	74 05                	je     0x415c74
415c6f:	80 38 11             	cmpb   $0x11,(%eax)
415c72:	74 f1                	je     0x415c65
415c74:	8b c3                	mov    %ebx,%eax
415c76:	5b                   	pop    %ebx
415c77:	c3                   	ret
415c78:	85 c0                	test   %eax,%eax
415c7a:	74 03                	je     0x415c7f
415c7c:	8b 40 fc             	mov    -0x4(%eax),%eax
415c7f:	c3                   	ret
415c80:	53                   	push   %ebx
415c81:	56                   	push   %esi
415c82:	57                   	push   %edi
415c83:	55                   	push   %ebp
415c84:	83 c4 f8             	add    $0xfffffff8,%esp
415c87:	c6 04 24 01          	movb   $0x1,(%esp)
415c8b:	8b d8                	mov    %eax,%ebx
415c8d:	8b c2                	mov    %edx,%eax
415c8f:	e8 cc ff ff ff       	call   0x415c60
415c94:	48                   	dec    %eax
415c95:	85 c0                	test   %eax,%eax
415c97:	7e 42                	jle    0x415cdb
415c99:	89 44 24 04          	mov    %eax,0x4(%esp)
415c9d:	85 db                	test   %ebx,%ebx
415c9f:	74 34                	je     0x415cd5
415ca1:	8b c3                	mov    %ebx,%eax
415ca3:	e8 d0 ff ff ff       	call   0x415c78
415ca8:	8b f0                	mov    %eax,%esi
415caa:	8b 03                	mov    (%ebx),%eax
415cac:	e8 c7 ff ff ff       	call   0x415c78
415cb1:	8b e8                	mov    %eax,%ebp
415cb3:	4e                   	dec    %esi
415cb4:	85 f6                	test   %esi,%esi
415cb6:	7e 1b                	jle    0x415cd3
415cb8:	bf 01 00 00 00       	mov    $0x1,%edi
415cbd:	8b 04 bb             	mov    (%ebx,%edi,4),%eax
415cc0:	e8 b3 ff ff ff       	call   0x415c78
415cc5:	3b e8                	cmp    %eax,%ebp
415cc7:	74 06                	je     0x415ccf
415cc9:	c6 04 24 00          	movb   $0x0,(%esp)
415ccd:	eb 0c                	jmp    0x415cdb
415ccf:	47                   	inc    %edi
415cd0:	4e                   	dec    %esi
415cd1:	75 ea                	jne    0x415cbd
415cd3:	8b 1b                	mov    (%ebx),%ebx
415cd5:	ff 4c 24 04          	decl   0x4(%esp)
415cd9:	75 c2                	jne    0x415c9d
415cdb:	8a 04 24             	mov    (%esp),%al
415cde:	59                   	pop    %ecx
415cdf:	5a                   	pop    %edx
415ce0:	5d                   	pop    %ebp
415ce1:	5f                   	pop    %edi
415ce2:	5e                   	pop    %esi
415ce3:	5b                   	pop    %ebx
415ce4:	c3                   	ret
415ce5:	8d 40 00             	lea    0x0(%eax),%eax
415ce8:	53                   	push   %ebx
415ce9:	56                   	push   %esi
415cea:	57                   	push   %edi
415ceb:	55                   	push   %ebp
415cec:	51                   	push   %ecx
415ced:	8b e9                	mov    %ecx,%ebp
415cef:	89 14 24             	mov    %edx,(%esp)
415cf2:	8b d8                	mov    %eax,%ebx
415cf4:	8b 04 24             	mov    (%esp),%eax
415cf7:	e8 64 ff ff ff       	call   0x415c60
415cfc:	8b f0                	mov    %eax,%esi
415cfe:	56                   	push   %esi
415cff:	8b c5                	mov    %ebp,%eax
415d01:	b9 01 00 00 00       	mov    $0x1,%ecx
415d06:	8b 15 78 12 40 00    	mov    0x401278,%edx
415d0c:	e8 8b f8 fe ff       	call   0x40559c
415d11:	83 c4 04             	add    $0x4,%esp
415d14:	4e                   	dec    %esi
415d15:	85 f6                	test   %esi,%esi
415d17:	7c 1b                	jl     0x415d34
415d19:	46                   	inc    %esi
415d1a:	33 ff                	xor    %edi,%edi
415d1c:	85 db                	test   %ebx,%ebx
415d1e:	74 10                	je     0x415d30
415d20:	8b c3                	mov    %ebx,%eax
415d22:	e8 51 ff ff ff       	call   0x415c78
415d27:	48                   	dec    %eax
415d28:	8b 55 00             	mov    0x0(%ebp),%edx
415d2b:	89 04 ba             	mov    %eax,(%edx,%edi,4)
415d2e:	8b 1b                	mov    (%ebx),%ebx
415d30:	47                   	inc    %edi
415d31:	4e                   	dec    %esi
415d32:	75 e8                	jne    0x415d1c
415d34:	5a                   	pop    %edx
415d35:	5d                   	pop    %ebp
415d36:	5f                   	pop    %edi
415d37:	5e                   	pop    %esi
415d38:	5b                   	pop    %ebx
415d39:	c3                   	ret
415d3a:	8b c0                	mov    %eax,%eax
415d3c:	53                   	push   %ebx
415d3d:	56                   	push   %esi
415d3e:	57                   	push   %edi
415d3f:	8b f2                	mov    %edx,%esi
415d41:	8b f8                	mov    %eax,%edi
415d43:	33 db                	xor    %ebx,%ebx
415d45:	8b 07                	mov    (%edi),%eax
415d47:	e8 9c f6 fe ff       	call   0x4053e8
415d4c:	8b d0                	mov    %eax,%edx
415d4e:	85 d2                	test   %edx,%edx
415d50:	7c 13                	jl     0x415d65
415d52:	42                   	inc    %edx
415d53:	33 c0                	xor    %eax,%eax
415d55:	8b 0f                	mov    (%edi),%ecx
415d57:	83 3c 81 00          	cmpl   $0x0,(%ecx,%eax,4)
415d5b:	74 04                	je     0x415d61
415d5d:	b3 01                	mov    $0x1,%bl
415d5f:	eb 04                	jmp    0x415d65
415d61:	40                   	inc    %eax
415d62:	4a                   	dec    %edx
415d63:	75 f0                	jne    0x415d55
415d65:	84 db                	test   %bl,%bl
415d67:	74 39                	je     0x415da2
415d69:	8b 07                	mov    (%edi),%eax
415d6b:	e8 78 f6 fe ff       	call   0x4053e8
415d70:	83 f8 00             	cmp    $0x0,%eax
415d73:	7c 2d                	jl     0x415da2
415d75:	8b 17                	mov    (%edi),%edx
415d77:	83 3c 82 00          	cmpl   $0x0,(%edx,%eax,4)
415d7b:	74 10                	je     0x415d8d
415d7d:	8b 17                	mov    (%edi),%edx