431dbf:	25 7f ff ff ff       	and    $0xffffff7f,%eax
431dc4:	5d                   	pop    %ebp
431dc5:	c3                   	ret
431dc6:	33 c0                	xor    %eax,%eax
431dc8:	5d                   	pop    %ebp
431dc9:	c3                   	ret
431dca:	8b ff                	mov    %edi,%edi
431dcc:	55                   	push   %ebp
431dcd:	8b ec                	mov    %esp,%ebp
431dcf:	8b 55 08             	mov    0x8(%ebp),%edx
431dd2:	53                   	push   %ebx
431dd3:	56                   	push   %esi
431dd4:	57                   	push   %edi
431dd5:	81 fa e8 fd 00 00    	cmp    $0xfde8,%edx
431ddb:	74 0c                	je     0x431de9
431ddd:	81 fa e9 fd 00 00    	cmp    $0xfde9,%edx
431de3:	74 04                	je     0x431de9
431de5:	32 db                	xor    %bl,%bl
431de7:	eb 02                	jmp    0x431deb
431de9:	b3 01                	mov    $0x1,%bl
431deb:	ff 75 0c             	push   0xc(%ebp)
431dee:	52                   	push   %edx
431def:	e8 46 ff ff ff       	call   0x431d3a
431df4:	8b 7d 24             	mov    0x24(%ebp),%edi
431df7:	59                   	pop    %ecx
431df8:	59                   	pop    %ecx
431df9:	0f b6 cb             	movzbl %bl,%ecx
431dfc:	f7 d9                	neg    %ecx
431dfe:	0f b6 f3             	movzbl %bl,%esi
431e01:	1b c9                	sbb    %ecx,%ecx
431e03:	f7 d1                	not    %ecx
431e05:	23 cf                	and    %edi,%ecx
431e07:	f7 de                	neg    %esi
431e09:	1b f6                	sbb    %esi,%esi
431e0b:	f7 d6                	not    %esi
431e0d:	23 75 20             	and    0x20(%ebp),%esi
431e10:	84 db                	test   %bl,%bl
431e12:	74 07                	je     0x431e1b
431e14:	85 ff                	test   %edi,%edi
431e16:	74 03                	je     0x431e1b
431e18:	83 27 00             	andl   $0x0,(%edi)
431e1b:	51                   	push   %ecx
431e1c:	56                   	push   %esi
431e1d:	ff 75 1c             	push   0x1c(%ebp)
431e20:	ff 75 18             	push   0x18(%ebp)
431e23:	ff 75 14             	push   0x14(%ebp)
431e26:	ff 75 10             	push   0x10(%ebp)
431e29:	50                   	push   %eax
431e2a:	52                   	push   %edx
431e2b:	ff 15 ec e0 43 00    	call   *0x43e0ec
431e31:	5f                   	pop    %edi
431e32:	5e                   	pop    %esi
431e33:	5b                   	pop    %ebx
431e34:	5d                   	pop    %ebp
431e35:	c3                   	ret
431e36:	cc                   	int3
431e37:	cc                   	int3
431e38:	cc                   	int3
431e39:	cc                   	int3
431e3a:	cc                   	int3
431e3b:	cc                   	int3
431e3c:	cc                   	int3
431e3d:	cc                   	int3
431e3e:	cc                   	int3
431e3f:	cc                   	int3
431e40:	8b ff                	mov    %edi,%edi
431e42:	55                   	push   %ebp
431e43:	8b ec                	mov    %esp,%ebp
431e45:	8b 45 0c             	mov    0xc(%ebp),%eax
431e48:	3b 45 08             	cmp    0x8(%ebp),%eax
431e4b:	76 05                	jbe    0x431e52
431e4d:	83 c8 ff             	or     $0xffffffff,%eax
431e50:	5d                   	pop    %ebp
431e51:	c3                   	ret
431e52:	1b c0                	sbb    %eax,%eax
431e54:	f7 d8                	neg    %eax
431e56:	5d                   	pop    %ebp
431e57:	c3                   	ret
431e58:	8b ff                	mov    %edi,%edi
431e5a:	55                   	push   %ebp
431e5b:	8b ec                	mov    %esp,%ebp
431e5d:	83 ec 30             	sub    $0x30,%esp
431e60:	a1 14 50 45 00       	mov    0x455014,%eax
431e65:	33 c5                	xor    %ebp,%eax
431e67:	89 45 fc             	mov    %eax,-0x4(%ebp)
431e6a:	8b 45 0c             	mov    0xc(%ebp),%eax
431e6d:	89 45 d0             	mov    %eax,-0x30(%ebp)
431e70:	56                   	push   %esi
431e71:	8b 75 08             	mov    0x8(%ebp),%esi
431e74:	85 c0                	test   %eax,%eax
431e76:	75 16                	jne    0x431e8e
431e78:	e8 b3 1b ff ff       	call   0x423a30
431e7d:	6a 16                	push   $0x16
431e7f:	5e                   	pop    %esi
431e80:	89 30                	mov    %esi,(%eax)
431e82:	e8 fc da fe ff       	call   0x41f983
431e87:	8b c6                	mov    %esi,%eax
431e89:	e9 68 01 00 00       	jmp    0x431ff6
431e8e:	53                   	push   %ebx
431e8f:	33 db                	xor    %ebx,%ebx
431e91:	57                   	push   %edi
431e92:	89 18                	mov    %ebx,(%eax)
431e94:	8b fb                	mov    %ebx,%edi
431e96:	8b 06                	mov    (%esi),%eax
431e98:	8b d3                	mov    %ebx,%edx
431e9a:	89 5d d8             	mov    %ebx,-0x28(%ebp)
431e9d:	89 7d dc             	mov    %edi,-0x24(%ebp)
431ea0:	89 55 e0             	mov    %edx,-0x20(%ebp)
431ea3:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
431ea6:	85 c0                	test   %eax,%eax
431ea8:	74 5e                	je     0x431f08
431eaa:	6a 2a                	push   $0x2a
431eac:	59                   	pop    %ecx
431ead:	66 89 4d f4          	mov    %cx,-0xc(%ebp)
431eb1:	6a 3f                	push   $0x3f
431eb3:	59                   	pop    %ecx
431eb4:	66 89 4d f6          	mov    %cx,-0xa(%ebp)
431eb8:	33 c9                	xor    %ecx,%ecx
431eba:	66 89 4d f8          	mov    %cx,-0x8(%ebp)
431ebe:	8d 4d f4             	lea    -0xc(%ebp),%ecx
431ec1:	51                   	push   %ecx
431ec2:	50                   	push   %eax
431ec3:	e8 6f 21 00 00       	call   0x434037
431ec8:	59                   	pop    %ecx
431ec9:	59                   	pop    %ecx
431eca:	85 c0                	test   %eax,%eax
431ecc:	75 18                	jne    0x431ee6
431ece:	8d 45 dc             	lea    -0x24(%ebp),%eax
431ed1:	50                   	push   %eax
431ed2:	53                   	push   %ebx
431ed3:	53                   	push   %ebx
431ed4:	ff 36                	push   (%esi)
431ed6:	e8 35 01 00 00       	call   0x432010
431edb:	8b f8                	mov    %eax,%edi
431edd:	83 c4 10             	add    $0x10,%esp
431ee0:	85 ff                	test   %edi,%edi
431ee2:	75 7b                	jne    0x431f5f
431ee4:	eb 13                	jmp    0x431ef9
431ee6:	8d 4d dc             	lea    -0x24(%ebp),%ecx
431ee9:	51                   	push   %ecx
431eea:	50                   	push   %eax
431eeb:	ff 36                	push   (%esi)
431eed:	e8 d2 01 00 00       	call   0x4320c4
431ef2:	83 c4 0c             	add    $0xc,%esp
431ef5:	85 c0                	test   %eax,%eax
431ef7:	75 1d                	jne    0x431f16
431ef9:	83 c6 04             	add    $0x4,%esi
431efc:	8b 06                	mov    (%esi),%eax
431efe:	85 c0                	test   %eax,%eax
431f00:	75 a8                	jne    0x431eaa
431f02:	8b 7d dc             	mov    -0x24(%ebp),%edi
431f05:	8b 55 e0             	mov    -0x20(%ebp),%edx
431f08:	8b da                	mov    %edx,%ebx
431f0a:	8b f7                	mov    %edi,%esi
431f0c:	2b df                	sub    %edi,%ebx
431f0e:	c1 fb 02             	sar    $0x2,%ebx
431f11:	43                   	inc    %ebx
431f12:	33 c0                	xor    %eax,%eax
431f14:	eb 26                	jmp    0x431f3c
431f16:	8b f8                	mov    %eax,%edi
431f18:	eb 45                	jmp    0x431f5f
431f1a:	8b 0e                	mov    (%esi),%ecx
431f1c:	8d 41 02             	lea    0x2(%ecx),%eax
431f1f:	89 45 f0             	mov    %eax,-0x10(%ebp)
431f22:	66 8b 01             	mov    (%ecx),%ax
431f25:	83 c1 02             	add    $0x2,%ecx
431f28:	66 3b 45 d8          	cmp    -0x28(%ebp),%ax
431f2c:	75 f4                	jne    0x431f22
431f2e:	2b 4d f0             	sub    -0x10(%ebp),%ecx
431f31:	8b 45 ec             	mov    -0x14(%ebp),%eax
431f34:	d1 f9                	sar    $1,%ecx
431f36:	40                   	inc    %eax
431f37:	03 c1                	add    %ecx,%eax
431f39:	83 c6 04             	add    $0x4,%esi
431f3c:	89 45 ec             	mov    %eax,-0x14(%ebp)
431f3f:	3b f2                	cmp    %edx,%esi
431f41:	75 d7                	jne    0x431f1a
431f43:	6a 02                	push   $0x2
431f45:	50                   	push   %eax
431f46:	53                   	push   %ebx
431f47:	e8 16 5c ff ff       	call   0x427b62
431f4c:	8b f0                	mov    %eax,%esi
431f4e:	83 c4 0c             	add    $0xc,%esp
431f51:	85 f6                	test   %esi,%esi
431f53:	75 19                	jne    0x431f6e
431f55:	50                   	push   %eax
431f56:	e8 5f 89 ff ff       	call   0x42a8ba
431f5b:	59                   	pop    %ecx
431f5c:	83 cf ff             	or     $0xffffffff,%edi
431f5f:	8d 4d dc             	lea    -0x24(%ebp),%ecx
431f62:	e8 d3 02 00 00       	call   0x43223a
431f67:	8b c7                	mov    %edi,%eax
431f69:	e9 86 00 00 00       	jmp    0x431ff4
431f6e:	8d 04 9e             	lea    (%esi,%ebx,4),%eax
431f71:	8b 5d e0             	mov    -0x20(%ebp),%ebx
431f74:	89 45 d4             	mov    %eax,-0x2c(%ebp)
431f77:	8b d0                	mov    %eax,%edx
431f79:	89 55 f0             	mov    %edx,-0x10(%ebp)
431f7c:	3b fb                	cmp    %ebx,%edi
431f7e:	74 5c                	je     0x431fdc
431f80:	8b c6                	mov    %esi,%eax
431f82:	2b c7                	sub    %edi,%eax
431f84:	89 45 f4             	mov    %eax,-0xc(%ebp)
431f87:	8b 0f                	mov    (%edi),%ecx
431f89:	8d 41 02             	lea    0x2(%ecx),%eax
431f8c:	89 45 e8             	mov    %eax,-0x18(%ebp)
431f8f:	66 8b 01             	mov    (%ecx),%ax
431f92:	83 c1 02             	add    $0x2,%ecx
431f95:	66 3b 45 d8          	cmp    -0x28(%ebp),%ax
431f99:	75 f4                	jne    0x431f8f
431f9b:	2b 4d e8             	sub    -0x18(%ebp),%ecx
431f9e:	d1 f9                	sar    $1,%ecx
431fa0:	8d 41 01             	lea    0x1(%ecx),%eax
431fa3:	8b ca                	mov    %edx,%ecx
431fa5:	2b 4d d4             	sub    -0x2c(%ebp),%ecx
431fa8:	50                   	push   %eax
431fa9:	ff 37                	push   (%edi)
431fab:	89 45 e8             	mov    %eax,-0x18(%ebp)
431fae:	8b 45 ec             	mov    -0x14(%ebp),%eax
431fb1:	d1 f9                	sar    $1,%ecx
431fb3:	2b c1                	sub    %ecx,%eax
431fb5:	50                   	push   %eax
431fb6:	52                   	push   %edx
431fb7:	e8 6e 2b ff ff       	call   0x424b2a
431fbc:	83 c4 10             	add    $0x10,%esp
431fbf:	85 c0                	test   %eax,%eax
431fc1:	75 40                	jne    0x432003
431fc3:	8b 45 f4             	mov    -0xc(%ebp),%eax
431fc6:	8b 55 f0             	mov    -0x10(%ebp),%edx
431fc9:	89 14 38             	mov    %edx,(%eax,%edi,1)
431fcc:	83 c7 04             	add    $0x4,%edi
431fcf:	8b 45 e8             	mov    -0x18(%ebp),%eax
431fd2:	8d 14 42             	lea    (%edx,%eax,2),%edx
431fd5:	89 55 f0             	mov    %edx,-0x10(%ebp)
431fd8:	3b fb                	cmp    %ebx,%edi
431fda:	75 ab                	jne    0x431f87
431fdc:	8b 45 d0             	mov    -0x30(%ebp),%eax
431fdf:	89 30                	mov    %esi,(%eax)
431fe1:	33 c0                	xor    %eax,%eax
431fe3:	50                   	push   %eax
431fe4:	e8 d1 88 ff ff       	call   0x42a8ba
431fe9:	59                   	pop    %ecx
431fea:	8d 4d dc             	lea    -0x24(%ebp),%ecx
431fed:	e8 48 02 00 00       	call   0x43223a
431ff2:	33 c0                	xor    %eax,%eax
431ff4:	5f                   	pop    %edi
431ff5:	5b                   	pop    %ebx
431ff6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
431ff9:	33 cd                	xor    %ebp,%ecx
431ffb:	5e                   	pop    %esi
431ffc:	e8 a9 7b fe ff       	call   0x419baa
432001:	c9                   	leave
432002:	c3                   	ret
432003:	33 c0                	xor    %eax,%eax
432005:	50                   	push   %eax
432006:	50                   	push   %eax
432007:	50                   	push   %eax
432008:	50                   	push   %eax
432009:	50                   	push   %eax
43200a:	e8 a1 d9 fe ff       	call   0x41f9b0
43200f:	cc                   	int3
432010:	8b ff                	mov    %edi,%edi
432012:	55                   	push   %ebp
432013:	8b ec                	mov    %esp,%ebp
432015:	51                   	push   %ecx
432016:	8b 4d 08             	mov    0x8(%ebp),%ecx
432019:	53                   	push   %ebx
43201a:	57                   	push   %edi
43201b:	33 db                	xor    %ebx,%ebx
43201d:	8d 51 02             	lea    0x2(%ecx),%edx
432020:	66 8b 01             	mov    (%ecx),%ax
432023:	83 c1 02             	add    $0x2,%ecx
432026:	66 3b c3             	cmp    %bx,%ax
432029:	75 f5                	jne    0x432020
43202b:	8b 7d 10             	mov    0x10(%ebp),%edi
43202e:	2b ca                	sub    %edx,%ecx
432030:	d1 f9                	sar    $1,%ecx
432032:	8b c7                	mov    %edi,%eax
432034:	41                   	inc    %ecx
432035:	f7 d0                	not    %eax
432037:	89 4d fc             	mov    %ecx,-0x4(%ebp)
43203a:	3b c8                	cmp    %eax,%ecx
43203c:	76 07                	jbe    0x432045
43203e:	6a 0c                	push   $0xc
432040:	58                   	pop    %eax
432041:	5f                   	pop    %edi
432042:	5b                   	pop    %ebx
432043:	c9                   	leave
432044:	c3                   	ret
432045:	56                   	push   %esi
432046:	8d 5f 01             	lea    0x1(%edi),%ebx
432049:	03 d9                	add    %ecx,%ebx
43204b:	6a 02                	push   $0x2
43204d:	53                   	push   %ebx
43204e:	e8 c7 b0 ff ff       	call   0x42d11a
432053:	8b f0                	mov    %eax,%esi
432055:	59                   	pop    %ecx
432056:	59                   	pop    %ecx
432057:	85 ff                	test   %edi,%edi
432059:	74 12                	je     0x43206d
43205b:	57                   	push   %edi
43205c:	ff 75 0c             	push   0xc(%ebp)
43205f:	53                   	push   %ebx
432060:	56                   	push   %esi
432061:	e8 c4 2a ff ff       	call   0x424b2a
432066:	83 c4 10             	add    $0x10,%esp
432069:	85 c0                	test   %eax,%eax
43206b:	75 4a                	jne    0x4320b7
43206d:	ff 75 fc             	push   -0x4(%ebp)
432070:	2b df                	sub    %edi,%ebx
432072:	8d 04 7e             	lea    (%esi,%edi,2),%eax
432075:	ff 75 08             	push   0x8(%ebp)
432078:	53                   	push   %ebx
432079:	50                   	push   %eax
43207a:	e8 ab 2a ff ff       	call   0x424b2a
43207f:	83 c4 10             	add    $0x10,%esp
432082:	85 c0                	test   %eax,%eax
432084:	75 31                	jne    0x4320b7
432086:	8b 7d 14             	mov    0x14(%ebp),%edi
432089:	8b cf                	mov    %edi,%ecx
43208b:	e8 f3 01 00 00       	call   0x432283
432090:	8b d8                	mov    %eax,%ebx
432092:	85 db                	test   %ebx,%ebx
432094:	74 09                	je     0x43209f
432096:	56                   	push   %esi
432097:	e8 1e 88 ff ff       	call   0x42a8ba
43209c:	59                   	pop    %ecx
43209d:	eb 0b                	jmp    0x4320aa
43209f:	8b 47 04             	mov    0x4(%edi),%eax
4320a2:	89 30                	mov    %esi,(%eax)
4320a4:	83 47 04 04          	addl   $0x4,0x4(%edi)
4320a8:	33 db                	xor    %ebx,%ebx
4320aa:	6a 00                	push   $0x0
4320ac:	e8 09 88 ff ff       	call   0x42a8ba
4320b1:	59                   	pop    %ecx
4320b2:	8b c3                	mov    %ebx,%eax
4320b4:	5e                   	pop    %esi
4320b5:	eb 8a                	jmp    0x432041
4320b7:	33 c0                	xor    %eax,%eax
4320b9:	50                   	push   %eax
4320ba:	50                   	push   %eax
4320bb:	50                   	push   %eax
4320bc:	50                   	push   %eax
4320bd:	50                   	push   %eax
4320be:	e8 ed d8 fe ff       	call   0x41f9b0
4320c3:	cc                   	int3
4320c4:	8b ff                	mov    %edi,%edi
4320c6:	55                   	push   %ebp
4320c7:	8b ec                	mov    %esp,%ebp
4320c9:	81 ec 64 02 00 00    	sub    $0x264,%esp