403f6b:	e8 2c ff ff ff       	call   0x403e9c
403f70:	58                   	pop    %eax
403f71:	eb 22                	jmp    0x403f95
403f73:	8b 14 30             	mov    (%eax,%esi,1),%edx
403f76:	01 d8                	add    %ebx,%eax
403f78:	e8 93 04 00 00       	call   0x404410
403f7d:	b8 04 00 00 00       	mov    $0x4,%eax
403f82:	eb 11                	jmp    0x403f95
403f84:	89 d1                	mov    %edx,%ecx
403f86:	8b 14 30             	mov    (%eax,%esi,1),%edx
403f89:	01 d8                	add    %ebx,%eax
403f8b:	e8 50 03 00 00       	call   0x4042e0
403f90:	b8 04 00 00 00       	mov    $0x4,%eax
403f95:	03 47 04             	add    0x4(%edi),%eax
403f98:	83 c7 08             	add    $0x8,%edi
403f9b:	4d                   	dec    %ebp
403f9c:	0f 85 14 ff ff ff    	jne    0x403eb6
403fa2:	59                   	pop    %ecx
403fa3:	29 c1                	sub    %eax,%ecx
403fa5:	7e 0a                	jle    0x403fb1
403fa7:	8d 14 18             	lea    (%eax,%ebx,1),%edx
403faa:	01 f0                	add    %esi,%eax
403fac:	e8 93 e9 ff ff       	call   0x402944
403fb1:	5d                   	pop    %ebp
403fb2:	5f                   	pop    %edi
403fb3:	5e                   	pop    %esi
403fb4:	5b                   	pop    %ebx
403fb5:	c3                   	ret
403fb6:	8b c0                	mov    %eax,%eax
403fb8:	53                   	push   %ebx
403fb9:	56                   	push   %esi
403fba:	57                   	push   %edi
403fbb:	55                   	push   %ebp
403fbc:	89 c3                	mov    %eax,%ebx
403fbe:	89 d6                	mov    %edx,%esi
403fc0:	89 cf                	mov    %ecx,%edi
403fc2:	8b 6c 24 14          	mov    0x14(%esp),%ebp
403fc6:	8a 0f                	mov    (%edi),%cl
403fc8:	80 f9 0a             	cmp    $0xa,%cl
403fcb:	74 31                	je     0x403ffe
403fcd:	80 f9 0b             	cmp    $0xb,%cl
403fd0:	74 43                	je     0x404015
403fd2:	80 f9 0c             	cmp    $0xc,%cl
403fd5:	74 52                	je     0x404029
403fd7:	80 f9 0d             	cmp    $0xd,%cl
403fda:	74 61                	je     0x40403d
403fdc:	80 f9 0e             	cmp    $0xe,%cl
403fdf:	74 7d                	je     0x40405e
403fe1:	80 f9 0f             	cmp    $0xf,%cl
403fe4:	0f 84 91 00 00 00    	je     0x40407b
403fea:	80 f9 11             	cmp    $0x11,%cl
403fed:	0f 84 9c 00 00 00    	je     0x40408f
403ff3:	b0 02                	mov    $0x2,%al
403ff5:	5d                   	pop    %ebp
403ff6:	5f                   	pop    %edi
403ff7:	5e                   	pop    %esi
403ff8:	5b                   	pop    %ebx
403ff9:	e9 2a e9 ff ff       	jmp    0x402928
403ffe:	89 d8                	mov    %ebx,%eax
404000:	8b 16                	mov    (%esi),%edx
404002:	e8 e1 f6 ff ff       	call   0x4036e8
404007:	83 c3 04             	add    $0x4,%ebx
40400a:	83 c6 04             	add    $0x4,%esi
40400d:	4d                   	dec    %ebp
40400e:	75 ee                	jne    0x403ffe
404010:	e9 8e 00 00 00       	jmp    0x4040a3
404015:	89 d8                	mov    %ebx,%eax
404017:	8b 16                	mov    (%esi),%edx
404019:	e8 0a fd ff ff       	call   0x403d28
40401e:	83 c3 04             	add    $0x4,%ebx
404021:	83 c6 04             	add    $0x4,%esi
404024:	4d                   	dec    %ebp
404025:	75 ee                	jne    0x404015
404027:	eb 7a                	jmp    0x4040a3
404029:	89 d8                	mov    %ebx,%eax
40402b:	89 f2                	mov    %esi,%edx
40402d:	e8 52 fe ff ff       	call   0x403e84
404032:	83 c3 10             	add    $0x10,%ebx
404035:	83 c6 10             	add    $0x10,%esi
404038:	4d                   	dec    %ebp
404039:	75 ee                	jne    0x404029
40403b:	eb 66                	jmp    0x4040a3
40403d:	31 c9                	xor    %ecx,%ecx
40403f:	8a 4f 01             	mov    0x1(%edi),%cl
404042:	8d 7c 39 02          	lea    0x2(%ecx,%edi,1),%edi
404046:	89 d8                	mov    %ebx,%eax
404048:	89 f2                	mov    %esi,%edx
40404a:	8b 4f 08             	mov    0x8(%edi),%ecx
40404d:	ff 77 04             	push   0x4(%edi)
404050:	e8 63 ff ff ff       	call   0x403fb8
404055:	03 1f                	add    (%edi),%ebx
404057:	03 37                	add    (%edi),%esi
404059:	4d                   	dec    %ebp
40405a:	75 ea                	jne    0x404046
40405c:	eb 45                	jmp    0x4040a3
40405e:	89 d8                	mov    %ebx,%eax
404060:	89 f2                	mov    %esi,%edx
404062:	89 f9                	mov    %edi,%ecx
404064:	e8 33 fe ff ff       	call   0x403e9c
404069:	31 c0                	xor    %eax,%eax
40406b:	8a 47 01             	mov    0x1(%edi),%al
40406e:	03 5c 38 02          	add    0x2(%eax,%edi,1),%ebx
404072:	03 74 38 02          	add    0x2(%eax,%edi,1),%esi
404076:	4d                   	dec    %ebp
404077:	75 e5                	jne    0x40405e
404079:	eb 28                	jmp    0x4040a3
40407b:	89 d8                	mov    %ebx,%eax
40407d:	8b 16                	mov    (%esi),%edx
40407f:	e8 8c 03 00 00       	call   0x404410
404084:	83 c3 04             	add    $0x4,%ebx
404087:	83 c6 04             	add    $0x4,%esi
40408a:	4d                   	dec    %ebp
40408b:	75 ee                	jne    0x40407b
40408d:	eb 14                	jmp    0x4040a3
40408f:	89 d8                	mov    %ebx,%eax
404091:	8b 16                	mov    (%esi),%edx
404093:	89 f9                	mov    %edi,%ecx
404095:	e8 46 02 00 00       	call   0x4042e0
40409a:	83 c3 04             	add    $0x4,%ebx
40409d:	83 c6 04             	add    $0x4,%esi
4040a0:	4d                   	dec    %ebp
4040a1:	75 ec                	jne    0x40408f
4040a3:	5d                   	pop    %ebp
4040a4:	5f                   	pop    %edi
4040a5:	5e                   	pop    %esi
4040a6:	5b                   	pop    %ebx
4040a7:	c2 04 00             	ret    $0x4
4040aa:	c3                   	ret
4040ab:	90                   	nop
4040ac:	e8 03 00 00 00       	call   0x4040b4
4040b1:	c3                   	ret
4040b2:	8b c0                	mov    %eax,%eax
4040b4:	92                   	xchg   %eax,%edx
4040b5:	e8 e6 f7 ff ff       	call   0x4038a0
4040ba:	c3                   	ret
4040bb:	90                   	nop
4040bc:	b0 11                	mov    $0x11,%al
4040be:	e9 65 e8 ff ff       	jmp    0x402928
4040c3:	c3                   	ret
4040c4:	85 c0                	test   %eax,%eax
4040c6:	74 03                	je     0x4040cb
4040c8:	8b 40 fc             	mov    -0x4(%eax),%eax
4040cb:	c3                   	ret
4040cc:	55                   	push   %ebp
4040cd:	8b ec                	mov    %esp,%ebp
4040cf:	ff 75 08             	push   0x8(%ebp)
4040d2:	e8 e1 fe ff ff       	call   0x403fb8
4040d7:	5d                   	pop    %ebp
4040d8:	c2 04 00             	ret    $0x4
4040db:	90                   	nop
4040dc:	e9 b7 fc ff ff       	jmp    0x403d98
4040e1:	c3                   	ret
4040e2:	8b c0                	mov    %eax,%eax
4040e4:	e8 bb 01 00 00       	call   0x4042a4
4040e9:	c3                   	ret
4040ea:	8b c0                	mov    %eax,%eax
4040ec:	55                   	push   %ebp
4040ed:	8b ec                	mov    %esp,%ebp
4040ef:	83 c4 e4             	add    $0xffffffe4,%esp
4040f2:	53                   	push   %ebx
4040f3:	56                   	push   %esi
4040f4:	57                   	push   %edi
4040f5:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4040f8:	89 55 f8             	mov    %edx,-0x8(%ebp)
4040fb:	89 45 fc             	mov    %eax,-0x4(%ebp)
4040fe:	8b 45 fc             	mov    -0x4(%ebp),%eax
404101:	8b 00                	mov    (%eax),%eax
404103:	89 45 e8             	mov    %eax,-0x18(%ebp)
404106:	8b 45 08             	mov    0x8(%ebp),%eax
404109:	8b 18                	mov    (%eax),%ebx
40410b:	85 db                	test   %ebx,%ebx
40410d:	7f 1b                	jg     0x40412a
40410f:	85 db                	test   %ebx,%ebx
404111:	7d 07                	jge    0x40411a
404113:	b0 04                	mov    $0x4,%al
404115:	e8 0e e8 ff ff       	call   0x402928
40411a:	8b 45 fc             	mov    -0x4(%ebp),%eax
40411d:	8b 55 f8             	mov    -0x8(%ebp),%edx
404120:	e8 bf ff ff ff       	call   0x4040e4
404125:	e9 63 01 00 00       	jmp    0x40428d
40412a:	33 ff                	xor    %edi,%edi
40412c:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
404130:	74 0d                	je     0x40413f
404132:	83 6d e8 04          	subl   $0x4,-0x18(%ebp)
404136:	8b 45 e8             	mov    -0x18(%ebp),%eax
404139:	8b 38                	mov    (%eax),%edi
40413b:	83 6d e8 04          	subl   $0x4,-0x18(%ebp)
40413f:	8b 45 f8             	mov    -0x8(%ebp),%eax
404142:	0f b6 40 01          	movzbl 0x1(%eax),%eax
404146:	01 45 f8             	add    %eax,-0x8(%ebp)
404149:	8b 45 f8             	mov    -0x8(%ebp),%eax
40414c:	8b 70 02             	mov    0x2(%eax),%esi
40414f:	8b 50 06             	mov    0x6(%eax),%edx
404152:	85 d2                	test   %edx,%edx
404154:	74 07                	je     0x40415d
404156:	8b 02                	mov    (%edx),%eax
404158:	89 45 f8             	mov    %eax,-0x8(%ebp)
40415b:	eb 05                	jmp    0x404162
40415d:	33 c0                	xor    %eax,%eax
40415f:	89 45 f8             	mov    %eax,-0x8(%ebp)
404162:	8b c3                	mov    %ebx,%eax
404164:	f7 ee                	imul   %esi
404166:	89 45 ec             	mov    %eax,-0x14(%ebp)
404169:	8b 45 ec             	mov    -0x14(%ebp),%eax
40416c:	99                   	cltd
40416d:	f7 fb                	idiv   %ebx
40416f:	3b f0                	cmp    %eax,%esi
404171:	74 07                	je     0x40417a
404173:	b0 04                	mov    $0x4,%al
404175:	e8 ae e7 ff ff       	call   0x402928
40417a:	83 45 ec 08          	addl   $0x8,-0x14(%ebp)
40417e:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
404182:	74 08                	je     0x40418c
404184:	8b 45 e8             	mov    -0x18(%ebp),%eax
404187:	83 38 01             	cmpl   $0x1,(%eax)
40418a:	75 3c                	jne    0x4041c8
40418c:	8b 45 e8             	mov    -0x18(%ebp),%eax
40418f:	89 45 e4             	mov    %eax,-0x1c(%ebp)
404192:	3b fb                	cmp    %ebx,%edi
404194:	7e 1f                	jle    0x4041b5
404196:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
40419a:	74 19                	je     0x4041b5
40419c:	8b 45 e8             	mov    -0x18(%ebp),%eax
40419f:	83 c0 08             	add    $0x8,%eax
4041a2:	8b d3                	mov    %ebx,%edx
4041a4:	0f af d6             	imul   %esi,%edx
4041a7:	03 c2                	add    %edx,%eax
4041a9:	8b cf                	mov    %edi,%ecx
4041ab:	2b cb                	sub    %ebx,%ecx
4041ad:	8b 55 f8             	mov    -0x8(%ebp),%edx
4041b0:	e8 27 ff ff ff       	call   0x4040dc
4041b5:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4041b8:	8b 55 ec             	mov    -0x14(%ebp),%edx
4041bb:	e8 c0 e6 ff ff       	call   0x402880
4041c0:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4041c3:	89 45 e8             	mov    %eax,-0x18(%ebp)
4041c6:	eb 63                	jmp    0x40422b
4041c8:	8b 45 e8             	mov    -0x18(%ebp),%eax
4041cb:	ff 08                	decl   (%eax)
4041cd:	8b 45 ec             	mov    -0x14(%ebp),%eax
4041d0:	e8 5b e6 ff ff       	call   0x402830
4041d5:	89 45 e8             	mov    %eax,-0x18(%ebp)
4041d8:	89 7d f0             	mov    %edi,-0x10(%ebp)
4041db:	3b 5d f0             	cmp    -0x10(%ebp),%ebx
4041de:	7d 03                	jge    0x4041e3
4041e0:	89 5d f0             	mov    %ebx,-0x10(%ebp)
4041e3:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
4041e7:	74 2c                	je     0x404215
4041e9:	8b 55 f0             	mov    -0x10(%ebp),%edx
4041ec:	0f af d6             	imul   %esi,%edx
4041ef:	8b 45 e8             	mov    -0x18(%ebp),%eax
4041f2:	83 c0 08             	add    $0x8,%eax
4041f5:	33 c9                	xor    %ecx,%ecx
4041f7:	e8 98 e8 ff ff       	call   0x402a94
4041fc:	8b 45 f0             	mov    -0x10(%ebp),%eax
4041ff:	50                   	push   %eax
404200:	8b 55 fc             	mov    -0x4(%ebp),%edx
404203:	8b 12                	mov    (%edx),%edx
404205:	8b 45 e8             	mov    -0x18(%ebp),%eax
404208:	83 c0 08             	add    $0x8,%eax
40420b:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40420e:	e8 b9 fe ff ff       	call   0x4040cc
404213:	eb 16                	jmp    0x40422b
404215:	8b 4d f0             	mov    -0x10(%ebp),%ecx
404218:	0f af ce             	imul   %esi,%ecx
40421b:	8b 55 e8             	mov    -0x18(%ebp),%edx
40421e:	83 c2 08             	add    $0x8,%edx
404221:	8b 45 fc             	mov    -0x4(%ebp),%eax
404224:	8b 00                	mov    (%eax),%eax
404226:	e8 19 e7 ff ff       	call   0x402944
40422b:	8b 45 e8             	mov    -0x18(%ebp),%eax
40422e:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
404234:	83 45 e8 04          	addl   $0x4,-0x18(%ebp)
404238:	8b 45 e8             	mov    -0x18(%ebp),%eax
40423b:	89 18                	mov    %ebx,(%eax)
40423d:	83 45 e8 04          	addl   $0x4,-0x18(%ebp)
404241:	8b d3                	mov    %ebx,%edx
404243:	2b d7                	sub    %edi,%edx
404245:	0f af d6             	imul   %esi,%edx
404248:	8b c6                	mov    %esi,%eax
40424a:	0f af c7             	imul   %edi,%eax
40424d:	03 45 e8             	add    -0x18(%ebp),%eax
404250:	33 c9                	xor    %ecx,%ecx
404252:	e8 3d e8 ff ff       	call   0x402a94
404257:	83 7d f4 01          	cmpl   $0x1,-0xc(%ebp)
40425b:	7e 28                	jle    0x404285
40425d:	83 45 08 04          	addl   $0x4,0x8(%ebp)
404261:	ff 4d f4             	decl   -0xc(%ebp)
404264:	4b                   	dec    %ebx
404265:	85 db                	test   %ebx,%ebx
404267:	7c 1c                	jl     0x404285
404269:	43                   	inc    %ebx
40426a:	33 f6                	xor    %esi,%esi
40426c:	8b 45 08             	mov    0x8(%ebp),%eax
40426f:	50                   	push   %eax
404270:	8b 45 e8             	mov    -0x18(%ebp),%eax
404273:	8d 04 b0             	lea    (%eax,%esi,4),%eax
404276:	8b 4d f4             	mov    -0xc(%ebp),%ecx
404279:	8b 55 f8             	mov    -0x8(%ebp),%edx
40427c:	e8 6b fe ff ff       	call   0x4040ec
404281:	46                   	inc    %esi
404282:	4b                   	dec    %ebx
404283:	75 e7                	jne    0x40426c
404285:	8b 45 fc             	mov    -0x4(%ebp),%eax
404288:	8b 55 e8             	mov    -0x18(%ebp),%edx
40428b:	89 10                	mov    %edx,(%eax)
40428d:	5f                   	pop    %edi
40428e:	5e                   	pop    %esi
40428f:	5b                   	pop    %ebx
404290:	8b e5                	mov    %ebp,%esp
404292:	5d                   	pop    %ebp
404293:	c2 04 00             	ret    $0x4
404296:	8b c0                	mov    %eax,%eax
404298:	54                   	push   %esp
404299:	83 04 24 04          	addl   $0x4,(%esp)
40429d:	e8 4a fe ff ff       	call   0x4040ec
4042a2:	c3                   	ret
4042a3:	90                   	nop
4042a4:	8b 08                	mov    (%eax),%ecx
4042a6:	85 c9                	test   %ecx,%ecx
4042a8:	74 33                	je     0x4042dd
4042aa:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
4042b0:	f0 ff 49 f8          	lock decl -0x8(%ecx)
4042b4:	75 27                	jne    0x4042dd
4042b6:	50                   	push   %eax
4042b7:	89 c8                	mov    %ecx,%eax
4042b9:	31 c9                	xor    %ecx,%ecx
4042bb:	8a 4a 01             	mov    0x1(%edx),%cl
4042be:	8b 54 11 06          	mov    0x6(%ecx,%edx,1),%edx
4042c2:	85 d2                	test   %edx,%edx
4042c4:	74 0e                	je     0x4042d4
4042c6:	8b 48 fc             	mov    -0x4(%eax),%ecx
4042c9:	85 c9                	test   %ecx,%ecx
4042cb:	74 07                	je     0x4042d4
4042cd:	8b 12                	mov    (%edx),%edx
4042cf:	e8 c4 fa ff ff       	call   0x403d98
4042d4:	83 e8 08             	sub    $0x8,%eax
4042d7:	e8 84 e5 ff ff       	call   0x402860
4042dc:	58                   	pop    %eax
4042dd:	c3                   	ret
4042de:	8b c0                	mov    %eax,%eax
4042e0:	53                   	push   %ebx
4042e1:	8b 18                	mov    (%eax),%ebx
4042e3:	85 d2                	test   %edx,%edx
4042e5:	74 04                	je     0x4042eb
4042e7:	f0 ff 42 f8          	lock incl -0x8(%edx)
4042eb:	85 db                	test   %ebx,%ebx
4042ed:	74 14                	je     0x404303
4042ef:	f0 ff 4b f8          	lock decl -0x8(%ebx)
4042f3:	75 0e                	jne    0x404303