421af6:	cc                   	int3
421af7:	cc                   	int3
421af8:	cc                   	int3
421af9:	cc                   	int3
421afa:	cc                   	int3
421afb:	cc                   	int3
421afc:	cc                   	int3
421afd:	cc                   	int3
421afe:	cc                   	int3
421aff:	cc                   	int3
421b00:	cc                   	int3
421b01:	cc                   	int3
421b02:	cc                   	int3
421b03:	cc                   	int3
421b04:	cc                   	int3
421b05:	cc                   	int3
421b06:	cc                   	int3
421b07:	cc                   	int3
421b08:	cc                   	int3
421b09:	cc                   	int3
421b0a:	cc                   	int3
421b0b:	cc                   	int3
421b0c:	cc                   	int3
421b0d:	cc                   	int3
421b0e:	cc                   	int3
421b0f:	cc                   	int3
421b10:	8b ff                	mov    %edi,%edi
421b12:	55                   	push   %ebp
421b13:	8b ec                	mov    %esp,%ebp
421b15:	81 ec 88 00 00 00    	sub    $0x88,%esp
421b1b:	8d 4d 0c             	lea    0xc(%ebp),%ecx
421b1e:	e8 25 1b fe ff       	call   0x403648
421b23:	0f b6 c0             	movzbl %al,%eax
421b26:	85 c0                	test   %eax,%eax
421b28:	75 21                	jne    0x421b4b
421b2a:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
421b31:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
421b38:	8d 4d 0c             	lea    0xc(%ebp),%ecx
421b3b:	e8 a8 f8 fd ff       	call   0x4013e8
421b40:	8b 45 c4             	mov    -0x3c(%ebp),%eax
421b43:	8b 55 c8             	mov    -0x38(%ebp),%edx
421b46:	e9 f1 03 00 00       	jmp    0x421f3c
421b4b:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
421b4f:	74 15                	je     0x421b66
421b51:	83 7d 14 02          	cmpl   $0x2,0x14(%ebp)
421b55:	7c 06                	jl     0x421b5d
421b57:	83 7d 14 24          	cmpl   $0x24,0x14(%ebp)
421b5b:	7e 09                	jle    0x421b66
421b5d:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
421b64:	eb 07                	jmp    0x421b6d
421b66:	c7 45 d8 01 00 00 00 	movl   $0x1,-0x28(%ebp)
421b6d:	8b 4d d8             	mov    -0x28(%ebp),%ecx
421b70:	89 4d dc             	mov    %ecx,-0x24(%ebp)
421b73:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
421b77:	75 26                	jne    0x421b9f
421b79:	68 e0 88 49 00       	push   $0x4988e0
421b7e:	68 60 83 49 00       	push   $0x498360
421b83:	6a 00                	push   $0x0
421b85:	68 c8 00 00 00       	push   $0xc8
421b8a:	68 68 88 49 00       	push   $0x498868
421b8f:	6a 02                	push   $0x2
421b91:	e8 b1 fd fd ff       	call   0x401947
421b96:	83 c4 18             	add    $0x18,%esp
421b99:	83 f8 01             	cmp    $0x1,%eax
421b9c:	75 01                	jne    0x421b9f
421b9e:	cc                   	int3
421b9f:	83 7d dc 00          	cmpl   $0x0,-0x24(%ebp)
421ba3:	75 4a                	jne    0x421bef
421ba5:	e8 db 05 fe ff       	call   0x402185
421baa:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
421bb0:	6a 00                	push   $0x0
421bb2:	68 c8 00 00 00       	push   $0xc8
421bb7:	68 68 88 49 00       	push   $0x498868
421bbc:	68 40 89 49 00       	push   $0x498940
421bc1:	68 e0 88 49 00       	push   $0x4988e0
421bc6:	e8 43 22 fe ff       	call   0x403e0e
421bcb:	83 c4 14             	add    $0x14,%esp
421bce:	c7 45 98 00 00 00 00 	movl   $0x0,-0x68(%ebp)
421bd5:	c7 45 9c 00 00 00 00 	movl   $0x0,-0x64(%ebp)
421bdc:	8d 4d 0c             	lea    0xc(%ebp),%ecx
421bdf:	e8 04 f8 fd ff       	call   0x4013e8
421be4:	8b 45 98             	mov    -0x68(%ebp),%eax
421be7:	8b 55 9c             	mov    -0x64(%ebp),%edx
421bea:	e9 4d 03 00 00       	jmp    0x421f3c
421bef:	8b 45 08             	mov    0x8(%ebp),%eax
421bf2:	50                   	push   %eax
421bf3:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
421bf9:	e8 28 00 fe ff       	call   0x401c26
421bfe:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
421c05:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
421c0c:	8d 4d 0c             	lea    0xc(%ebp),%ecx
421c0f:	e8 04 ff fd ff       	call   0x401b18
421c14:	89 45 b8             	mov    %eax,-0x48(%ebp)
421c17:	8d 4d 0c             	lea    0xc(%ebp),%ecx
421c1a:	e8 55 f8 fd ff       	call   0x401474
421c1f:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
421c23:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
421c29:	e8 b4 fd fd ff       	call   0x4019e2
421c2e:	50                   	push   %eax
421c2f:	0f b7 4d fc          	movzwl -0x4(%ebp),%ecx
421c33:	51                   	push   %ecx
421c34:	e8 78 01 fe ff       	call   0x401db1
421c39:	83 c4 08             	add    $0x8,%esp
421c3c:	0f b6 d0             	movzbl %al,%edx
421c3f:	85 d2                	test   %edx,%edx
421c41:	74 0e                	je     0x421c51
421c43:	8d 4d 0c             	lea    0xc(%ebp),%ecx
421c46:	e8 29 f8 fd ff       	call   0x401474
421c4b:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
421c4f:	eb d2                	jmp    0x421c23
421c51:	0f b6 45 18          	movzbl 0x18(%ebp),%eax
421c55:	85 c0                	test   %eax,%eax
421c57:	74 09                	je     0x421c62
421c59:	c7 45 d4 01 00 00 00 	movl   $0x1,-0x2c(%ebp)
421c60:	eb 07                	jmp    0x421c69
421c62:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
421c69:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
421c6c:	89 4d f4             	mov    %ecx,-0xc(%ebp)
421c6f:	0f b7 55 fc          	movzwl -0x4(%ebp),%edx
421c73:	83 fa 2d             	cmp    $0x2d,%edx
421c76:	75 09                	jne    0x421c81
421c78:	8b 45 f4             	mov    -0xc(%ebp),%eax
421c7b:	83 c8 02             	or     $0x2,%eax
421c7e:	89 45 f4             	mov    %eax,-0xc(%ebp)
421c81:	0f b7 4d fc          	movzwl -0x4(%ebp),%ecx
421c85:	83 f9 2d             	cmp    $0x2d,%ecx
421c88:	74 09                	je     0x421c93
421c8a:	0f b7 55 fc          	movzwl -0x4(%ebp),%edx
421c8e:	83 fa 2b             	cmp    $0x2b,%edx
421c91:	75 0c                	jne    0x421c9f
421c93:	8d 4d 0c             	lea    0xc(%ebp),%ecx
421c96:	e8 d9 f7 fd ff       	call   0x401474
421c9b:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
421c9f:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
421ca3:	74 06                	je     0x421cab
421ca5:	83 7d 14 10          	cmpl   $0x10,0x14(%ebp)
421ca9:	75 73                	jne    0x421d1e
421cab:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
421caf:	50                   	push   %eax
421cb0:	e8 4a f4 fd ff       	call   0x4010ff
421cb5:	83 c4 04             	add    $0x4,%esp
421cb8:	85 c0                	test   %eax,%eax
421cba:	74 0f                	je     0x421ccb
421cbc:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
421cc0:	75 07                	jne    0x421cc9
421cc2:	c7 45 14 0a 00 00 00 	movl   $0xa,0x14(%ebp)
421cc9:	eb 53                	jmp    0x421d1e
421ccb:	8d 4d 0c             	lea    0xc(%ebp),%ecx
421cce:	e8 a1 f7 fd ff       	call   0x401474
421cd3:	66 89 45 e4          	mov    %ax,-0x1c(%ebp)
421cd7:	0f b7 4d e4          	movzwl -0x1c(%ebp),%ecx
421cdb:	83 f9 78             	cmp    $0x78,%ecx
421cde:	74 09                	je     0x421ce9
421ce0:	0f b7 55 e4          	movzwl -0x1c(%ebp),%edx
421ce4:	83 fa 58             	cmp    $0x58,%edx
421ce7:	75 1b                	jne    0x421d04
421ce9:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
421ced:	75 07                	jne    0x421cf6
421cef:	c7 45 14 10 00 00 00 	movl   $0x10,0x14(%ebp)
421cf6:	8d 4d 0c             	lea    0xc(%ebp),%ecx
421cf9:	e8 76 f7 fd ff       	call   0x401474
421cfe:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
421d02:	eb 1a                	jmp    0x421d1e
421d04:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
421d08:	75 07                	jne    0x421d11
421d0a:	c7 45 14 08 00 00 00 	movl   $0x8,0x14(%ebp)
421d11:	0f b7 45 e4          	movzwl -0x1c(%ebp),%eax
421d15:	50                   	push   %eax
421d16:	8d 4d 0c             	lea    0xc(%ebp),%ecx
421d19:	e8 99 18 fe ff       	call   0x4035b7
421d1e:	8b 45 14             	mov    0x14(%ebp),%eax
421d21:	99                   	cltd
421d22:	52                   	push   %edx
421d23:	50                   	push   %eax
421d24:	6a ff                	push   $0xffffffff
421d26:	6a ff                	push   $0xffffffff
421d28:	e8 ba 01 fe ff       	call   0x401ee7
421d2d:	89 45 cc             	mov    %eax,-0x34(%ebp)
421d30:	89 55 d0             	mov    %edx,-0x30(%ebp)
421d33:	8b 45 14             	mov    0x14(%ebp),%eax
421d36:	99                   	cltd
421d37:	52                   	push   %edx
421d38:	50                   	push   %eax
421d39:	6a ff                	push   $0xffffffff
421d3b:	6a ff                	push   $0xffffffff
421d3d:	e8 08 fe fd ff       	call   0x401b4a
421d42:	89 45 88             	mov    %eax,-0x78(%ebp)
421d45:	89 55 8c             	mov    %edx,-0x74(%ebp)
421d48:	0f b7 4d fc          	movzwl -0x4(%ebp),%ecx
421d4c:	51                   	push   %ecx
421d4d:	e8 ad f3 fd ff       	call   0x4010ff
421d52:	83 c4 04             	add    $0x4,%esp
421d55:	89 45 e0             	mov    %eax,-0x20(%ebp)
421d58:	83 7d e0 ff          	cmpl   $0xffffffff,-0x20(%ebp)
421d5c:	74 08                	je     0x421d66
421d5e:	8b 55 e0             	mov    -0x20(%ebp),%edx
421d61:	3b 55 14             	cmp    0x14(%ebp),%edx
421d64:	72 05                	jb     0x421d6b
421d66:	e9 9c 00 00 00       	jmp    0x421e07
421d6b:	8b 45 f4             	mov    -0xc(%ebp),%eax
421d6e:	83 c8 08             	or     $0x8,%eax
421d71:	89 45 f4             	mov    %eax,-0xc(%ebp)
421d74:	8b 4d f0             	mov    -0x10(%ebp),%ecx
421d77:	3b 4d d0             	cmp    -0x30(%ebp),%ecx
421d7a:	72 3d                	jb     0x421db9
421d7c:	77 08                	ja     0x421d86
421d7e:	8b 55 ec             	mov    -0x14(%ebp),%edx
421d81:	3b 55 cc             	cmp    -0x34(%ebp),%edx
421d84:	72 33                	jb     0x421db9
421d86:	8b 45 ec             	mov    -0x14(%ebp),%eax
421d89:	3b 45 cc             	cmp    -0x34(%ebp),%eax
421d8c:	75 25                	jne    0x421db3
421d8e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
421d91:	3b 4d d0             	cmp    -0x30(%ebp),%ecx
421d94:	75 1d                	jne    0x421db3
421d96:	8b 55 e0             	mov    -0x20(%ebp),%edx
421d99:	33 c0                	xor    %eax,%eax
421d9b:	89 55 a8             	mov    %edx,-0x58(%ebp)
421d9e:	89 45 ac             	mov    %eax,-0x54(%ebp)
421da1:	8b 4d ac             	mov    -0x54(%ebp),%ecx
421da4:	3b 4d 8c             	cmp    -0x74(%ebp),%ecx
421da7:	72 10                	jb     0x421db9
421da9:	77 08                	ja     0x421db3
421dab:	8b 55 a8             	mov    -0x58(%ebp),%edx
421dae:	3b 55 88             	cmp    -0x78(%ebp),%edx
421db1:	76 06                	jbe    0x421db9
421db3:	c6 45 fb 00          	movb   $0x0,-0x5(%ebp)
421db7:	eb 04                	jmp    0x421dbd
421db9:	c6 45 fb 01          	movb   $0x1,-0x5(%ebp)
421dbd:	8a 45 fb             	mov    -0x5(%ebp),%al
421dc0:	88 45 eb             	mov    %al,-0x15(%ebp)
421dc3:	0f b6 4d eb          	movzbl -0x15(%ebp),%ecx
421dc7:	85 c9                	test   %ecx,%ecx
421dc9:	74 22                	je     0x421ded
421dcb:	8b 45 14             	mov    0x14(%ebp),%eax
421dce:	99                   	cltd
421dcf:	52                   	push   %edx
421dd0:	50                   	push   %eax
421dd1:	8b 55 f0             	mov    -0x10(%ebp),%edx
421dd4:	52                   	push   %edx
421dd5:	8b 45 ec             	mov    -0x14(%ebp),%eax
421dd8:	50                   	push   %eax
421dd9:	e8 1d 0b fe ff       	call   0x4028fb
421dde:	33 c9                	xor    %ecx,%ecx
421de0:	03 45 e0             	add    -0x20(%ebp),%eax
421de3:	13 d1                	adc    %ecx,%edx
421de5:	89 45 ec             	mov    %eax,-0x14(%ebp)
421de8:	89 55 f0             	mov    %edx,-0x10(%ebp)
421deb:	eb 09                	jmp    0x421df6
421ded:	8b 55 f4             	mov    -0xc(%ebp),%edx
421df0:	83 ca 04             	or     $0x4,%edx
421df3:	89 55 f4             	mov    %edx,-0xc(%ebp)
421df6:	8d 4d 0c             	lea    0xc(%ebp),%ecx
421df9:	e8 76 f6 fd ff       	call   0x401474
421dfe:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
421e02:	e9 41 ff ff ff       	jmp    0x421d48
421e07:	0f b7 45 fc          	movzwl -0x4(%ebp),%eax
421e0b:	50                   	push   %eax
421e0c:	8d 4d 0c             	lea    0xc(%ebp),%ecx
421e0f:	e8 a3 17 fe ff       	call   0x4035b7
421e14:	8b 4d f4             	mov    -0xc(%ebp),%ecx
421e17:	83 e1 08             	and    $0x8,%ecx
421e1a:	75 38                	jne    0x421e54
421e1c:	8b 55 b8             	mov    -0x48(%ebp),%edx
421e1f:	52                   	push   %edx
421e20:	8d 4d 0c             	lea    0xc(%ebp),%ecx
421e23:	e8 eb f7 fd ff       	call   0x401613
421e28:	c7 45 bc 00 00 00 00 	movl   $0x0,-0x44(%ebp)
421e2f:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
421e36:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
421e3c:	e8 24 19 fe ff       	call   0x403765
421e41:	8d 4d 0c             	lea    0xc(%ebp),%ecx
421e44:	e8 9f f5 fd ff       	call   0x4013e8
421e49:	8b 45 bc             	mov    -0x44(%ebp),%eax
421e4c:	8b 55 c0             	mov    -0x40(%ebp),%edx
421e4f:	e9 e8 00 00 00       	jmp    0x421f3c
421e54:	8b 45 f0             	mov    -0x10(%ebp),%eax
421e57:	50                   	push   %eax
421e58:	8b 4d ec             	mov    -0x14(%ebp),%ecx
421e5b:	51                   	push   %ecx
421e5c:	8b 55 f4             	mov    -0xc(%ebp),%edx
421e5f:	52                   	push   %edx
421e60:	e8 3f 02 fe ff       	call   0x4020a4
421e65:	83 c4 0c             	add    $0xc,%esp
421e68:	0f b6 c0             	movzbl %al,%eax
421e6b:	85 c0                	test   %eax,%eax
421e6d:	0f 84 89 00 00 00    	je     0x421efc
421e73:	e8 0d 03 fe ff       	call   0x402185
421e78:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
421e7e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
421e81:	83 e1 01             	and    $0x1,%ecx
421e84:	75 10                	jne    0x421e96
421e86:	c7 45 ec ff ff ff ff 	movl   $0xffffffff,-0x14(%ebp)
421e8d:	c7 45 f0 ff ff ff ff 	movl   $0xffffffff,-0x10(%ebp)
421e94:	eb 64                	jmp    0x421efa
421e96:	8b 55 f4             	mov    -0xc(%ebp),%edx
421e99:	83 e2 02             	and    $0x2,%edx
421e9c:	74 2f                	je     0x421ecd
421e9e:	6a 00                	push   $0x0
421ea0:	6a 00                	push   $0x0
421ea2:	e8 19 09 fe ff       	call   0x4027c0
421ea7:	83 c4 08             	add    $0x8,%esp
421eaa:	89 45 b0             	mov    %eax,-0x50(%ebp)
421ead:	89 55 b4             	mov    %edx,-0x4c(%ebp)
421eb0:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
421eb6:	e8 aa 18 fe ff       	call   0x403765
421ebb:	8d 4d 0c             	lea    0xc(%ebp),%ecx
421ebe:	e8 25 f5 fd ff       	call   0x4013e8
421ec3:	8b 45 b0             	mov    -0x50(%ebp),%eax
421ec6:	8b 55 b4             	mov    -0x4c(%ebp),%edx
421ec9:	eb 71                	jmp    0x421f3c
421ecb:	eb 2d                	jmp    0x421efa
421ecd:	6a 00                	push   $0x0
421ecf:	6a 00                	push   $0x0
421ed1:	e8 31 fe fd ff       	call   0x401d07
421ed6:	83 c4 08             	add    $0x8,%esp
421ed9:	89 45 a0             	mov    %eax,-0x60(%ebp)
421edc:	89 55 a4             	mov    %edx,-0x5c(%ebp)
421edf:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
421ee5:	e8 7b 18 fe ff       	call   0x403765
421eea:	8d 4d 0c             	lea    0xc(%ebp),%ecx
421eed:	e8 f6 f4 fd ff       	call   0x4013e8
421ef2:	8b 45 a0             	mov    -0x60(%ebp),%eax
421ef5:	8b 55 a4             	mov    -0x5c(%ebp),%edx
421ef8:	eb 42                	jmp    0x421f3c
421efa:	eb 1b                	jmp    0x421f17
421efc:	8b 45 f4             	mov    -0xc(%ebp),%eax
421eff:	83 e0 02             	and    $0x2,%eax
421f02:	74 13                	je     0x421f17
421f04:	8b 4d ec             	mov    -0x14(%ebp),%ecx
421f07:	f7 d9                	neg    %ecx
421f09:	8b 55 f0             	mov    -0x10(%ebp),%edx
421f0c:	83 d2 00             	adc    $0x0,%edx
421f0f:	f7 da                	neg    %edx
421f11:	89 4d ec             	mov    %ecx,-0x14(%ebp)
421f14:	89 55 f0             	mov    %edx,-0x10(%ebp)
421f17:	8b 45 ec             	mov    -0x14(%ebp),%eax
421f1a:	89 45 90             	mov    %eax,-0x70(%ebp)
421f1d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
421f20:	89 4d 94             	mov    %ecx,-0x6c(%ebp)
421f23:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
421f29:	e8 37 18 fe ff       	call   0x403765
421f2e:	8d 4d 0c             	lea    0xc(%ebp),%ecx
421f31:	e8 b2 f4 fd ff       	call   0x4013e8
421f36:	8b 45 90             	mov    -0x70(%ebp),%eax
421f39:	8b 55 94             	mov    -0x6c(%ebp),%edx
421f3c:	8b e5                	mov    %ebp,%esp
421f3e:	5d                   	pop    %ebp
421f3f:	c3                   	ret
421f40:	cc                   	int3