403054:	cc                   	int3
403055:	cc                   	int3
403056:	cc                   	int3
403057:	cc                   	int3
403058:	cc                   	int3
403059:	cc                   	int3
40305a:	cc                   	int3
40305b:	cc                   	int3
40305c:	cc                   	int3
40305d:	cc                   	int3
40305e:	cc                   	int3
40305f:	cc                   	int3
403060:	6a 00                	push   $0x0
403062:	6a 00                	push   $0x0
403064:	e8 d1 7a 00 00       	call   0x40ab3a
403069:	cc                   	int3
40306a:	cc                   	int3
40306b:	cc                   	int3
40306c:	cc                   	int3
40306d:	cc                   	int3
40306e:	cc                   	int3
40306f:	cc                   	int3
403070:	8b ff                	mov    %edi,%edi
403072:	55                   	push   %ebp
403073:	8b ec                	mov    %esp,%ebp
403075:	83 ec 6c             	sub    $0x6c,%esp
403078:	8d 4d 94             	lea    -0x6c(%ebp),%ecx
40307b:	ff 75 08             	push   0x8(%ebp)
40307e:	e8 85 fe ff ff       	call   0x402f08
403083:	68 e0 c6 40 00       	push   $0x40c6e0
403088:	8d 45 94             	lea    -0x6c(%ebp),%eax
40308b:	50                   	push   %eax
40308c:	e8 a9 7a 00 00       	call   0x40ab3a
403091:	cc                   	int3
403092:	cc                   	int3
403093:	cc                   	int3
403094:	cc                   	int3
403095:	cc                   	int3
403096:	cc                   	int3
403097:	cc                   	int3
403098:	cc                   	int3
403099:	cc                   	int3
40309a:	cc                   	int3
40309b:	cc                   	int3
40309c:	cc                   	int3
40309d:	cc                   	int3
40309e:	cc                   	int3
40309f:	cc                   	int3
4030a0:	8b ff                	mov    %edi,%edi
4030a2:	55                   	push   %ebp
4030a3:	8b ec                	mov    %esp,%ebp
4030a5:	51                   	push   %ecx
4030a6:	53                   	push   %ebx
4030a7:	8b 5d 08             	mov    0x8(%ebp),%ebx
4030aa:	56                   	push   %esi
4030ab:	57                   	push   %edi
4030ac:	8b f1                	mov    %ecx,%esi
4030ae:	53                   	push   %ebx
4030af:	89 75 fc             	mov    %esi,-0x4(%ebp)
4030b2:	e8 89 f4 ff ff       	call   0x402540
4030b7:	8d 56 0c             	lea    0xc(%esi),%edx
4030ba:	c7 06 34 10 40 00    	movl   $0x401034,(%esi)
4030c0:	6a 14                	push   $0x14
4030c2:	8d 43 0c             	lea    0xc(%ebx),%eax
4030c5:	8b fa                	mov    %edx,%edi
4030c7:	59                   	pop    %ecx
4030c8:	8b f0                	mov    %eax,%esi
4030ca:	83 c0 50             	add    $0x50,%eax
4030cd:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4030cf:	50                   	push   %eax
4030d0:	8d 4a 50             	lea    0x50(%edx),%ecx
4030d3:	e8 11 f9 ff ff       	call   0x4029e9
4030d8:	8b 75 fc             	mov    -0x4(%ebp),%esi
4030db:	8d 43 64             	lea    0x64(%ebx),%eax
4030de:	50                   	push   %eax
4030df:	8d 4e 64             	lea    0x64(%esi),%ecx
4030e2:	e8 02 f9 ff ff       	call   0x4029e9
4030e7:	5f                   	pop    %edi
4030e8:	8b c6                	mov    %esi,%eax
4030ea:	5e                   	pop    %esi
4030eb:	5b                   	pop    %ebx
4030ec:	c9                   	leave
4030ed:	c2 04 00             	ret    $0x4
4030f0:	8b ff                	mov    %edi,%edi
4030f2:	55                   	push   %ebp
4030f3:	8b ec                	mov    %esp,%ebp
4030f5:	83 ec 20             	sub    $0x20,%esp
4030f8:	8b 45 08             	mov    0x8(%ebp),%eax
4030fb:	89 45 f8             	mov    %eax,-0x8(%ebp)
4030fe:	8b 45 0c             	mov    0xc(%ebp),%eax
403101:	89 45 f0             	mov    %eax,-0x10(%ebp)
403104:	8b 45 10             	mov    0x10(%ebp),%eax
403107:	89 45 f4             	mov    %eax,-0xc(%ebp)
40310a:	8b 45 14             	mov    0x14(%ebp),%eax
40310d:	53                   	push   %ebx
40310e:	8b 5d 28             	mov    0x28(%ebp),%ebx
403111:	89 45 ec             	mov    %eax,-0x14(%ebp)
403114:	8b 45 30             	mov    0x30(%ebp),%eax
403117:	56                   	push   %esi
403118:	8b 75 38             	mov    0x38(%ebp),%esi
40311b:	57                   	push   %edi
40311c:	33 ff                	xor    %edi,%edi
40311e:	89 45 e0             	mov    %eax,-0x20(%ebp)
403121:	66 89 3b             	mov    %di,(%ebx)
403124:	c6 00 00             	movb   $0x0,(%eax)
403127:	33 c0                	xor    %eax,%eax
403129:	89 45 fc             	mov    %eax,-0x4(%ebp)
40312c:	8b 45 18             	mov    0x18(%ebp),%eax
40312f:	2b c7                	sub    %edi,%eax
403131:	89 55 e8             	mov    %edx,-0x18(%ebp)
403134:	8b 7d 1c             	mov    0x1c(%ebp),%edi
403137:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
40313a:	74 46                	je     0x403182
40313c:	83 e8 01             	sub    $0x1,%eax
40313f:	74 38                	je     0x403179
403141:	83 e8 01             	sub    $0x1,%eax
403144:	74 0d                	je     0x403153
403146:	83 e8 01             	sub    $0x1,%eax
403149:	75 41                	jne    0x40318c
40314b:	57                   	push   %edi
40314c:	e8 9f f9 ff ff       	call   0x402af0
403151:	eb 36                	jmp    0x403189
403153:	85 ff                	test   %edi,%edi
403155:	78 19                	js     0x403170
403157:	bf 9c 02 07 80       	mov    $0x8007029c,%edi
40315c:	57                   	push   %edi
40315d:	6a 02                	push   $0x2
40315f:	ff 75 ec             	push   -0x14(%ebp)
403162:	ff 75 f4             	push   -0xc(%ebp)
403165:	ff 75 f0             	push   -0x10(%ebp)
403168:	ff 75 f8             	push   -0x8(%ebp)
40316b:	e8 fe 02 00 00       	call   0x40346e
403170:	8b cf                	mov    %edi,%ecx
403172:	e8 64 f9 ff ff       	call   0x402adb
403177:	eb 10                	jmp    0x403189
403179:	8b cf                	mov    %edi,%ecx
40317b:	e8 48 f9 ff ff       	call   0x402ac8
403180:	eb 07                	jmp    0x403189
403182:	8b cf                	mov    %edi,%ecx
403184:	e8 2c f9 ff ff       	call   0x402ab5
403189:	89 45 fc             	mov    %eax,-0x4(%ebp)
40318c:	8b 45 18             	mov    0x18(%ebp),%eax
40318f:	89 06                	mov    %eax,(%esi)
403191:	33 c0                	xor    %eax,%eax
403193:	89 7e 04             	mov    %edi,0x4(%esi)
403196:	40                   	inc    %eax
403197:	f0 0f c1 05 bc d5 40 	lock xadd %eax,0x40d5bc
40319e:	00
40319f:	40                   	inc    %eax
4031a0:	89 46 08             	mov    %eax,0x8(%esi)
4031a3:	8b 45 20             	mov    0x20(%ebp),%eax
4031a6:	85 c0                	test   %eax,%eax
4031a8:	74 07                	je     0x4031b1
4031aa:	33 c9                	xor    %ecx,%ecx
4031ac:	66 39 08             	cmp    %cx,(%eax)
4031af:	75 02                	jne    0x4031b3
4031b1:	33 c0                	xor    %eax,%eax
4031b3:	89 46 0c             	mov    %eax,0xc(%esi)
4031b6:	ff 15 b4 e0 40 00    	call   *0x40e0b4
4031bc:	89 46 10             	mov    %eax,0x10(%esi)
4031bf:	8d 7e 2c             	lea    0x2c(%esi),%edi
4031c2:	8b 45 f8             	mov    -0x8(%ebp),%eax
4031c5:	33 d2                	xor    %edx,%edx
4031c7:	89 46 1c             	mov    %eax,0x1c(%esi)
4031ca:	8b 45 e8             	mov    -0x18(%ebp),%eax
4031cd:	89 46 20             	mov    %eax,0x20(%esi)
4031d0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4031d3:	89 46 24             	mov    %eax,0x24(%esi)
4031d6:	8b 45 f4             	mov    -0xc(%ebp),%eax
4031d9:	89 46 14             	mov    %eax,0x14(%esi)
4031dc:	8b 45 f0             	mov    -0x10(%ebp),%eax
4031df:	89 46 18             	mov    %eax,0x18(%esi)
4031e2:	8b 45 ec             	mov    -0x14(%ebp),%eax
4031e5:	89 46 48             	mov    %eax,0x48(%esi)
4031e8:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4031eb:	89 46 4c             	mov    %eax,0x4c(%esi)
4031ee:	33 c0                	xor    %eax,%eax
4031f0:	6a 06                	push   $0x6
4031f2:	59                   	pop    %ecx
4031f3:	89 56 28             	mov    %edx,0x28(%esi)
4031f6:	f3 ab                	rep stos %eax,%es:(%edi)
4031f8:	8b 3d 40 d5 40 00    	mov    0x40d540,%edi
4031fe:	85 ff                	test   %edi,%edi
403200:	74 0a                	je     0x40320c
403202:	8b cf                	mov    %edi,%ecx
403204:	ff 15 f0 e1 40 00    	call   *0x40e1f0
40320a:	ff d7                	call   *%edi
40320c:	8b 3d 1c d5 40 00    	mov    0x40d51c,%edi
403212:	89 46 44             	mov    %eax,0x44(%esi)
403215:	85 ff                	test   %edi,%edi
403217:	74 13                	je     0x40322c
403219:	68 00 04 00 00       	push   $0x400
40321e:	ff 75 e0             	push   -0x20(%ebp)
403221:	8b cf                	mov    %edi,%ecx
403223:	56                   	push   %esi
403224:	ff 15 f0 e1 40 00    	call   *0x40e1f0
40322a:	ff d7                	call   *%edi
40322c:	8b 3d 14 d5 40 00    	mov    0x40d514,%edi
403232:	85 ff                	test   %edi,%edi
403234:	74 0b                	je     0x403241
403236:	56                   	push   %esi
403237:	8b cf                	mov    %edi,%ecx
403239:	ff 15 f0 e1 40 00    	call   *0x40e1f0
40323f:	ff d7                	call   *%edi
403241:	8b 3d 30 d5 40 00    	mov    0x40d530,%edi
403247:	85 ff                	test   %edi,%edi
403249:	74 0b                	je     0x403256
40324b:	56                   	push   %esi
40324c:	8b cf                	mov    %edi,%ecx
40324e:	ff 15 f0 e1 40 00    	call   *0x40e1f0
403254:	ff d7                	call   *%edi
403256:	33 c0                	xor    %eax,%eax
403258:	39 46 04             	cmp    %eax,0x4(%esi)
40325b:	7c 11                	jl     0x40326e
40325d:	83 7d 18 03          	cmpl   $0x3,0x18(%ebp)
403261:	0f 85 bc 00 00 00    	jne    0x403323
403267:	c7 46 04 ff ff 00 80 	movl   $0x8000ffff,0x4(%esi)
40326e:	38 05 fc d4 40 00    	cmp    %al,0x40d4fc
403274:	75 4a                	jne    0x4032c0
403276:	8b 3d f4 d4 40 00    	mov    0x40d4f4,%edi
40327c:	85 ff                	test   %edi,%edi
40327e:	74 0f                	je     0x40328f
403280:	8b cf                	mov    %edi,%ecx
403282:	ff 15 f0 e1 40 00    	call   *0x40e1f0
403288:	ff d7                	call   *%edi
40328a:	0f b6 c0             	movzbl %al,%eax
40328d:	eb 0c                	jmp    0x40329b
40328f:	ff 15 30 e0 40 00    	call   *0x40e030
403295:	f7 d8                	neg    %eax
403297:	1b c0                	sbb    %eax,%eax
403299:	f7 d8                	neg    %eax
40329b:	85 c0                	test   %eax,%eax
40329d:	75 21                	jne    0x4032c0
40329f:	8b 3d 00 d5 40 00    	mov    0x40d500,%edi
4032a5:	85 ff                	test   %edi,%edi
4032a7:	74 56                	je     0x4032ff
4032a9:	38 05 0c d5 40 00    	cmp    %al,0x40d50c
4032af:	75 4e                	jne    0x4032ff
4032b1:	50                   	push   %eax
4032b2:	50                   	push   %eax
4032b3:	56                   	push   %esi
4032b4:	8b cf                	mov    %edi,%ecx
4032b6:	ff 15 f0 e1 40 00    	call   *0x40e1f0
4032bc:	ff d7                	call   *%edi
4032be:	eb 3f                	jmp    0x4032ff
4032c0:	8b 3d 00 d5 40 00    	mov    0x40d500,%edi
4032c6:	85 ff                	test   %edi,%edi
4032c8:	74 1a                	je     0x4032e4
4032ca:	80 3d 0c d5 40 00 00 	cmpb   $0x0,0x40d50c
4032d1:	75 11                	jne    0x4032e4
4032d3:	68 00 08 00 00       	push   $0x800
4032d8:	53                   	push   %ebx
4032d9:	56                   	push   %esi
4032da:	8b cf                	mov    %edi,%ecx
4032dc:	ff 15 f0 e1 40 00    	call   *0x40e1f0
4032e2:	ff d7                	call   *%edi
4032e4:	33 c0                	xor    %eax,%eax
4032e6:	66 39 03             	cmp    %ax,(%ebx)
4032e9:	75 0d                	jne    0x4032f8
4032eb:	56                   	push   %esi
4032ec:	ba 00 08 00 00       	mov    $0x800,%edx
4032f1:	8b cb                	mov    %ebx,%ecx
4032f3:	e8 ad f4 ff ff       	call   0x4027a5
4032f8:	53                   	push   %ebx
4032f9:	ff 15 34 e0 40 00    	call   *0x40e034
4032ff:	80 3d 04 d5 40 00 00 	cmpb   $0x0,0x40d504
403306:	74 14                	je     0x40331c
403308:	8b 35 24 d5 40 00    	mov    0x40d524,%esi
40330e:	85 f6                	test   %esi,%esi
403310:	74 0a                	je     0x40331c
403312:	8b ce                	mov    %esi,%ecx
403314:	ff 15 f0 e1 40 00    	call   *0x40e1f0
40331a:	ff d6                	call   *%esi
40331c:	5f                   	pop    %edi
40331d:	5e                   	pop    %esi
40331e:	5b                   	pop    %ebx
40331f:	c9                   	leave
403320:	c2 34 00             	ret    $0x34
403323:	e8 7c 02 00 00       	call   0x4035a4
403328:	cc                   	int3
403329:	8b ff                	mov    %edi,%edi
40332b:	55                   	push   %ebp
40332c:	8b ec                	mov    %esp,%ebp
40332e:	83 ec 50             	sub    $0x50,%esp
403331:	56                   	push   %esi
403332:	57                   	push   %edi
403333:	8b 3d 44 d5 40 00    	mov    0x40d544,%edi
403339:	8b f1                	mov    %ecx,%esi
40333b:	85 ff                	test   %edi,%edi
40333d:	74 0b                	je     0x40334a
40333f:	56                   	push   %esi
403340:	8b cf                	mov    %edi,%ecx
403342:	ff 15 f0 e1 40 00    	call   *0x40e1f0
403348:	ff d7                	call   *%edi
40334a:	6a 50                	push   $0x50
40334c:	8d 45 b0             	lea    -0x50(%ebp),%eax
40334f:	6a 00                	push   $0x0
403351:	50                   	push   %eax
403352:	e8 54 75 00 00       	call   0x40a8ab
403357:	8b 4e 48             	mov    0x48(%esi),%ecx
40335a:	33 c0                	xor    %eax,%eax
40335c:	40                   	inc    %eax
40335d:	c7 45 b0 09 04 00 c0 	movl   $0xc0000409,-0x50(%ebp)
403364:	83 c4 0c             	add    $0xc,%esp
403367:	89 45 c0             	mov    %eax,-0x40(%ebp)
40336a:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40336d:	c7 45 c4 07 00 00 00 	movl   $0x7,-0x3c(%ebp)
403374:	85 c9                	test   %ecx,%ecx
403376:	75 09                	jne    0x403381
403378:	50                   	push   %eax
403379:	8d 4d b0             	lea    -0x50(%ebp),%ecx
40337c:	e8 83 f7 ff ff       	call   0x402b04
403381:	8b 46 04             	mov    0x4(%esi),%eax
403384:	89 45 c8             	mov    %eax,-0x38(%ebp)
403387:	8b 46 20             	mov    0x20(%esi),%eax
40338a:	c7 45 c0 03 00 00 00 	movl   $0x3,-0x40(%ebp)
403391:	89 45 cc             	mov    %eax,-0x34(%ebp)
403394:	89 4d bc             	mov    %ecx,-0x44(%ebp)
403397:	6a 00                	push   $0x0
403399:	eb de                	jmp    0x403379
40339b:	8b ff                	mov    %edi,%edi
40339d:	55                   	push   %ebp
40339e:	8b ec                	mov    %esp,%ebp
4033a0:	83 e4 f8             	and    $0xfffffff8,%esp
4033a3:	b8 64 14 00 00       	mov    $0x1464,%eax
4033a8:	e8 e3 78 00 00       	call   0x40ac90
4033ad:	a1 50 d1 40 00       	mov    0x40d150,%eax
4033b2:	33 c4                	xor    %esp,%eax
4033b4:	89 84 24 60 14 00 00 	mov    %eax,0x1460(%esp)
4033bb:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
4033bf:	8b 45 08             	mov    0x8(%ebp),%eax
4033c2:	53                   	push   %ebx
4033c3:	8b 5d 10             	mov    0x10(%ebp),%ebx
4033c6:	56                   	push   %esi
4033c7:	89 5c 24 10          	mov    %ebx,0x10(%esp)
4033cb:	8b 5d 14             	mov    0x14(%ebp),%ebx
4033ce:	57                   	push   %edi
4033cf:	8b 7d 0c             	mov    0xc(%ebp),%edi
4033d2:	89 5c 24 10          	mov    %ebx,0x10(%esp)
4033d6:	75 0d                	jne    0x4033e5
4033d8:	83 3d 28 d5 40 00 00 	cmpl   $0x0,0x40d528
4033df:	74 04                	je     0x4033e5
4033e1:	b3 01                	mov    $0x1,%bl
4033e3:	eb 02                	jmp    0x4033e7
4033e5:	32 db                	xor    %bl,%bl
4033e7:	8d 74 24 18          	lea    0x18(%esp),%esi
4033eb:	56                   	push   %esi
4033ec:	51                   	push   %ecx
4033ed:	8d 74 24 70          	lea    0x70(%esp),%esi
4033f1:	56                   	push   %esi