423d69:	e8 53 64 00 00       	call   0x42a1c1
423d6e:	56                   	push   %esi
423d6f:	ff 37                	push   (%edi)
423d71:	e8 a9 64 00 00       	call   0x42a21f
423d76:	8b 0f                	mov    (%edi),%ecx
423d78:	83 c4 10             	add    $0x10,%esp
423d7b:	8b 81 50 03 00 00    	mov    0x350(%ecx),%eax
423d81:	5e                   	pop    %esi
423d82:	a8 02                	test   $0x2,%al
423d84:	75 0d                	jne    0x423d93
423d86:	83 c8 02             	or     $0x2,%eax
423d89:	89 81 50 03 00 00    	mov    %eax,0x350(%ecx)
423d8f:	c6 47 0c 01          	movb   $0x1,0xc(%edi)
423d93:	8b c7                	mov    %edi,%eax
423d95:	5f                   	pop    %edi
423d96:	5b                   	pop    %ebx
423d97:	5d                   	pop    %ebp
423d98:	c2 04 00             	ret    $0x4
423d9b:	8b ff                	mov    %edi,%edi
423d9d:	55                   	push   %ebp
423d9e:	8b ec                	mov    %esp,%ebp
423da0:	83 ec 18             	sub    $0x18,%esp
423da3:	83 ca ff             	or     $0xffffffff,%edx
423da6:	53                   	push   %ebx
423da7:	8b 5d 08             	mov    0x8(%ebp),%ebx
423daa:	3b da                	cmp    %edx,%ebx
423dac:	0f 84 e2 00 00 00    	je     0x423e94
423db2:	ff 75 0c             	push   0xc(%ebp)
423db5:	8d 4d e8             	lea    -0x18(%ebp),%ecx
423db8:	e8 5c ff ff ff       	call   0x423d19
423dbd:	81 fb 00 01 00 00    	cmp    $0x100,%ebx
423dc3:	73 29                	jae    0x423dee
423dc5:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
423dc9:	8b 45 ec             	mov    -0x14(%ebp),%eax
423dcc:	0f b6 cb             	movzbl %bl,%ecx
423dcf:	8b 80 94 00 00 00    	mov    0x94(%eax),%eax
423dd5:	0f b6 14 08          	movzbl (%eax,%ecx,1),%edx
423dd9:	0f 84 b5 00 00 00    	je     0x423e94
423ddf:	8b 45 e8             	mov    -0x18(%ebp),%eax
423de2:	83 a0 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%eax)
423de9:	e9 a6 00 00 00       	jmp    0x423e94
423dee:	8b 55 ec             	mov    -0x14(%ebp),%edx
423df1:	33 c0                	xor    %eax,%eax
423df3:	88 45 fe             	mov    %al,-0x2(%ebp)
423df6:	83 7a 04 01          	cmpl   $0x1,0x4(%edx)
423dfa:	7e 27                	jle    0x423e23
423dfc:	8b c3                	mov    %ebx,%eax
423dfe:	c1 f8 08             	sar    $0x8,%eax
423e01:	89 45 f8             	mov    %eax,-0x8(%ebp)
423e04:	0f b6 c8             	movzbl %al,%ecx
423e07:	8b 02                	mov    (%edx),%eax
423e09:	57                   	push   %edi
423e0a:	33 ff                	xor    %edi,%edi
423e0c:	66 39 3c 48          	cmp    %di,(%eax,%ecx,2)
423e10:	5f                   	pop    %edi
423e11:	7d 10                	jge    0x423e23
423e13:	8b 45 f8             	mov    -0x8(%ebp),%eax
423e16:	33 c9                	xor    %ecx,%ecx
423e18:	6a 02                	push   $0x2
423e1a:	88 45 fc             	mov    %al,-0x4(%ebp)
423e1d:	88 5d fd             	mov    %bl,-0x3(%ebp)
423e20:	58                   	pop    %eax
423e21:	eb 19                	jmp    0x423e3c
423e23:	e8 08 fc ff ff       	call   0x423a30
423e28:	33 c9                	xor    %ecx,%ecx
423e2a:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
423e30:	33 c0                	xor    %eax,%eax
423e32:	8b 55 ec             	mov    -0x14(%ebp),%edx
423e35:	40                   	inc    %eax
423e36:	88 5d fc             	mov    %bl,-0x4(%ebp)
423e39:	88 4d fd             	mov    %cl,-0x3(%ebp)
423e3c:	6a 01                	push   $0x1
423e3e:	66 89 4d f8          	mov    %cx,-0x8(%ebp)
423e42:	88 4d fa             	mov    %cl,-0x6(%ebp)
423e45:	8d 4d f8             	lea    -0x8(%ebp),%ecx
423e48:	ff 72 08             	push   0x8(%edx)
423e4b:	6a 03                	push   $0x3
423e4d:	51                   	push   %ecx
423e4e:	50                   	push   %eax
423e4f:	8d 45 fc             	lea    -0x4(%ebp),%eax
423e52:	50                   	push   %eax
423e53:	68 00 01 00 00       	push   $0x100
423e58:	ff b2 a8 00 00 00    	push   0xa8(%edx)
423e5e:	8d 45 ec             	lea    -0x14(%ebp),%eax
423e61:	50                   	push   %eax
423e62:	e8 d0 90 00 00       	call   0x42cf37
423e67:	83 c4 24             	add    $0x24,%esp
423e6a:	85 c0                	test   %eax,%eax
423e6c:	75 04                	jne    0x423e72
423e6e:	8b d3                	mov    %ebx,%edx
423e70:	eb 12                	jmp    0x423e84
423e72:	0f b6 55 f8          	movzbl -0x8(%ebp),%edx
423e76:	83 f8 01             	cmp    $0x1,%eax
423e79:	74 09                	je     0x423e84
423e7b:	0f b6 45 f9          	movzbl -0x7(%ebp),%eax
423e7f:	c1 e2 08             	shl    $0x8,%edx
423e82:	0b d0                	or     %eax,%edx
423e84:	80 7d f4 00          	cmpb   $0x0,-0xc(%ebp)
423e88:	74 0a                	je     0x423e94
423e8a:	8b 4d e8             	mov    -0x18(%ebp),%ecx
423e8d:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
423e94:	8b c2                	mov    %edx,%eax
423e96:	5b                   	pop    %ebx
423e97:	c9                   	leave
423e98:	c3                   	ret
423e99:	8b ff                	mov    %edi,%edi
423e9b:	55                   	push   %ebp
423e9c:	8b ec                	mov    %esp,%ebp
423e9e:	83 3d 80 6d 45 00 00 	cmpl   $0x0,0x456d80
423ea5:	74 10                	je     0x423eb7
423ea7:	6a 00                	push   $0x0
423ea9:	ff 75 08             	push   0x8(%ebp)
423eac:	e8 ea fe ff ff       	call   0x423d9b
423eb1:	59                   	pop    %ecx
423eb2:	59                   	pop    %ecx
423eb3:	8b c8                	mov    %eax,%ecx
423eb5:	eb 0e                	jmp    0x423ec5
423eb7:	8b 4d 08             	mov    0x8(%ebp),%ecx
423eba:	8d 41 bf             	lea    -0x41(%ecx),%eax
423ebd:	83 f8 19             	cmp    $0x19,%eax
423ec0:	77 03                	ja     0x423ec5
423ec2:	83 c1 20             	add    $0x20,%ecx
423ec5:	8b c1                	mov    %ecx,%eax
423ec7:	5d                   	pop    %ebp
423ec8:	c3                   	ret
423ec9:	cc                   	int3
423eca:	cc                   	int3
423ecb:	cc                   	int3
423ecc:	cc                   	int3
423ecd:	cc                   	int3
423ece:	cc                   	int3
423ecf:	cc                   	int3
423ed0:	a1 c0 69 45 00       	mov    0x4569c0,%eax
423ed5:	56                   	push   %esi
423ed6:	6a 03                	push   $0x3
423ed8:	5e                   	pop    %esi
423ed9:	85 c0                	test   %eax,%eax
423edb:	75 07                	jne    0x423ee4
423edd:	b8 00 02 00 00       	mov    $0x200,%eax
423ee2:	eb 06                	jmp    0x423eea
423ee4:	3b c6                	cmp    %esi,%eax
423ee6:	7d 07                	jge    0x423eef
423ee8:	8b c6                	mov    %esi,%eax
423eea:	a3 c0 69 45 00       	mov    %eax,0x4569c0
423eef:	6a 04                	push   $0x4
423ef1:	50                   	push   %eax
423ef2:	e8 23 92 00 00       	call   0x42d11a
423ef7:	6a 00                	push   $0x0
423ef9:	a3 c4 69 45 00       	mov    %eax,0x4569c4
423efe:	e8 b7 69 00 00       	call   0x42a8ba
423f03:	83 c4 0c             	add    $0xc,%esp
423f06:	83 3d c4 69 45 00 00 	cmpl   $0x0,0x4569c4
423f0d:	75 2b                	jne    0x423f3a
423f0f:	6a 04                	push   $0x4
423f11:	56                   	push   %esi
423f12:	89 35 c0 69 45 00    	mov    %esi,0x4569c0
423f18:	e8 fd 91 00 00       	call   0x42d11a
423f1d:	6a 00                	push   $0x0
423f1f:	a3 c4 69 45 00       	mov    %eax,0x4569c4
423f24:	e8 91 69 00 00       	call   0x42a8ba
423f29:	83 c4 0c             	add    $0xc,%esp
423f2c:	83 3d c4 69 45 00 00 	cmpl   $0x0,0x4569c4
423f33:	75 05                	jne    0x423f3a
423f35:	83 c8 ff             	or     $0xffffffff,%eax
423f38:	5e                   	pop    %esi
423f39:	c3                   	ret
423f3a:	57                   	push   %edi
423f3b:	33 ff                	xor    %edi,%edi
423f3d:	be 88 50 45 00       	mov    $0x455088,%esi
423f42:	6a 00                	push   $0x0
423f44:	68 a0 0f 00 00       	push   $0xfa0
423f49:	8d 46 20             	lea    0x20(%esi),%eax
423f4c:	50                   	push   %eax
423f4d:	e8 bd 98 00 00       	call   0x42d80f
423f52:	a1 c4 69 45 00       	mov    0x4569c4,%eax
423f57:	8b d7                	mov    %edi,%edx
423f59:	c1 fa 06             	sar    $0x6,%edx
423f5c:	89 34 b8             	mov    %esi,(%eax,%edi,4)
423f5f:	8b c7                	mov    %edi,%eax
423f61:	83 e0 3f             	and    $0x3f,%eax
423f64:	6b c8 38             	imul   $0x38,%eax,%ecx
423f67:	8b 04 95 c0 6d 45 00 	mov    0x456dc0(,%edx,4),%eax
423f6e:	8b 44 08 18          	mov    0x18(%eax,%ecx,1),%eax
423f72:	83 f8 ff             	cmp    $0xffffffff,%eax
423f75:	74 09                	je     0x423f80
423f77:	83 f8 fe             	cmp    $0xfffffffe,%eax
423f7a:	74 04                	je     0x423f80
423f7c:	85 c0                	test   %eax,%eax
423f7e:	75 07                	jne    0x423f87
423f80:	c7 46 10 fe ff ff ff 	movl   $0xfffffffe,0x10(%esi)
423f87:	83 c6 38             	add    $0x38,%esi
423f8a:	47                   	inc    %edi
423f8b:	81 fe 30 51 45 00    	cmp    $0x455130,%esi
423f91:	75 af                	jne    0x423f42
423f93:	5f                   	pop    %edi
423f94:	33 c0                	xor    %eax,%eax
423f96:	5e                   	pop    %esi
423f97:	c3                   	ret
423f98:	cc                   	int3
423f99:	cc                   	int3
423f9a:	cc                   	int3
423f9b:	cc                   	int3
423f9c:	cc                   	int3
423f9d:	cc                   	int3
423f9e:	cc                   	int3
423f9f:	cc                   	int3
423fa0:	8b ff                	mov    %edi,%edi
423fa2:	56                   	push   %esi
423fa3:	e8 68 fd ff ff       	call   0x423d10
423fa8:	e8 59 9a 00 00       	call   0x42da06
423fad:	33 f6                	xor    %esi,%esi
423faf:	a1 c4 69 45 00       	mov    0x4569c4,%eax
423fb4:	ff 34 06             	push   (%esi,%eax,1)
423fb7:	e8 27 81 00 00       	call   0x42c0e3
423fbc:	a1 c4 69 45 00       	mov    0x4569c4,%eax
423fc1:	59                   	pop    %ecx
423fc2:	8b 04 06             	mov    (%esi,%eax,1),%eax
423fc5:	83 c0 20             	add    $0x20,%eax
423fc8:	50                   	push   %eax
423fc9:	ff 15 e8 e0 43 00    	call   *0x43e0e8
423fcf:	83 c6 04             	add    $0x4,%esi
423fd2:	83 fe 0c             	cmp    $0xc,%esi
423fd5:	75 d8                	jne    0x423faf
423fd7:	ff 35 c4 69 45 00    	push   0x4569c4
423fdd:	e8 d8 68 00 00       	call   0x42a8ba
423fe2:	83 25 c4 69 45 00 00 	andl   $0x0,0x4569c4
423fe9:	59                   	pop    %ecx
423fea:	5e                   	pop    %esi
423feb:	c3                   	ret
423fec:	8b ff                	mov    %edi,%edi
423fee:	55                   	push   %ebp
423fef:	8b ec                	mov    %esp,%ebp
423ff1:	8b 45 08             	mov    0x8(%ebp),%eax
423ff4:	83 c0 20             	add    $0x20,%eax
423ff7:	50                   	push   %eax
423ff8:	ff 15 f8 e0 43 00    	call   *0x43e0f8
423ffe:	5d                   	pop    %ebp
423fff:	c3                   	ret
424000:	8b ff                	mov    %edi,%edi
424002:	55                   	push   %ebp
424003:	8b ec                	mov    %esp,%ebp
424005:	8b 45 08             	mov    0x8(%ebp),%eax
424008:	83 c0 20             	add    $0x20,%eax
42400b:	50                   	push   %eax
42400c:	ff 15 fc e0 43 00    	call   *0x43e0fc
424012:	5d                   	pop    %ebp
424013:	c3                   	ret
424014:	cc                   	int3
424015:	cc                   	int3
424016:	cc                   	int3
424017:	cc                   	int3
424018:	cc                   	int3
424019:	cc                   	int3
42401a:	cc                   	int3
42401b:	cc                   	int3
42401c:	cc                   	int3
42401d:	cc                   	int3
42401e:	cc                   	int3
42401f:	cc                   	int3
424020:	53                   	push   %ebx
424021:	56                   	push   %esi
424022:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
424026:	8b 54 24 10          	mov    0x10(%esp),%edx
42402a:	8b 5c 24 14          	mov    0x14(%esp),%ebx
42402e:	f7 c3 ff ff ff ff    	test   $0xffffffff,%ebx
424034:	74 50                	je     0x424086
424036:	2b ca                	sub    %edx,%ecx
424038:	f7 c2 03 00 00 00    	test   $0x3,%edx
42403e:	74 17                	je     0x424057
424040:	0f b6 04 11          	movzbl (%ecx,%edx,1),%eax
424044:	3a 02                	cmp    (%edx),%al
424046:	75 48                	jne    0x424090
424048:	85 c0                	test   %eax,%eax
42404a:	74 3a                	je     0x424086
42404c:	42                   	inc    %edx
42404d:	83 eb 01             	sub    $0x1,%ebx
424050:	76 34                	jbe    0x424086
424052:	f6 c2 03             	test   $0x3,%dl
424055:	75 e9                	jne    0x424040
424057:	8d 04 11             	lea    (%ecx,%edx,1),%eax
42405a:	25 ff 0f 00 00       	and    $0xfff,%eax
42405f:	3d fc 0f 00 00       	cmp    $0xffc,%eax
424064:	77 da                	ja     0x424040
424066:	8b 04 11             	mov    (%ecx,%edx,1),%eax
424069:	3b 02                	cmp    (%edx),%eax
42406b:	75 d3                	jne    0x424040
42406d:	83 eb 04             	sub    $0x4,%ebx
424070:	76 14                	jbe    0x424086
424072:	8d b0 ff fe fe fe    	lea    -0x1010101(%eax),%esi
424078:	83 c2 04             	add    $0x4,%edx
42407b:	f7 d0                	not    %eax
42407d:	23 c6                	and    %esi,%eax
42407f:	a9 80 80 80 80       	test   $0x80808080,%eax
424084:	74 d1                	je     0x424057
424086:	33 c0                	xor    %eax,%eax
424088:	5e                   	pop    %esi
424089:	5b                   	pop    %ebx
42408a:	c3                   	ret
42408b:	eb 03                	jmp    0x424090
42408d:	cc                   	int3
42408e:	cc                   	int3
42408f:	cc                   	int3
424090:	1b c0                	sbb    %eax,%eax
424092:	83 c8 01             	or     $0x1,%eax
424095:	5e                   	pop    %esi
424096:	5b                   	pop    %ebx
424097:	c3                   	ret
424098:	8b ff                	mov    %edi,%edi
42409a:	55                   	push   %ebp
42409b:	8b ec                	mov    %esp,%ebp
42409d:	83 ec 14             	sub    $0x14,%esp
4240a0:	53                   	push   %ebx
4240a1:	8b 5d 10             	mov    0x10(%ebp),%ebx
4240a4:	56                   	push   %esi
4240a5:	57                   	push   %edi
4240a6:	85 db                	test   %ebx,%ebx
4240a8:	74 1d                	je     0x4240c7
4240aa:	8b 75 14             	mov    0x14(%ebp),%esi
4240ad:	85 f6                	test   %esi,%esi
4240af:	74 16                	je     0x4240c7
4240b1:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4240b5:	75 17                	jne    0x4240ce
4240b7:	e8 74 f9 ff ff       	call   0x423a30
4240bc:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
4240c2:	e8 bc b8 ff ff       	call   0x41f983
4240c7:	33 c0                	xor    %eax,%eax
4240c9:	5f                   	pop    %edi
4240ca:	5e                   	pop    %esi
4240cb:	5b                   	pop    %ebx
4240cc:	c9                   	leave
4240cd:	c3                   	ret
4240ce:	8b 4d 18             	mov    0x18(%ebp),%ecx
4240d1:	8b 7d 0c             	mov    0xc(%ebp),%edi
4240d4:	85 c9                	test   %ecx,%ecx
4240d6:	74 0b                	je     0x4240e3
4240d8:	83 c8 ff             	or     $0xffffffff,%eax
4240db:	33 d2                	xor    %edx,%edx
4240dd:	f7 f3                	div    %ebx
4240df:	3b f0                	cmp    %eax,%esi
4240e1:	76 25                	jbe    0x424108
4240e3:	83 ff ff             	cmp    $0xffffffff,%edi
4240e6:	74 11                	je     0x4240f9
4240e8:	57                   	push   %edi
4240e9:	6a 00                	push   $0x0
4240eb:	ff 75 08             	push   0x8(%ebp)
4240ee:	e8 1d 7b ff ff       	call   0x41bc10
4240f3:	8b 4d 18             	mov    0x18(%ebp),%ecx
4240f6:	83 c4 0c             	add    $0xc,%esp
4240f9:	85 c9                	test   %ecx,%ecx
4240fb:	74 ba                	je     0x4240b7