42cdec:	59                   	pop    %ecx
42cded:	85 f6                	test   %esi,%esi
42cdef:	0f 84 25 01 00 00    	je     0x42cf1a
42cdf5:	c7 06 dd dd 00 00    	movl   $0xdddd,(%esi)
42cdfb:	83 c6 08             	add    $0x8,%esi
42cdfe:	85 f6                	test   %esi,%esi
42ce00:	0f 84 14 01 00 00    	je     0x42cf1a
42ce06:	ff 75 f8             	push   -0x8(%ebp)
42ce09:	56                   	push   %esi
42ce0a:	57                   	push   %edi
42ce0b:	ff 75 14             	push   0x14(%ebp)
42ce0e:	6a 01                	push   $0x1
42ce10:	53                   	push   %ebx
42ce11:	e8 fa 4e 00 00       	call   0x431d10
42ce16:	83 c4 18             	add    $0x18,%esp
42ce19:	85 c0                	test   %eax,%eax
42ce1b:	0f 84 f9 00 00 00    	je     0x42cf1a
42ce21:	8b 7d f8             	mov    -0x8(%ebp),%edi
42ce24:	33 c0                	xor    %eax,%eax
42ce26:	50                   	push   %eax
42ce27:	50                   	push   %eax
42ce28:	50                   	push   %eax
42ce29:	50                   	push   %eax
42ce2a:	50                   	push   %eax
42ce2b:	57                   	push   %edi
42ce2c:	56                   	push   %esi
42ce2d:	ff 75 10             	push   0x10(%ebp)
42ce30:	ff 75 0c             	push   0xc(%ebp)
42ce33:	e8 99 0a 00 00       	call   0x42d8d1
42ce38:	8b d8                	mov    %eax,%ebx
42ce3a:	85 db                	test   %ebx,%ebx
42ce3c:	0f 84 d8 00 00 00    	je     0x42cf1a
42ce42:	ba 00 04 00 00       	mov    $0x400,%edx
42ce47:	85 55 10             	test   %edx,0x10(%ebp)
42ce4a:	74 38                	je     0x42ce84
42ce4c:	8b 45 20             	mov    0x20(%ebp),%eax
42ce4f:	85 c0                	test   %eax,%eax
42ce51:	0f 84 c5 00 00 00    	je     0x42cf1c
42ce57:	3b d8                	cmp    %eax,%ebx
42ce59:	0f 8f bb 00 00 00    	jg     0x42cf1a
42ce5f:	33 c9                	xor    %ecx,%ecx
42ce61:	51                   	push   %ecx
42ce62:	51                   	push   %ecx
42ce63:	51                   	push   %ecx
42ce64:	50                   	push   %eax
42ce65:	ff 75 1c             	push   0x1c(%ebp)
42ce68:	57                   	push   %edi
42ce69:	56                   	push   %esi
42ce6a:	ff 75 10             	push   0x10(%ebp)
42ce6d:	ff 75 0c             	push   0xc(%ebp)
42ce70:	e8 5c 0a 00 00       	call   0x42d8d1
42ce75:	8b d8                	mov    %eax,%ebx
42ce77:	85 db                	test   %ebx,%ebx
42ce79:	0f 85 9d 00 00 00    	jne    0x42cf1c
42ce7f:	e9 96 00 00 00       	jmp    0x42cf1a
42ce84:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
42ce87:	8d 48 08             	lea    0x8(%eax),%ecx
42ce8a:	3b c1                	cmp    %ecx,%eax
42ce8c:	1b c0                	sbb    %eax,%eax
42ce8e:	23 c1                	and    %ecx,%eax
42ce90:	74 7b                	je     0x42cf0d
42ce92:	3b c2                	cmp    %edx,%eax
42ce94:	77 13                	ja     0x42cea9
42ce96:	e8 15 d7 fe ff       	call   0x41a5b0
42ce9b:	8b fc                	mov    %esp,%edi
42ce9d:	85 ff                	test   %edi,%edi
42ce9f:	74 6e                	je     0x42cf0f
42cea1:	c7 07 cc cc 00 00    	movl   $0xcccc,(%edi)
42cea7:	eb 13                	jmp    0x42cebc
42cea9:	50                   	push   %eax
42ceaa:	e8 45 da ff ff       	call   0x42a8f4
42ceaf:	8b f8                	mov    %eax,%edi
42ceb1:	59                   	pop    %ecx
42ceb2:	85 ff                	test   %edi,%edi
42ceb4:	74 59                	je     0x42cf0f
42ceb6:	c7 07 dd dd 00 00    	movl   $0xdddd,(%edi)
42cebc:	83 c7 08             	add    $0x8,%edi
42cebf:	85 ff                	test   %edi,%edi
42cec1:	74 4c                	je     0x42cf0f
42cec3:	33 c0                	xor    %eax,%eax
42cec5:	50                   	push   %eax
42cec6:	50                   	push   %eax
42cec7:	50                   	push   %eax
42cec8:	53                   	push   %ebx
42cec9:	57                   	push   %edi
42ceca:	ff 75 f8             	push   -0x8(%ebp)
42cecd:	56                   	push   %esi
42cece:	ff 75 10             	push   0x10(%ebp)
42ced1:	ff 75 0c             	push   0xc(%ebp)
42ced4:	e8 f8 09 00 00       	call   0x42d8d1
42ced9:	85 c0                	test   %eax,%eax
42cedb:	74 32                	je     0x42cf0f
42cedd:	33 c0                	xor    %eax,%eax
42cedf:	50                   	push   %eax
42cee0:	50                   	push   %eax
42cee1:	39 45 20             	cmp    %eax,0x20(%ebp)
42cee4:	75 1f                	jne    0x42cf05
42cee6:	50                   	push   %eax
42cee7:	50                   	push   %eax
42cee8:	53                   	push   %ebx
42cee9:	57                   	push   %edi
42ceea:	50                   	push   %eax
42ceeb:	ff 75 24             	push   0x24(%ebp)
42ceee:	e8 d7 4e 00 00       	call   0x431dca
42cef3:	8b d8                	mov    %eax,%ebx
42cef5:	83 c4 20             	add    $0x20,%esp
42cef8:	85 db                	test   %ebx,%ebx
42cefa:	74 13                	je     0x42cf0f
42cefc:	57                   	push   %edi
42cefd:	e8 dc c9 fe ff       	call   0x4198de
42cf02:	59                   	pop    %ecx
42cf03:	eb 17                	jmp    0x42cf1c
42cf05:	ff 75 20             	push   0x20(%ebp)
42cf08:	ff 75 1c             	push   0x1c(%ebp)
42cf0b:	eb db                	jmp    0x42cee8
42cf0d:	33 ff                	xor    %edi,%edi
42cf0f:	57                   	push   %edi
42cf10:	e8 c9 c9 fe ff       	call   0x4198de
42cf15:	59                   	pop    %ecx
42cf16:	eb 02                	jmp    0x42cf1a
42cf18:	33 f6                	xor    %esi,%esi
42cf1a:	33 db                	xor    %ebx,%ebx
42cf1c:	56                   	push   %esi
42cf1d:	e8 bc c9 fe ff       	call   0x4198de
42cf22:	59                   	pop    %ecx
42cf23:	8b c3                	mov    %ebx,%eax
42cf25:	8d 65 ec             	lea    -0x14(%ebp),%esp
42cf28:	5f                   	pop    %edi
42cf29:	5e                   	pop    %esi
42cf2a:	5b                   	pop    %ebx
42cf2b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
42cf2e:	33 cd                	xor    %ebp,%ecx
42cf30:	e8 75 cc fe ff       	call   0x419baa
42cf35:	c9                   	leave
42cf36:	c3                   	ret
42cf37:	8b ff                	mov    %edi,%edi
42cf39:	55                   	push   %ebp
42cf3a:	8b ec                	mov    %esp,%ebp
42cf3c:	83 ec 10             	sub    $0x10,%esp
42cf3f:	ff 75 08             	push   0x8(%ebp)
42cf42:	8d 4d f0             	lea    -0x10(%ebp),%ecx
42cf45:	e8 cf 6d ff ff       	call   0x423d19
42cf4a:	ff 75 28             	push   0x28(%ebp)
42cf4d:	8d 45 f4             	lea    -0xc(%ebp),%eax
42cf50:	ff 75 24             	push   0x24(%ebp)
42cf53:	ff 75 20             	push   0x20(%ebp)
42cf56:	ff 75 1c             	push   0x1c(%ebp)
42cf59:	ff 75 18             	push   0x18(%ebp)
42cf5c:	ff 75 14             	push   0x14(%ebp)
42cf5f:	ff 75 10             	push   0x10(%ebp)
42cf62:	ff 75 0c             	push   0xc(%ebp)
42cf65:	50                   	push   %eax
42cf66:	e8 dd fd ff ff       	call   0x42cd48
42cf6b:	83 c4 24             	add    $0x24,%esp
42cf6e:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
42cf72:	74 0a                	je     0x42cf7e
42cf74:	8b 4d f0             	mov    -0x10(%ebp),%ecx
42cf77:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
42cf7e:	c9                   	leave
42cf7f:	c3                   	ret
42cf80:	8b ff                	mov    %edi,%edi
42cf82:	55                   	push   %ebp
42cf83:	8b ec                	mov    %esp,%ebp
42cf85:	8b 45 08             	mov    0x8(%ebp),%eax
42cf88:	56                   	push   %esi
42cf89:	85 c0                	test   %eax,%eax
42cf8b:	75 18                	jne    0x42cfa5
42cf8d:	e8 9e 6a ff ff       	call   0x423a30
42cf92:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
42cf98:	e8 e6 29 ff ff       	call   0x41f983
42cf9d:	83 c8 ff             	or     $0xffffffff,%eax
42cfa0:	e9 67 01 00 00       	jmp    0x42d10c
42cfa5:	8b 40 0c             	mov    0xc(%eax),%eax
42cfa8:	53                   	push   %ebx
42cfa9:	90                   	nop
42cfaa:	33 db                	xor    %ebx,%ebx
42cfac:	c1 e8 0d             	shr    $0xd,%eax
42cfaf:	43                   	inc    %ebx
42cfb0:	84 c3                	test   %al,%bl
42cfb2:	0f 84 50 01 00 00    	je     0x42d108
42cfb8:	8b 45 08             	mov    0x8(%ebp),%eax
42cfbb:	8b 40 0c             	mov    0xc(%eax),%eax
42cfbe:	90                   	nop
42cfbf:	c1 e8 0c             	shr    $0xc,%eax
42cfc2:	84 c3                	test   %al,%bl
42cfc4:	0f 85 3e 01 00 00    	jne    0x42d108
42cfca:	8b 45 08             	mov    0x8(%ebp),%eax
42cfcd:	8b 40 0c             	mov    0xc(%eax),%eax
42cfd0:	90                   	nop
42cfd1:	d1 e8                	shr    $1,%eax
42cfd3:	84 c3                	test   %al,%bl
42cfd5:	8b 45 08             	mov    0x8(%ebp),%eax
42cfd8:	74 0e                	je     0x42cfe8
42cfda:	6a 10                	push   $0x10
42cfdc:	59                   	pop    %ecx
42cfdd:	83 c0 0c             	add    $0xc,%eax
42cfe0:	f0 09 08             	lock or %ecx,(%eax)
42cfe3:	e9 20 01 00 00       	jmp    0x42d108
42cfe8:	83 c0 0c             	add    $0xc,%eax
42cfeb:	f0 09 18             	lock or %ebx,(%eax)
42cfee:	8b 45 08             	mov    0x8(%ebp),%eax
42cff1:	8b 40 0c             	mov    0xc(%eax),%eax
42cff4:	90                   	nop
42cff5:	a9 c0 04 00 00       	test   $0x4c0,%eax
42cffa:	75 09                	jne    0x42d005
42cffc:	ff 75 08             	push   0x8(%ebp)
42cfff:	e8 ad 0a 00 00       	call   0x42dab1
42d004:	59                   	pop    %ecx
42d005:	8b 45 08             	mov    0x8(%ebp),%eax
42d008:	57                   	push   %edi
42d009:	8b 48 04             	mov    0x4(%eax),%ecx
42d00c:	89 08                	mov    %ecx,(%eax)
42d00e:	8b 45 08             	mov    0x8(%ebp),%eax
42d011:	50                   	push   %eax
42d012:	8b 70 18             	mov    0x18(%eax),%esi
42d015:	8b 78 04             	mov    0x4(%eax),%edi
42d018:	e8 1b e7 ff ff       	call   0x42b738
42d01d:	56                   	push   %esi
42d01e:	57                   	push   %edi
42d01f:	50                   	push   %eax
42d020:	e8 c4 0f 00 00       	call   0x42dfe9
42d025:	8b 4d 08             	mov    0x8(%ebp),%ecx
42d028:	83 c4 10             	add    $0x10,%esp
42d02b:	89 41 08             	mov    %eax,0x8(%ecx)
42d02e:	8b 45 08             	mov    0x8(%ebp),%eax
42d031:	5f                   	pop    %edi
42d032:	8b 50 08             	mov    0x8(%eax),%edx
42d035:	85 d2                	test   %edx,%edx
42d037:	0f 84 b0 00 00 00    	je     0x42d0ed
42d03d:	83 fa ff             	cmp    $0xffffffff,%edx
42d040:	0f 84 a7 00 00 00    	je     0x42d0ed
42d046:	8b 40 0c             	mov    0xc(%eax),%eax
42d049:	90                   	nop
42d04a:	a8 06                	test   $0x6,%al
42d04c:	75 5e                	jne    0x42d0ac
42d04e:	ff 75 08             	push   0x8(%ebp)
42d051:	e8 e2 e6 ff ff       	call   0x42b738
42d056:	59                   	pop    %ecx
42d057:	83 f8 ff             	cmp    $0xffffffff,%eax
42d05a:	74 36                	je     0x42d092
42d05c:	ff 75 08             	push   0x8(%ebp)
42d05f:	e8 d4 e6 ff ff       	call   0x42b738
42d064:	59                   	pop    %ecx
42d065:	83 f8 fe             	cmp    $0xfffffffe,%eax
42d068:	74 28                	je     0x42d092
42d06a:	ff 75 08             	push   0x8(%ebp)
42d06d:	e8 c6 e6 ff ff       	call   0x42b738
42d072:	ff 75 08             	push   0x8(%ebp)
42d075:	8b f0                	mov    %eax,%esi
42d077:	c1 fe 06             	sar    $0x6,%esi
42d07a:	e8 b9 e6 ff ff       	call   0x42b738
42d07f:	59                   	pop    %ecx
42d080:	83 e0 3f             	and    $0x3f,%eax
42d083:	59                   	pop    %ecx
42d084:	6b c8 38             	imul   $0x38,%eax,%ecx
42d087:	8b 04 b5 c0 6d 45 00 	mov    0x456dc0(,%esi,4),%eax
42d08e:	03 c1                	add    %ecx,%eax
42d090:	eb 05                	jmp    0x42d097
42d092:	b8 78 52 45 00       	mov    $0x455278,%eax
42d097:	8a 40 28             	mov    0x28(%eax),%al
42d09a:	24 82                	and    $0x82,%al
42d09c:	3c 82                	cmp    $0x82,%al
42d09e:	75 0c                	jne    0x42d0ac
42d0a0:	8b 45 08             	mov    0x8(%ebp),%eax
42d0a3:	6a 20                	push   $0x20
42d0a5:	59                   	pop    %ecx
42d0a6:	83 c0 0c             	add    $0xc,%eax
42d0a9:	f0 09 08             	lock or %ecx,(%eax)
42d0ac:	8b 45 08             	mov    0x8(%ebp),%eax
42d0af:	81 78 18 00 02 00 00 	cmpl   $0x200,0x18(%eax)
42d0b6:	75 26                	jne    0x42d0de
42d0b8:	8b 40 0c             	mov    0xc(%eax),%eax
42d0bb:	90                   	nop
42d0bc:	c1 e8 06             	shr    $0x6,%eax
42d0bf:	84 c3                	test   %al,%bl
42d0c1:	74 18                	je     0x42d0db
42d0c3:	8b 45 08             	mov    0x8(%ebp),%eax
42d0c6:	8b 40 0c             	mov    0xc(%eax),%eax
42d0c9:	90                   	nop
42d0ca:	c1 e8 08             	shr    $0x8,%eax
42d0cd:	84 c3                	test   %al,%bl
42d0cf:	75 0a                	jne    0x42d0db
42d0d1:	8b 45 08             	mov    0x8(%ebp),%eax
42d0d4:	c7 40 18 00 10 00 00 	movl   $0x1000,0x18(%eax)
42d0db:	8b 45 08             	mov    0x8(%ebp),%eax
42d0de:	8b 08                	mov    (%eax),%ecx
42d0e0:	ff 48 08             	decl   0x8(%eax)
42d0e3:	8a 11                	mov    (%ecx),%dl
42d0e5:	41                   	inc    %ecx
42d0e6:	89 08                	mov    %ecx,(%eax)
42d0e8:	0f b6 c2             	movzbl %dl,%eax
42d0eb:	eb 1e                	jmp    0x42d10b
42d0ed:	33 c9                	xor    %ecx,%ecx
42d0ef:	85 d2                	test   %edx,%edx
42d0f1:	0f 95 c1             	setne  %cl
42d0f4:	83 c0 0c             	add    $0xc,%eax
42d0f7:	8d 0c cd 08 00 00 00 	lea    0x8(,%ecx,8),%ecx
42d0fe:	f0 09 08             	lock or %ecx,(%eax)
42d101:	8b 4d 08             	mov    0x8(%ebp),%ecx
42d104:	83 61 08 00          	andl   $0x0,0x8(%ecx)
42d108:	83 c8 ff             	or     $0xffffffff,%eax
42d10b:	5b                   	pop    %ebx
42d10c:	5e                   	pop    %esi
42d10d:	5d                   	pop    %ebp
42d10e:	c3                   	ret
42d10f:	8b ff                	mov    %edi,%edi
42d111:	55                   	push   %ebp
42d112:	8b ec                	mov    %esp,%ebp
42d114:	5d                   	pop    %ebp
42d115:	e9 66 fe ff ff       	jmp    0x42cf80
42d11a:	8b ff                	mov    %edi,%edi
42d11c:	55                   	push   %ebp
42d11d:	8b ec                	mov    %esp,%ebp
42d11f:	56                   	push   %esi
42d120:	8b 75 08             	mov    0x8(%ebp),%esi
42d123:	85 f6                	test   %esi,%esi
42d125:	74 0c                	je     0x42d133
42d127:	6a e0                	push   $0xffffffe0
42d129:	33 d2                	xor    %edx,%edx
42d12b:	58                   	pop    %eax
42d12c:	f7 f6                	div    %esi
42d12e:	3b 45 0c             	cmp    0xc(%ebp),%eax
42d131:	72 34                	jb     0x42d167
42d133:	0f af 75 0c          	imul   0xc(%ebp),%esi
42d137:	85 f6                	test   %esi,%esi
42d139:	75 17                	jne    0x42d152
42d13b:	46                   	inc    %esi
42d13c:	eb 14                	jmp    0x42d152
42d13e:	e8 8e c9 ff ff       	call   0x429ad1
42d143:	85 c0                	test   %eax,%eax
42d145:	74 20                	je     0x42d167
42d147:	56                   	push   %esi
42d148:	e8 cf c9 ff ff       	call   0x429b1c
42d14d:	59                   	pop    %ecx
42d14e:	85 c0                	test   %eax,%eax
42d150:	74 15                	je     0x42d167
42d152:	56                   	push   %esi
42d153:	6a 08                	push   $0x8
42d155:	ff 35 a8 71 45 00    	push   0x4571a8
42d15b:	ff 15 4c e0 43 00    	call   *0x43e04c
42d161:	85 c0                	test   %eax,%eax
42d163:	74 d9                	je     0x42d13e
42d165:	eb 0d                	jmp    0x42d174
42d167:	e8 c4 68 ff ff       	call   0x423a30
42d16c:	c7 00 0c 00 00 00    	movl   $0xc,(%eax)
42d172:	33 c0                	xor    %eax,%eax
42d174:	5e                   	pop    %esi
42d175:	5d                   	pop    %ebp
42d176:	c3                   	ret
42d177:	cc                   	int3