428d7b:	e8 70 4f 01 00       	call   0x43dcf0
428d80:	83 c0 10             	add    $0x10,%eax
428d83:	74 0a                	je     0x428d8f
428d85:	e8 66 4f 01 00       	call   0x43dcf0
428d8a:	83 c0 14             	add    $0x14,%eax
428d8d:	eb 02                	jmp    0x428d91
428d8f:	33 c0                	xor    %eax,%eax
428d91:	83 3d 30 1a 45 00 95 	cmpl   $0xffffff95,0x451a30
428d98:	c7 00 64 0e 41 00    	movl   $0x410e64,(%eax)
428d9e:	c7 40 04 11 00 00 00 	movl   $0x11,0x4(%eax)
428da5:	c7 40 08 95 ff ff ff 	movl   $0xffffff95,0x8(%eax)
428dac:	75 06                	jne    0x428db4
428dae:	ff 15 58 20 45 00    	call   *0x452058
428db4:	b8 95 ff ff ff       	mov    $0xffffff95,%eax
428db9:	c3                   	ret
428dba:	cc                   	int3
428dbb:	cc                   	int3
428dbc:	cc                   	int3
428dbd:	cc                   	int3
428dbe:	cc                   	int3
428dbf:	cc                   	int3
428dc0:	85 c9                	test   %ecx,%ecx
428dc2:	75 03                	jne    0x428dc7
428dc4:	33 c0                	xor    %eax,%eax
428dc6:	c3                   	ret
428dc7:	8d 51 02             	lea    0x2(%ecx),%edx
428dca:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
428dd0:	66 8b 01             	mov    (%ecx),%ax
428dd3:	83 c1 02             	add    $0x2,%ecx
428dd6:	66 85 c0             	test   %ax,%ax
428dd9:	75 f5                	jne    0x428dd0
428ddb:	2b ca                	sub    %edx,%ecx
428ddd:	d1 f9                	sar    $1,%ecx
428ddf:	8b c1                	mov    %ecx,%eax
428de1:	c3                   	ret
428de2:	cc                   	int3
428de3:	cc                   	int3
428de4:	cc                   	int3
428de5:	cc                   	int3
428de6:	cc                   	int3
428de7:	cc                   	int3
428de8:	cc                   	int3
428de9:	cc                   	int3
428dea:	cc                   	int3
428deb:	cc                   	int3
428dec:	cc                   	int3
428ded:	cc                   	int3
428dee:	cc                   	int3
428def:	cc                   	int3
428df0:	8b ff                	mov    %edi,%edi
428df2:	53                   	push   %ebx
428df3:	8b d9                	mov    %ecx,%ebx
428df5:	56                   	push   %esi
428df6:	57                   	push   %edi
428df7:	85 db                	test   %ebx,%ebx
428df9:	75 04                	jne    0x428dff
428dfb:	33 f6                	xor    %esi,%esi
428dfd:	eb 14                	jmp    0x428e13
428dff:	8b f3                	mov    %ebx,%esi
428e01:	8d 4e 02             	lea    0x2(%esi),%ecx
428e04:	66 8b 06             	mov    (%esi),%ax
428e07:	83 c6 02             	add    $0x2,%esi
428e0a:	66 85 c0             	test   %ax,%ax
428e0d:	75 f5                	jne    0x428e04
428e0f:	2b f1                	sub    %ecx,%esi
428e11:	d1 fe                	sar    $1,%esi
428e13:	85 d2                	test   %edx,%edx
428e15:	75 04                	jne    0x428e1b
428e17:	33 c9                	xor    %ecx,%ecx
428e19:	eb 18                	jmp    0x428e33
428e1b:	8b ca                	mov    %edx,%ecx
428e1d:	8d 79 02             	lea    0x2(%ecx),%edi
428e20:	66 8b 01             	mov    (%ecx),%ax
428e23:	83 c1 02             	add    $0x2,%ecx
428e26:	66 85 c0             	test   %ax,%ax
428e29:	75 f5                	jne    0x428e20
428e2b:	2b cf                	sub    %edi,%ecx
428e2d:	d1 f9                	sar    $1,%ecx
428e2f:	3b f1                	cmp    %ecx,%esi
428e31:	72 2b                	jb     0x428e5e
428e33:	3b f1                	cmp    %ecx,%esi
428e35:	77 30                	ja     0x428e67
428e37:	33 c0                	xor    %eax,%eax
428e39:	85 f6                	test   %esi,%esi
428e3b:	74 17                	je     0x428e54
428e3d:	2b da                	sub    %edx,%ebx
428e3f:	90                   	nop
428e40:	0f b7 0c 13          	movzwl (%ebx,%edx,1),%ecx
428e44:	0f b7 3a             	movzwl (%edx),%edi
428e47:	66 3b cf             	cmp    %di,%cx
428e4a:	75 10                	jne    0x428e5c
428e4c:	40                   	inc    %eax
428e4d:	83 c2 02             	add    $0x2,%edx
428e50:	3b c6                	cmp    %esi,%eax
428e52:	72 ec                	jb     0x428e40
428e54:	5f                   	pop    %edi
428e55:	5e                   	pop    %esi
428e56:	33 c0                	xor    %eax,%eax
428e58:	5b                   	pop    %ebx
428e59:	c2 04 00             	ret    $0x4
428e5c:	73 09                	jae    0x428e67
428e5e:	5f                   	pop    %edi
428e5f:	5e                   	pop    %esi
428e60:	83 c8 ff             	or     $0xffffffff,%eax
428e63:	5b                   	pop    %ebx
428e64:	c2 04 00             	ret    $0x4
428e67:	5f                   	pop    %edi
428e68:	5e                   	pop    %esi
428e69:	b8 01 00 00 00       	mov    $0x1,%eax
428e6e:	5b                   	pop    %ebx
428e6f:	c2 04 00             	ret    $0x4
428e72:	cc                   	int3
428e73:	cc                   	int3
428e74:	cc                   	int3
428e75:	cc                   	int3
428e76:	cc                   	int3
428e77:	cc                   	int3
428e78:	cc                   	int3
428e79:	cc                   	int3
428e7a:	cc                   	int3
428e7b:	cc                   	int3
428e7c:	cc                   	int3
428e7d:	cc                   	int3
428e7e:	cc                   	int3
428e7f:	cc                   	int3
428e80:	8b ff                	mov    %edi,%edi
428e82:	55                   	push   %ebp
428e83:	8b ec                	mov    %esp,%ebp
428e85:	8b 55 0c             	mov    0xc(%ebp),%edx
428e88:	8d 45 14             	lea    0x14(%ebp),%eax
428e8b:	8b 4d 08             	mov    0x8(%ebp),%ecx
428e8e:	50                   	push   %eax
428e8f:	ff 75 10             	push   0x10(%ebp)
428e92:	e8 49 b9 ff ff       	call   0x4247e0
428e97:	5d                   	pop    %ebp
428e98:	c3                   	ret
428e99:	cc                   	int3
428e9a:	cc                   	int3
428e9b:	cc                   	int3
428e9c:	cc                   	int3
428e9d:	cc                   	int3
428e9e:	cc                   	int3
428e9f:	cc                   	int3
428ea0:	8b ff                	mov    %edi,%edi
428ea2:	55                   	push   %ebp
428ea3:	8b ec                	mov    %esp,%ebp
428ea5:	56                   	push   %esi
428ea6:	8b 75 0c             	mov    0xc(%ebp),%esi
428ea9:	d1 ee                	shr    $1,%esi
428eab:	74 28                	je     0x428ed5
428ead:	57                   	push   %edi
428eae:	8b 7d 08             	mov    0x8(%ebp),%edi
428eb1:	8d 45 14             	lea    0x14(%ebp),%eax
428eb4:	50                   	push   %eax
428eb5:	ff 75 10             	push   0x10(%ebp)
428eb8:	4e                   	dec    %esi
428eb9:	56                   	push   %esi
428eba:	57                   	push   %edi
428ebb:	ff 15 fc 22 45 00    	call   *0x4522fc
428ec1:	83 c4 10             	add    $0x10,%esp
428ec4:	85 c0                	test   %eax,%eax
428ec6:	78 06                	js     0x428ece
428ec8:	3b c6                	cmp    %esi,%eax
428eca:	77 02                	ja     0x428ece
428ecc:	75 06                	jne    0x428ed4
428ece:	33 c0                	xor    %eax,%eax
428ed0:	66 89 04 77          	mov    %ax,(%edi,%esi,2)
428ed4:	5f                   	pop    %edi
428ed5:	5e                   	pop    %esi
428ed6:	5d                   	pop    %ebp
428ed7:	c3                   	ret
428ed8:	cc                   	int3
428ed9:	cc                   	int3
428eda:	cc                   	int3
428edb:	cc                   	int3
428edc:	cc                   	int3
428edd:	cc                   	int3
428ede:	cc                   	int3
428edf:	cc                   	int3
428ee0:	8b ff                	mov    %edi,%edi
428ee2:	55                   	push   %ebp
428ee3:	8b ec                	mov    %esp,%ebp
428ee5:	8b 55 0c             	mov    0xc(%ebp),%edx
428ee8:	8d 45 14             	lea    0x14(%ebp),%eax
428eeb:	8b 4d 08             	mov    0x8(%ebp),%ecx
428eee:	50                   	push   %eax
428eef:	ff 75 10             	push   0x10(%ebp)
428ef2:	e8 e9 b8 ff ff       	call   0x4247e0
428ef7:	8b c8                	mov    %eax,%ecx
428ef9:	5d                   	pop    %ebp
428efa:	e9 e1 fd ff ff       	jmp    0x428ce0
428eff:	cc                   	int3
428f00:	8b ff                	mov    %edi,%edi
428f02:	55                   	push   %ebp
428f03:	8b ec                	mov    %esp,%ebp
428f05:	8b 45 0c             	mov    0xc(%ebp),%eax
428f08:	56                   	push   %esi
428f09:	d1 e8                	shr    $1,%eax
428f0b:	8b f0                	mov    %eax,%esi
428f0d:	f7 de                	neg    %esi
428f0f:	1b f6                	sbb    %esi,%esi
428f11:	81 e6 a9 ff f8 7f    	and    $0x7ff8ffa9,%esi
428f17:	81 c6 57 00 07 80    	add    $0x80070057,%esi
428f1d:	85 c0                	test   %eax,%eax
428f1f:	74 44                	je     0x428f65
428f21:	53                   	push   %ebx
428f22:	8b 5d 08             	mov    0x8(%ebp),%ebx
428f25:	33 f6                	xor    %esi,%esi
428f27:	57                   	push   %edi
428f28:	8d 78 ff             	lea    -0x1(%eax),%edi
428f2b:	8d 45 14             	lea    0x14(%ebp),%eax
428f2e:	50                   	push   %eax
428f2f:	ff 75 10             	push   0x10(%ebp)
428f32:	57                   	push   %edi
428f33:	53                   	push   %ebx
428f34:	ff 15 fc 22 45 00    	call   *0x4522fc
428f3a:	83 c4 10             	add    $0x10,%esp
428f3d:	85 c0                	test   %eax,%eax
428f3f:	78 17                	js     0x428f58
428f41:	3b c7                	cmp    %edi,%eax
428f43:	77 13                	ja     0x428f58
428f45:	75 1c                	jne    0x428f63
428f47:	33 c0                	xor    %eax,%eax
428f49:	8b ce                	mov    %esi,%ecx
428f4b:	66 89 04 7b          	mov    %ax,(%ebx,%edi,2)
428f4f:	5f                   	pop    %edi
428f50:	5b                   	pop    %ebx
428f51:	5e                   	pop    %esi
428f52:	5d                   	pop    %ebp
428f53:	e9 88 fd ff ff       	jmp    0x428ce0
428f58:	33 c0                	xor    %eax,%eax
428f5a:	be 7a 00 07 80       	mov    $0x8007007a,%esi
428f5f:	66 89 04 7b          	mov    %ax,(%ebx,%edi,2)
428f63:	5f                   	pop    %edi
428f64:	5b                   	pop    %ebx
428f65:	8b ce                	mov    %esi,%ecx
428f67:	5e                   	pop    %esi
428f68:	5d                   	pop    %ebp
428f69:	e9 72 fd ff ff       	jmp    0x428ce0
428f6e:	cc                   	int3
428f6f:	cc                   	int3
428f70:	8b ff                	mov    %edi,%edi
428f72:	55                   	push   %ebp
428f73:	8b ec                	mov    %esp,%ebp
428f75:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
428f79:	56                   	push   %esi
428f7a:	8b f1                	mov    %ecx,%esi
428f7c:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
428f83:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
428f8a:	c7 06 24 11 40 00    	movl   $0x401124,(%esi)
428f90:	74 19                	je     0x428fab
428f92:	56                   	push   %esi
428f93:	6a 00                	push   $0x0
428f95:	ff 35 00 12 45 00    	push   0x451200
428f9b:	ff 15 18 21 45 00    	call   *0x452118
428fa1:	85 c0                	test   %eax,%eax
428fa3:	75 06                	jne    0x428fab
428fa5:	ff 15 6c 20 45 00    	call   *0x45206c
428fab:	8b c6                	mov    %esi,%eax
428fad:	5e                   	pop    %esi
428fae:	5d                   	pop    %ebp
428faf:	c2 04 00             	ret    $0x4
428fb2:	cc                   	int3
428fb3:	cc                   	int3
428fb4:	cc                   	int3
428fb5:	cc                   	int3
428fb6:	cc                   	int3
428fb7:	cc                   	int3
428fb8:	cc                   	int3
428fb9:	cc                   	int3
428fba:	cc                   	int3
428fbb:	cc                   	int3
428fbc:	cc                   	int3
428fbd:	cc                   	int3
428fbe:	cc                   	int3
428fbf:	cc                   	int3
428fc0:	8b ff                	mov    %edi,%edi
428fc2:	55                   	push   %ebp
428fc3:	8b ec                	mov    %esp,%ebp
428fc5:	83 79 08 00          	cmpl   $0x0,0x8(%ecx)
428fc9:	74 11                	je     0x428fdc
428fcb:	8b 45 08             	mov    0x8(%ebp),%eax
428fce:	85 c0                	test   %eax,%eax
428fd0:	74 0a                	je     0x428fdc
428fd2:	a8 07                	test   $0x7,%al
428fd4:	75 06                	jne    0x428fdc
428fd6:	33 c0                	xor    %eax,%eax
428fd8:	5d                   	pop    %ebp
428fd9:	c2 04 00             	ret    $0x4
428fdc:	b8 01 00 00 00       	mov    $0x1,%eax
428fe1:	5d                   	pop    %ebp
428fe2:	c2 04 00             	ret    $0x4
428fe5:	cc                   	int3
428fe6:	cc                   	int3
428fe7:	cc                   	int3
428fe8:	cc                   	int3
428fe9:	cc                   	int3
428fea:	cc                   	int3
428feb:	cc                   	int3
428fec:	cc                   	int3
428fed:	cc                   	int3
428fee:	cc                   	int3
428fef:	cc                   	int3
428ff0:	8b ff                	mov    %edi,%edi
428ff2:	55                   	push   %ebp
428ff3:	8b ec                	mov    %esp,%ebp
428ff5:	8b 41 08             	mov    0x8(%ecx),%eax
428ff8:	56                   	push   %esi
428ff9:	85 c0                	test   %eax,%eax
428ffb:	74 2e                	je     0x42902b
428ffd:	8b 75 08             	mov    0x8(%ebp),%esi
429000:	3b 71 04             	cmp    0x4(%ecx),%esi
429003:	73 26                	jae    0x42902b
429005:	8b ce                	mov    %esi,%ecx
429007:	b2 01                	mov    $0x1,%dl
429009:	c1 ee 03             	shr    $0x3,%esi
42900c:	83 e1 07             	and    $0x7,%ecx
42900f:	03 f0                	add    %eax,%esi
429011:	d2 e2                	shl    %cl,%dl
429013:	8b 45 0c             	mov    0xc(%ebp),%eax
429016:	f7 d8                	neg    %eax
429018:	1a c0                	sbb    %al,%al
42901a:	22 c2                	and    %dl,%al
42901c:	f6 d2                	not    %dl
42901e:	22 16                	and    (%esi),%dl
429020:	0a c2                	or     %dl,%al
429022:	88 06                	mov    %al,(%esi)
429024:	33 c0                	xor    %eax,%eax
429026:	5e                   	pop    %esi
429027:	5d                   	pop    %ebp
429028:	c2 08 00             	ret    $0x8
42902b:	b8 01 00 00 00       	mov    $0x1,%eax
429030:	5e                   	pop    %esi
429031:	5d                   	pop    %ebp
429032:	c2 08 00             	ret    $0x8
429035:	cc                   	int3
429036:	cc                   	int3
429037:	cc                   	int3
429038:	cc                   	int3
429039:	cc                   	int3
42903a:	cc                   	int3
42903b:	cc                   	int3
42903c:	cc                   	int3
42903d:	cc                   	int3
42903e:	cc                   	int3
42903f:	cc                   	int3
429040:	8b ff                	mov    %edi,%edi
429042:	55                   	push   %ebp
429043:	8b ec                	mov    %esp,%ebp
429045:	56                   	push   %esi