40df6c:	5e                   	pop    %esi
40df6d:	c9                   	leave
40df6e:	c2 04 00             	ret    $0x4
40df71:	8b ff                	mov    %edi,%edi
40df73:	55                   	push   %ebp
40df74:	8b ec                	mov    %esp,%ebp
40df76:	51                   	push   %ecx
40df77:	8b 45 08             	mov    0x8(%ebp),%eax
40df7a:	56                   	push   %esi
40df7b:	8b f1                	mov    %ecx,%esi
40df7d:	89 75 fc             	mov    %esi,-0x4(%ebp)
40df80:	89 45 fc             	mov    %eax,-0x4(%ebp)
40df83:	8d 45 fc             	lea    -0x4(%ebp),%eax
40df86:	50                   	push   %eax
40df87:	e8 64 06 00 00       	call   0x40e5f0
40df8c:	c7 06 08 10 40 00    	movl   $0x401008,(%esi)
40df92:	8b c6                	mov    %esi,%eax
40df94:	5e                   	pop    %esi
40df95:	c9                   	leave
40df96:	c2 04 00             	ret    $0x4
40df99:	cc                   	int3
40df9a:	cc                   	int3
40df9b:	cc                   	int3
40df9c:	cc                   	int3
40df9d:	cc                   	int3
40df9e:	cc                   	int3
40df9f:	cc                   	int3
40dfa0:	c7 01 00 10 40 00    	movl   $0x401000,(%ecx)
40dfa6:	e9 5b 06 00 00       	jmp    0x40e606
40dfab:	cc                   	int3
40dfac:	cc                   	int3
40dfad:	cc                   	int3
40dfae:	cc                   	int3
40dfaf:	cc                   	int3
40dfb0:	e9 51 06 00 00       	jmp    0x40e606
40dfb5:	cc                   	int3
40dfb6:	cc                   	int3
40dfb7:	cc                   	int3
40dfb8:	cc                   	int3
40dfb9:	cc                   	int3
40dfba:	cc                   	int3
40dfbb:	cc                   	int3
40dfbc:	cc                   	int3
40dfbd:	cc                   	int3
40dfbe:	cc                   	int3
40dfbf:	cc                   	int3
40dfc0:	8b ff                	mov    %edi,%edi
40dfc2:	55                   	push   %ebp
40dfc3:	8b ec                	mov    %esp,%ebp
40dfc5:	56                   	push   %esi
40dfc6:	8b f1                	mov    %ecx,%esi
40dfc8:	c7 06 00 10 40 00    	movl   $0x401000,(%esi)
40dfce:	e8 33 06 00 00       	call   0x40e606
40dfd3:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
40dfd7:	74 07                	je     0x40dfe0
40dfd9:	56                   	push   %esi
40dfda:	e8 8b 04 00 00       	call   0x40e46a
40dfdf:	59                   	pop    %ecx
40dfe0:	8b c6                	mov    %esi,%eax
40dfe2:	5e                   	pop    %esi
40dfe3:	5d                   	pop    %ebp
40dfe4:	c2 04 00             	ret    $0x4
40dfe7:	cc                   	int3
40dfe8:	cc                   	int3
40dfe9:	cc                   	int3
40dfea:	cc                   	int3
40dfeb:	cc                   	int3
40dfec:	cc                   	int3
40dfed:	cc                   	int3
40dfee:	cc                   	int3
40dfef:	cc                   	int3
40dff0:	8b ff                	mov    %edi,%edi
40dff2:	55                   	push   %ebp
40dff3:	8b ec                	mov    %esp,%ebp
40dff5:	56                   	push   %esi
40dff6:	8b f1                	mov    %ecx,%esi
40dff8:	e8 09 06 00 00       	call   0x40e606
40dffd:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
40e001:	74 07                	je     0x40e00a
40e003:	56                   	push   %esi
40e004:	e8 61 04 00 00       	call   0x40e46a
40e009:	59                   	pop    %ecx
40e00a:	8b c6                	mov    %esi,%eax
40e00c:	5e                   	pop    %esi
40e00d:	5d                   	pop    %ebp
40e00e:	c2 04 00             	ret    $0x4
40e011:	8b ff                	mov    %edi,%edi
40e013:	55                   	push   %ebp
40e014:	8b ec                	mov    %esp,%ebp
40e016:	83 ec 0c             	sub    $0xc,%esp
40e019:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40e01c:	e8 00 ff ff ff       	call   0x40df21
40e021:	68 d0 01 41 00       	push   $0x4101d0
40e026:	8d 45 f4             	lea    -0xc(%ebp),%eax
40e029:	50                   	push   %eax
40e02a:	e8 e7 05 00 00       	call   0x40e616
40e02f:	cc                   	int3
40e030:	8b ff                	mov    %edi,%edi
40e032:	55                   	push   %ebp
40e033:	8b ec                	mov    %esp,%ebp
40e035:	83 ec 0c             	sub    $0xc,%esp
40e038:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40e03b:	ff 75 08             	push   0x8(%ebp)
40e03e:	e8 2e ff ff ff       	call   0x40df71
40e043:	68 40 02 41 00       	push   $0x410240
40e048:	8d 45 f4             	lea    -0xc(%ebp),%eax
40e04b:	50                   	push   %eax
40e04c:	e8 c5 05 00 00       	call   0x40e616
40e051:	cc                   	int3
40e052:	8b ff                	mov    %edi,%edi
40e054:	55                   	push   %ebp
40e055:	8b ec                	mov    %esp,%ebp
40e057:	83 ec 0c             	sub    $0xc,%esp
40e05a:	8d 4d f4             	lea    -0xc(%ebp),%ecx
40e05d:	ff 75 08             	push   0x8(%ebp)
40e060:	e8 0c ff ff ff       	call   0x40df71
40e065:	68 7c 02 41 00       	push   $0x41027c
40e06a:	8d 45 f4             	lea    -0xc(%ebp),%eax
40e06d:	50                   	push   %eax
40e06e:	e8 a3 05 00 00       	call   0x40e616
40e073:	cc                   	int3
40e074:	8b ff                	mov    %edi,%edi
40e076:	55                   	push   %ebp
40e077:	8b ec                	mov    %esp,%ebp
40e079:	83 3d 6c 12 40 00 00 	cmpl   $0x0,0x40126c
40e080:	b8 68 12 40 00       	mov    $0x401268,%eax
40e085:	74 10                	je     0x40e097
40e087:	8b 4d 08             	mov    0x8(%ebp),%ecx
40e08a:	39 08                	cmp    %ecx,(%eax)
40e08c:	74 0d                	je     0x40e09b
40e08e:	83 c0 08             	add    $0x8,%eax
40e091:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
40e095:	75 f3                	jne    0x40e08a
40e097:	33 c0                	xor    %eax,%eax
40e099:	5d                   	pop    %ebp
40e09a:	c3                   	ret
40e09b:	8b 40 04             	mov    0x4(%eax),%eax
40e09e:	5d                   	pop    %ebp
40e09f:	c3                   	ret
40e0a0:	8b ff                	mov    %edi,%edi
40e0a2:	55                   	push   %ebp
40e0a3:	8b ec                	mov    %esp,%ebp
40e0a5:	83 3d 14 10 40 00 00 	cmpl   $0x0,0x401014
40e0ac:	b8 10 10 40 00       	mov    $0x401010,%eax
40e0b1:	74 10                	je     0x40e0c3
40e0b3:	8b 4d 08             	mov    0x8(%ebp),%ecx
40e0b6:	39 08                	cmp    %ecx,(%eax)
40e0b8:	74 0d                	je     0x40e0c7
40e0ba:	83 c0 08             	add    $0x8,%eax
40e0bd:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
40e0c1:	75 f3                	jne    0x40e0b6
40e0c3:	33 c0                	xor    %eax,%eax
40e0c5:	5d                   	pop    %ebp
40e0c6:	c3                   	ret
40e0c7:	8b 40 04             	mov    0x4(%eax),%eax
40e0ca:	5d                   	pop    %ebp
40e0cb:	c3                   	ret
40e0cc:	cc                   	int3
40e0cd:	cc                   	int3
40e0ce:	cc                   	int3
40e0cf:	cc                   	int3
40e0d0:	e8 48 02 00 00       	call   0x40e31d
40e0d5:	6a 01                	push   $0x1
40e0d7:	a3 8c 13 41 00       	mov    %eax,0x41138c
40e0dc:	e8 47 07 00 00       	call   0x40e828
40e0e1:	50                   	push   %eax
40e0e2:	ff 15 3c 21 41 00    	call   *0x41213c
40e0e8:	83 0d 24 17 41 00 ff 	orl    $0xffffffff,0x411724
40e0ef:	83 0d 28 17 41 00 ff 	orl    $0xffffffff,0x411728
40e0f6:	59                   	pop    %ecx
40e0f7:	59                   	pop    %ecx
40e0f8:	ff 15 54 21 41 00    	call   *0x412154
40e0fe:	8b 0d c0 16 41 00    	mov    0x4116c0,%ecx
40e104:	89 08                	mov    %ecx,(%eax)
40e106:	ff 15 4c 21 41 00    	call   *0x41214c
40e10c:	8b 0d b4 16 41 00    	mov    0x4116b4,%ecx
40e112:	89 08                	mov    %ecx,(%eax)
40e114:	e8 57 07 00 00       	call   0x40e870
40e119:	83 3d 50 13 41 00 00 	cmpl   $0x0,0x411350
40e120:	75 0c                	jne    0x40e12e
40e122:	68 70 e8 40 00       	push   $0x40e870
40e127:	ff 15 ec 21 41 00    	call   *0x4121ec
40e12d:	59                   	pop    %ecx
40e12e:	e8 2a 09 00 00       	call   0x40ea5d
40e133:	33 c0                	xor    %eax,%eax
40e135:	c3                   	ret
40e136:	cc                   	int3
40e137:	cc                   	int3
40e138:	cc                   	int3
40e139:	cc                   	int3
40e13a:	cc                   	int3
40e13b:	cc                   	int3
40e13c:	cc                   	int3
40e13d:	cc                   	int3
40e13e:	cc                   	int3
40e13f:	cc                   	int3
40e140:	a1 bc 16 41 00       	mov    0x4116bc,%eax
40e145:	68 90 13 41 00       	push   $0x411390
40e14a:	ff 35 b8 16 41 00    	push   0x4116b8
40e150:	a3 90 13 41 00       	mov    %eax,0x411390
40e155:	68 84 13 41 00       	push   $0x411384
40e15a:	68 80 13 41 00       	push   $0x411380
40e15f:	68 7c 13 41 00       	push   $0x41137c
40e164:	ff 15 38 21 41 00    	call   *0x412138
40e16a:	83 c4 14             	add    $0x14,%esp
40e16d:	a3 88 13 41 00       	mov    %eax,0x411388
40e172:	c3                   	ret
40e173:	6a 0c                	push   $0xc
40e175:	68 b8 02 41 00       	push   $0x4102b8
40e17a:	e8 f9 08 00 00       	call   0x40ea78
40e17f:	33 db                	xor    %ebx,%ebx
40e181:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40e184:	64 a1 18 00 00 00    	mov    %fs:0x18,%eax
40e18a:	8b 70 04             	mov    0x4(%eax),%esi
40e18d:	8b fb                	mov    %ebx,%edi
40e18f:	ba 1c 17 41 00       	mov    $0x41171c,%edx
40e194:	8b ce                	mov    %esi,%ecx
40e196:	33 c0                	xor    %eax,%eax
40e198:	f0 0f b1 0a          	lock cmpxchg %ecx,(%edx)
40e19c:	85 c0                	test   %eax,%eax
40e19e:	74 18                	je     0x40e1b8
40e1a0:	3b c6                	cmp    %esi,%eax
40e1a2:	75 07                	jne    0x40e1ab
40e1a4:	33 f6                	xor    %esi,%esi
40e1a6:	46                   	inc    %esi
40e1a7:	8b fe                	mov    %esi,%edi
40e1a9:	eb 10                	jmp    0x40e1bb
40e1ab:	68 e8 03 00 00       	push   $0x3e8
40e1b0:	ff 15 08 21 41 00    	call   *0x412108
40e1b6:	eb d7                	jmp    0x40e18f
40e1b8:	33 f6                	xor    %esi,%esi
40e1ba:	46                   	inc    %esi
40e1bb:	39 35 20 17 41 00    	cmp    %esi,0x411720
40e1c1:	75 0a                	jne    0x40e1cd
40e1c3:	6a 1f                	push   $0x1f
40e1c5:	e8 94 06 00 00       	call   0x40e85e
40e1ca:	59                   	pop    %ecx
40e1cb:	eb 3a                	jmp    0x40e207
40e1cd:	39 1d 20 17 41 00    	cmp    %ebx,0x411720
40e1d3:	75 2c                	jne    0x40e201
40e1d5:	89 35 20 17 41 00    	mov    %esi,0x411720
40e1db:	68 d8 16 40 00       	push   $0x4016d8
40e1e0:	68 cc 16 40 00       	push   $0x4016cc
40e1e5:	e8 02 01 00 00       	call   0x40e2ec
40e1ea:	59                   	pop    %ecx
40e1eb:	59                   	pop    %ecx
40e1ec:	85 c0                	test   %eax,%eax
40e1ee:	74 17                	je     0x40e207
40e1f0:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40e1f7:	b8 ff 00 00 00       	mov    $0xff,%eax
40e1fc:	e9 db 00 00 00       	jmp    0x40e2dc
40e201:	89 35 78 13 41 00    	mov    %esi,0x411378
40e207:	39 35 20 17 41 00    	cmp    %esi,0x411720
40e20d:	75 1b                	jne    0x40e22a
40e20f:	68 c8 16 40 00       	push   $0x4016c8
40e214:	68 b4 16 40 00       	push   $0x4016b4
40e219:	e8 52 08 00 00       	call   0x40ea70
40e21e:	59                   	pop    %ecx
40e21f:	59                   	pop    %ecx
40e220:	c7 05 20 17 41 00 02 	movl   $0x2,0x411720
40e227:	00 00 00
40e22a:	85 ff                	test   %edi,%edi
40e22c:	75 09                	jne    0x40e237
40e22e:	33 c0                	xor    %eax,%eax
40e230:	b9 1c 17 41 00       	mov    $0x41171c,%ecx
40e235:	87 01                	xchg   %eax,(%ecx)
40e237:	83 3d 2c 17 41 00 00 	cmpl   $0x0,0x41172c
40e23e:	74 23                	je     0x40e263
40e240:	68 2c 17 41 00       	push   $0x41172c
40e245:	e8 86 06 00 00       	call   0x40e8d0
40e24a:	59                   	pop    %ecx
40e24b:	85 c0                	test   %eax,%eax
40e24d:	74 14                	je     0x40e263
40e24f:	53                   	push   %ebx
40e250:	6a 02                	push   $0x2
40e252:	53                   	push   %ebx
40e253:	8b 35 2c 17 41 00    	mov    0x41172c,%esi
40e259:	8b ce                	mov    %esi,%ecx
40e25b:	ff 15 10 22 41 00    	call   *0x412210
40e261:	ff d6                	call   *%esi
40e263:	ff 35 84 13 41 00    	push   0x411384
40e269:	ff 35 80 13 41 00    	push   0x411380
40e26f:	ff 35 7c 13 41 00    	push   0x41137c
40e275:	e8 92 7a ff ff       	call   0x405d0c
40e27a:	83 c4 0c             	add    $0xc,%esp
40e27d:	a3 74 13 41 00       	mov    %eax,0x411374
40e282:	83 3d 8c 13 41 00 00 	cmpl   $0x0,0x41138c
40e289:	75 36                	jne    0x40e2c1
40e28b:	50                   	push   %eax
40e28c:	ff 15 40 21 41 00    	call   *0x412140
40e292:	8b 4d ec             	mov    -0x14(%ebp),%ecx
40e295:	8b 01                	mov    (%ecx),%eax
40e297:	8b 00                	mov    (%eax),%eax
40e299:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40e29c:	51                   	push   %ecx
40e29d:	50                   	push   %eax
40e29e:	e8 0b 05 00 00       	call   0x40e7ae
40e2a3:	59                   	pop    %ecx
40e2a4:	59                   	pop    %ecx
40e2a5:	c3                   	ret
40e2a6:	8b 65 e8             	mov    -0x18(%ebp),%esp
40e2a9:	8b 45 e4             	mov    -0x1c(%ebp),%eax
40e2ac:	a3 74 13 41 00       	mov    %eax,0x411374
40e2b1:	83 3d 8c 13 41 00 00 	cmpl   $0x0,0x41138c
40e2b8:	75 07                	jne    0x40e2c1
40e2ba:	50                   	push   %eax
40e2bb:	ff 15 44 21 41 00    	call   *0x412144
40e2c1:	83 3d 78 13 41 00 00 	cmpl   $0x0,0x411378
40e2c8:	75 0b                	jne    0x40e2d5
40e2ca:	ff 15 50 21 41 00    	call   *0x412150
40e2d0:	a1 74 13 41 00       	mov    0x411374,%eax
40e2d5:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40e2dc:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40e2df:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40e2e6:	59                   	pop    %ecx
40e2e7:	5f                   	pop    %edi
40e2e8:	5e                   	pop    %esi
40e2e9:	5b                   	pop    %ebx
40e2ea:	c9                   	leave
40e2eb:	c3                   	ret
40e2ec:	8b ff                	mov    %edi,%edi
40e2ee:	55                   	push   %ebp
40e2ef:	8b ec                	mov    %esp,%ebp
40e2f1:	56                   	push   %esi
40e2f2:	8b 75 08             	mov    0x8(%ebp),%esi
40e2f5:	33 c0                	xor    %eax,%eax
40e2f7:	3b 75 0c             	cmp    0xc(%ebp),%esi
40e2fa:	73 1e                	jae    0x40e31a
40e2fc:	57                   	push   %edi
40e2fd:	85 c0                	test   %eax,%eax
40e2ff:	75 18                	jne    0x40e319
40e301:	8b 3e                	mov    (%esi),%edi
40e303:	85 ff                	test   %edi,%edi
40e305:	74 0a                	je     0x40e311
40e307:	8b cf                	mov    %edi,%ecx
40e309:	ff 15 10 22 41 00    	call   *0x412210
40e30f:	ff d7                	call   *%edi
40e311:	83 c6 04             	add    $0x4,%esi
40e314:	3b 75 0c             	cmp    0xc(%ebp),%esi
40e317:	72 e4                	jb     0x40e2fd
40e319:	5f                   	pop    %edi
40e31a:	5e                   	pop    %esi
40e31b:	5d                   	pop    %ebp
40e31c:	c3                   	ret
40e31d:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
40e322:	66 39 05 00 00 40 00 	cmp    %ax,0x400000
40e329:	75 55                	jne    0x40e380
40e32b:	8b 0d 3c 00 40 00    	mov    0x40003c,%ecx
40e331:	81 b9 00 00 40 00 50 	cmpl   $0x4550,0x400000(%ecx)
40e338:	45 00 00