428ed0:	75 37                	jne    0x428f09
428ed2:	0f b7 57 0a          	movzwl 0xa(%edi),%edx
428ed6:	83 c3 f4             	add    $0xfffffff4,%ebx
428ed9:	83 fa 08             	cmp    $0x8,%edx
428edc:	77 0c                	ja     0x428eea
428ede:	83 c8 ff             	or     $0xffffffff,%eax
428ee1:	8a ca                	mov    %dl,%cl
428ee3:	d3 e0                	shl    %cl,%eax
428ee5:	6b c8 03             	imul   $0x3,%eax,%ecx
428ee8:	03 d9                	add    %ecx,%ebx
428eea:	56                   	push   %esi
428eeb:	0f b7 77 04          	movzwl 0x4(%edi),%esi
428eef:	8b c3                	mov    %ebx,%eax
428ef1:	0f af f2             	imul   %edx,%esi
428ef4:	33 d2                	xor    %edx,%edx
428ef6:	83 c6 1f             	add    $0x1f,%esi
428ef9:	c1 ee 03             	shr    $0x3,%esi
428efc:	81 e6 fc ff ff 1f    	and    $0x1ffffffc,%esi
428f02:	f7 f6                	div    %esi
428f04:	5e                   	pop    %esi
428f05:	66 89 47 06          	mov    %ax,0x6(%edi)
428f09:	5f                   	pop    %edi
428f0a:	5b                   	pop    %ebx
428f0b:	c3                   	ret
428f0c:	6a 08                	push   $0x8
428f0e:	b8 09 22 49 00       	mov    $0x492209,%eax
428f13:	e8 bb 75 06 00       	call   0x4904d3
428f18:	8b f9                	mov    %ecx,%edi
428f1a:	8b 57 14             	mov    0x14(%edi),%edx
428f1d:	85 d2                	test   %edx,%edx
428f1f:	0f 84 97 00 00 00    	je     0x428fbc
428f25:	8b 02                	mov    (%edx),%eax
428f27:	ff 75 0c             	push   0xc(%ebp)
428f2a:	52                   	push   %edx
428f2b:	8b 70 24             	mov    0x24(%eax),%esi
428f2e:	8b ce                	mov    %esi,%ecx
428f30:	ff 15 2c 81 4a 00    	call   *0x4a812c
428f36:	ff d6                	call   *%esi
428f38:	8d 4d f0             	lea    -0x10(%ebp),%ecx
428f3b:	ff 15 20 74 4a 00    	call   *0x4a7420
428f41:	8b 45 08             	mov    0x8(%ebp),%eax
428f44:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
428f48:	83 e8 01             	sub    $0x1,%eax
428f4b:	74 19                	je     0x428f66
428f4d:	83 e8 01             	sub    $0x1,%eax
428f50:	74 0d                	je     0x428f5f
428f52:	48                   	dec    %eax
428f53:	83 e8 01             	sub    $0x1,%eax
428f56:	75 1c                	jne    0x428f74
428f58:	68 94 09 00 00       	push   $0x994
428f5d:	eb 0c                	jmp    0x428f6b
428f5f:	68 93 09 00 00       	push   $0x993
428f64:	eb 05                	jmp    0x428f6b
428f66:	68 92 09 00 00       	push   $0x992
428f6b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
428f6e:	ff 15 40 74 4a 00    	call   *0x4a7440
428f74:	8d 4d ec             	lea    -0x14(%ebp),%ecx
428f77:	ff 15 20 74 4a 00    	call   *0x4a7420
428f7d:	ff 75 0c             	push   0xc(%ebp)
428f80:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
428f84:	8d 45 ec             	lea    -0x14(%ebp),%eax
428f87:	ff 75 f0             	push   -0x10(%ebp)
428f8a:	50                   	push   %eax
428f8b:	ff 15 8c 76 4a 00    	call   *0x4a768c
428f91:	8b 47 14             	mov    0x14(%edi),%eax
428f94:	83 c4 0c             	add    $0xc,%esp
428f97:	8b 08                	mov    (%eax),%ecx
428f99:	ff 75 ec             	push   -0x14(%ebp)
428f9c:	50                   	push   %eax
428f9d:	8b 71 20             	mov    0x20(%ecx),%esi
428fa0:	8b ce                	mov    %esi,%ecx
428fa2:	ff 15 2c 81 4a 00    	call   *0x4a812c
428fa8:	ff d6                	call   *%esi
428faa:	8d 4d ec             	lea    -0x14(%ebp),%ecx
428fad:	ff 15 1c 74 4a 00    	call   *0x4a741c
428fb3:	8d 4d f0             	lea    -0x10(%ebp),%ecx
428fb6:	ff 15 1c 74 4a 00    	call   *0x4a741c
428fbc:	e8 e0 74 06 00       	call   0x4904a1
428fc1:	c2 08 00             	ret    $0x8
428fc4:	cc                   	int3
428fc5:	cc                   	int3
428fc6:	cc                   	int3
428fc7:	cc                   	int3
428fc8:	cc                   	int3
428fc9:	cc                   	int3
428fca:	cc                   	int3
428fcb:	cc                   	int3
428fcc:	cc                   	int3
428fcd:	cc                   	int3
428fce:	cc                   	int3
428fcf:	cc                   	int3
428fd0:	8b ff                	mov    %edi,%edi
428fd2:	55                   	push   %ebp
428fd3:	8b ec                	mov    %esp,%ebp
428fd5:	56                   	push   %esi
428fd6:	8b f1                	mov    %ecx,%esi
428fd8:	e8 15 00 00 00       	call   0x428ff2
428fdd:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
428fe1:	74 08                	je     0x428feb
428fe3:	56                   	push   %esi
428fe4:	ff 15 10 74 4a 00    	call   *0x4a7410
428fea:	59                   	pop    %ecx
428feb:	8b c6                	mov    %esi,%eax
428fed:	5e                   	pop    %esi
428fee:	5d                   	pop    %ebp
428fef:	c2 04 00             	ret    $0x4
428ff2:	8b ff                	mov    %edi,%edi
428ff4:	55                   	push   %ebp
428ff5:	8b ec                	mov    %esp,%ebp
428ff7:	6a ff                	push   $0xffffffff
428ff9:	68 de 10 49 00       	push   $0x4910de
428ffe:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
429004:	50                   	push   %eax
429005:	56                   	push   %esi
429006:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
42900b:	33 c5                	xor    %ebp,%eax
42900d:	50                   	push   %eax
42900e:	8d 45 f4             	lea    -0xc(%ebp),%eax
429011:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
429017:	8b f1                	mov    %ecx,%esi
429019:	8b 0d 2c 47 4a 00    	mov    0x4a472c,%ecx
42901f:	c7 06 28 1a 40 00    	movl   $0x401a28,(%esi)
429025:	85 c9                	test   %ecx,%ecx
429027:	74 15                	je     0x42903e
429029:	83 79 20 00          	cmpl   $0x0,0x20(%ecx)
42902d:	74 0f                	je     0x42903e
42902f:	6a 01                	push   $0x1
429031:	68 80 fa 40 00       	push   $0x40fa80
429036:	6a 00                	push   $0x0
429038:	ff 15 34 74 4a 00    	call   *0x4a7434
42903e:	8d 4e 08             	lea    0x8(%esi),%ecx
429041:	ff 15 a4 76 4a 00    	call   *0x4a76a4
429047:	8b 4d f4             	mov    -0xc(%ebp),%ecx
42904a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
429051:	59                   	pop    %ecx
429052:	5e                   	pop    %esi
429053:	c9                   	leave
429054:	c3                   	ret
429055:	cc                   	int3
429056:	cc                   	int3
429057:	cc                   	int3
429058:	cc                   	int3
429059:	cc                   	int3
42905a:	cc                   	int3
42905b:	cc                   	int3
42905c:	cc                   	int3
42905d:	cc                   	int3
42905e:	cc                   	int3
42905f:	cc                   	int3
429060:	8b ff                	mov    %edi,%edi
429062:	55                   	push   %ebp
429063:	8b ec                	mov    %esp,%ebp
429065:	53                   	push   %ebx
429066:	8b 5d 10             	mov    0x10(%ebp),%ebx
429069:	57                   	push   %edi
42906a:	85 db                	test   %ebx,%ebx
42906c:	75 07                	jne    0x429075
42906e:	b8 03 40 00 80       	mov    $0x80004003,%eax
429073:	eb 52                	jmp    0x4290c7
429075:	8b 55 0c             	mov    0xc(%ebp),%edx
429078:	33 c9                	xor    %ecx,%ecx
42907a:	56                   	push   %esi
42907b:	be ec f0 40 00       	mov    $0x40f0ec,%esi
429080:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
429083:	3b 04 8e             	cmp    (%esi,%ecx,4),%eax
429086:	75 08                	jne    0x429090
429088:	41                   	inc    %ecx
429089:	83 f9 04             	cmp    $0x4,%ecx
42908c:	75 f2                	jne    0x429080
42908e:	eb 15                	jmp    0x4290a5
429090:	be ac f1 40 00       	mov    $0x40f1ac,%esi
429095:	33 c9                	xor    %ecx,%ecx
429097:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
42909a:	3b 04 8e             	cmp    (%esi,%ecx,4),%eax
42909d:	75 1f                	jne    0x4290be
42909f:	41                   	inc    %ecx
4290a0:	83 f9 04             	cmp    $0x4,%ecx
4290a3:	75 f2                	jne    0x429097
4290a5:	8b 7d 08             	mov    0x8(%ebp),%edi
4290a8:	57                   	push   %edi
4290a9:	8b 07                	mov    (%edi),%eax
4290ab:	8b 70 04             	mov    0x4(%eax),%esi
4290ae:	8b ce                	mov    %esi,%ecx
4290b0:	ff 15 2c 81 4a 00    	call   *0x4a812c
4290b6:	ff d6                	call   *%esi
4290b8:	89 3b                	mov    %edi,(%ebx)
4290ba:	33 c0                	xor    %eax,%eax
4290bc:	eb 08                	jmp    0x4290c6
4290be:	83 23 00             	andl   $0x0,(%ebx)
4290c1:	b8 02 40 00 80       	mov    $0x80004002,%eax
4290c6:	5e                   	pop    %esi
4290c7:	5f                   	pop    %edi
4290c8:	5b                   	pop    %ebx
4290c9:	5d                   	pop    %ebp
4290ca:	c2 0c 00             	ret    $0xc
4290cd:	cc                   	int3
4290ce:	cc                   	int3
4290cf:	cc                   	int3
4290d0:	8b ff                	mov    %edi,%edi
4290d2:	55                   	push   %ebp
4290d3:	8b ec                	mov    %esp,%ebp
4290d5:	53                   	push   %ebx
4290d6:	57                   	push   %edi
4290d7:	8b 7d 08             	mov    0x8(%ebp),%edi
4290da:	83 cb ff             	or     $0xffffffff,%ebx
4290dd:	f0 0f c1 5f 04       	lock xadd %ebx,0x4(%edi)
4290e2:	4b                   	dec    %ebx
4290e3:	75 19                	jne    0x4290fe
4290e5:	85 ff                	test   %edi,%edi
4290e7:	74 15                	je     0x4290fe
4290e9:	8b 17                	mov    (%edi),%edx
4290eb:	56                   	push   %esi
4290ec:	6a 01                	push   $0x1
4290ee:	8b 72 2c             	mov    0x2c(%edx),%esi
4290f1:	8b ce                	mov    %esi,%ecx
4290f3:	ff 15 2c 81 4a 00    	call   *0x4a812c
4290f9:	8b cf                	mov    %edi,%ecx
4290fb:	ff d6                	call   *%esi
4290fd:	5e                   	pop    %esi
4290fe:	5f                   	pop    %edi
4290ff:	8b c3                	mov    %ebx,%eax
429101:	5b                   	pop    %ebx
429102:	5d                   	pop    %ebp
429103:	c2 04 00             	ret    $0x4
429106:	cc                   	int3
429107:	cc                   	int3
429108:	cc                   	int3
429109:	cc                   	int3
42910a:	cc                   	int3
42910b:	cc                   	int3
42910c:	cc                   	int3
42910d:	cc                   	int3
42910e:	cc                   	int3
42910f:	cc                   	int3
429110:	8b ff                	mov    %edi,%edi
429112:	55                   	push   %ebp
429113:	8b ec                	mov    %esp,%ebp
429115:	83 ec 14             	sub    $0x14,%esp
429118:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
42911d:	33 c5                	xor    %ebp,%eax
42911f:	89 45 fc             	mov    %eax,-0x4(%ebp)
429122:	8b 0d 2c 47 4a 00    	mov    0x4a472c,%ecx
429128:	56                   	push   %esi
429129:	8b 75 08             	mov    0x8(%ebp),%esi
42912c:	85 c9                	test   %ecx,%ecx
42912e:	74 41                	je     0x429171
429130:	83 79 20 00          	cmpl   $0x0,0x20(%ecx)
429134:	74 3b                	je     0x429171
429136:	8d 45 ec             	lea    -0x14(%ebp),%eax
429139:	50                   	push   %eax
42913a:	6a 01                	push   $0x1
42913c:	ff 15 a8 76 4a 00    	call   *0x4a76a8
429142:	6a 01                	push   $0x1
429144:	ff 35 2c 47 4a 00    	push   0x4a472c
42914a:	8d 45 ec             	lea    -0x14(%ebp),%eax
42914d:	50                   	push   %eax
42914e:	68 00 00 00 50       	push   $0x50000000
429153:	8d 4e 08             	lea    0x8(%esi),%ecx
429156:	ff 15 ac 76 4a 00    	call   *0x4a76ac
42915c:	68 00 00 64 00       	push   $0x640000
429161:	6a 00                	push   $0x0
429163:	68 01 04 00 00       	push   $0x401
429168:	ff 76 28             	push   0x28(%esi)
42916b:	ff 15 f8 7d 4a 00    	call   *0x4a7df8
429171:	8b 4d fc             	mov    -0x4(%ebp),%ecx
429174:	33 c0                	xor    %eax,%eax
429176:	33 cd                	xor    %ebp,%ecx
429178:	5e                   	pop    %esi
429179:	e8 82 6d 06 00       	call   0x48ff00
42917e:	c9                   	leave
42917f:	c2 0c 00             	ret    $0xc
429182:	cc                   	int3
429183:	cc                   	int3
429184:	cc                   	int3
429185:	cc                   	int3
429186:	cc                   	int3
429187:	cc                   	int3
429188:	cc                   	int3
429189:	cc                   	int3
42918a:	cc                   	int3
42918b:	cc                   	int3
42918c:	cc                   	int3
42918d:	cc                   	int3
42918e:	cc                   	int3
42918f:	cc                   	int3
429190:	8b ff                	mov    %edi,%edi
429192:	55                   	push   %ebp
429193:	8b ec                	mov    %esp,%ebp
429195:	8b 45 08             	mov    0x8(%ebp),%eax
429198:	ff 70 28             	push   0x28(%eax)
42919b:	ff 15 a0 7d 4a 00    	call   *0x4a7da0
4291a1:	33 c0                	xor    %eax,%eax
4291a3:	5d                   	pop    %ebp
4291a4:	c2 04 00             	ret    $0x4
4291a7:	cc                   	int3
4291a8:	cc                   	int3
4291a9:	cc                   	int3
4291aa:	cc                   	int3
4291ab:	cc                   	int3
4291ac:	cc                   	int3
4291ad:	cc                   	int3
4291ae:	cc                   	int3
4291af:	cc                   	int3
4291b0:	33 c0                	xor    %eax,%eax
4291b2:	c2 04 00             	ret    $0x4
4291b5:	cc                   	int3
4291b6:	cc                   	int3
4291b7:	cc                   	int3
4291b8:	cc                   	int3
4291b9:	cc                   	int3
4291ba:	cc                   	int3
4291bb:	cc                   	int3
4291bc:	cc                   	int3
4291bd:	cc                   	int3
4291be:	cc                   	int3
4291bf:	cc                   	int3
4291c0:	8b ff                	mov    %edi,%edi
4291c2:	55                   	push   %ebp
4291c3:	8b ec                	mov    %esp,%ebp
4291c5:	8b 45 0c             	mov    0xc(%ebp),%eax
4291c8:	83 20 00             	andl   $0x0,(%eax)
4291cb:	33 c0                	xor    %eax,%eax
4291cd:	5d                   	pop    %ebp
4291ce:	c2 08 00             	ret    $0x8
4291d1:	cc                   	int3
4291d2:	cc                   	int3
4291d3:	cc                   	int3
4291d4:	cc                   	int3
4291d5:	cc                   	int3
4291d6:	cc                   	int3
4291d7:	cc                   	int3
4291d8:	cc                   	int3
4291d9:	cc                   	int3
4291da:	cc                   	int3
4291db:	cc                   	int3
4291dc:	cc                   	int3
4291dd:	cc                   	int3
4291de:	cc                   	int3
4291df:	cc                   	int3
4291e0:	8b ff                	mov    %edi,%edi
4291e2:	55                   	push   %ebp
4291e3:	8b ec                	mov    %esp,%ebp
4291e5:	8b 0d 2c 47 4a 00    	mov    0x4a472c,%ecx
4291eb:	85 c9                	test   %ecx,%ecx
4291ed:	74 13                	je     0x429202
4291ef:	83 79 20 00          	cmpl   $0x0,0x20(%ecx)
4291f3:	74 0d                	je     0x429202
4291f5:	6a 01                	push   $0x1
4291f7:	ff 75 0c             	push   0xc(%ebp)
4291fa:	6a 00                	push   $0x0