40317b:	87 01                	xchg   %eax,(%ecx)
40317d:	5d                   	pop    %ebp
40317e:	c3                   	ret
40317f:	55                   	push   %ebp
403180:	8b ec                	mov    %esp,%ebp
403182:	80 3d c8 3a 42 00 00 	cmpb   $0x0,0x423ac8
403189:	74 06                	je     0x403191
40318b:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
40318f:	75 12                	jne    0x4031a3
403191:	ff 75 08             	push   0x8(%ebp)
403194:	e8 5b 60 00 00       	call   0x4091f4
403199:	ff 75 08             	push   0x8(%ebp)
40319c:	e8 2d 14 00 00       	call   0x4045ce
4031a1:	59                   	pop    %ecx
4031a2:	59                   	pop    %ecx
4031a3:	b0 01                	mov    $0x1,%al
4031a5:	5d                   	pop    %ebp
4031a6:	c3                   	ret
4031a7:	55                   	push   %ebp
4031a8:	8b ec                	mov    %esp,%ebp
4031aa:	a1 0c 30 42 00       	mov    0x42300c,%eax
4031af:	8b c8                	mov    %eax,%ecx
4031b1:	33 05 b0 3a 42 00    	xor    0x423ab0,%eax
4031b7:	83 e1 1f             	and    $0x1f,%ecx
4031ba:	ff 75 08             	push   0x8(%ebp)
4031bd:	d3 c8                	ror    %cl,%eax
4031bf:	83 f8 ff             	cmp    $0xffffffff,%eax
4031c2:	75 07                	jne    0x4031cb
4031c4:	e8 91 5e 00 00       	call   0x40905a
4031c9:	eb 0b                	jmp    0x4031d6
4031cb:	68 b0 3a 42 00       	push   $0x423ab0
4031d0:	e8 f5 5e 00 00       	call   0x4090ca
4031d5:	59                   	pop    %ecx
4031d6:	f7 d8                	neg    %eax
4031d8:	59                   	pop    %ecx
4031d9:	1b c0                	sbb    %eax,%eax
4031db:	f7 d0                	not    %eax
4031dd:	23 45 08             	and    0x8(%ebp),%eax
4031e0:	5d                   	pop    %ebp
4031e1:	c3                   	ret
4031e2:	55                   	push   %ebp
4031e3:	8b ec                	mov    %esp,%ebp
4031e5:	ff 75 08             	push   0x8(%ebp)
4031e8:	e8 ba ff ff ff       	call   0x4031a7
4031ed:	f7 d8                	neg    %eax
4031ef:	59                   	pop    %ecx
4031f0:	1b c0                	sbb    %eax,%eax
4031f2:	f7 d8                	neg    %eax
4031f4:	48                   	dec    %eax
4031f5:	5d                   	pop    %ebp
4031f6:	c3                   	ret
4031f7:	55                   	push   %ebp
4031f8:	8b ec                	mov    %esp,%ebp
4031fa:	ff 75 08             	push   0x8(%ebp)
4031fd:	e8 65 fd ff ff       	call   0x402f67
403202:	59                   	pop    %ecx
403203:	5d                   	pop    %ebp
403204:	c3                   	ret
403205:	53                   	push   %ebx
403206:	56                   	push   %esi
403207:	57                   	push   %edi
403208:	6a 00                	push   $0x0
40320a:	68 a0 0f 00 00       	push   $0xfa0
40320f:	68 cc 3a 42 00       	push   $0x423acc
403214:	e8 89 17 00 00       	call   0x4049a2
403219:	83 c4 0c             	add    $0xc,%esp
40321c:	68 50 b2 41 00       	push   $0x41b250
403221:	ff 15 64 b0 41 00    	call   *0x41b064
403227:	8b f0                	mov    %eax,%esi
403229:	85 f6                	test   %esi,%esi
40322b:	0f 84 8c 00 00 00    	je     0x4032bd
403231:	68 6c b2 41 00       	push   $0x41b26c
403236:	56                   	push   %esi
403237:	ff 15 68 b0 41 00    	call   *0x41b068
40323d:	68 88 b2 41 00       	push   $0x41b288
403242:	56                   	push   %esi
403243:	8b d8                	mov    %eax,%ebx
403245:	ff 15 68 b0 41 00    	call   *0x41b068
40324b:	68 a4 b2 41 00       	push   $0x41b2a4
403250:	56                   	push   %esi
403251:	8b f8                	mov    %eax,%edi
403253:	ff 15 68 b0 41 00    	call   *0x41b068
403259:	8b f0                	mov    %eax,%esi
40325b:	85 db                	test   %ebx,%ebx
40325d:	74 37                	je     0x403296
40325f:	85 ff                	test   %edi,%edi
403261:	74 33                	je     0x403296
403263:	85 f6                	test   %esi,%esi
403265:	74 2f                	je     0x403296
403267:	83 25 e8 3a 42 00 00 	andl   $0x0,0x423ae8
40326e:	8b cb                	mov    %ebx,%ecx
403270:	68 e4 3a 42 00       	push   $0x423ae4
403275:	e8 cb 08 00 00       	call   0x403b45
40327a:	ff d3                	call   *%ebx
40327c:	57                   	push   %edi
40327d:	e8 43 00 00 00       	call   0x4032c5
403282:	56                   	push   %esi
403283:	a3 ec 3a 42 00       	mov    %eax,0x423aec
403288:	e8 38 00 00 00       	call   0x4032c5
40328d:	59                   	pop    %ecx
40328e:	59                   	pop    %ecx
40328f:	a3 f0 3a 42 00       	mov    %eax,0x423af0
403294:	eb 16                	jmp    0x4032ac
403296:	33 c0                	xor    %eax,%eax
403298:	50                   	push   %eax
403299:	50                   	push   %eax
40329a:	6a 01                	push   $0x1
40329c:	50                   	push   %eax
40329d:	ff 15 94 b0 41 00    	call   *0x41b094
4032a3:	a3 e8 3a 42 00       	mov    %eax,0x423ae8
4032a8:	85 c0                	test   %eax,%eax
4032aa:	74 11                	je     0x4032bd
4032ac:	68 e2 32 40 00       	push   $0x4032e2
4032b1:	e8 2c ff ff ff       	call   0x4031e2
4032b6:	59                   	pop    %ecx
4032b7:	5f                   	pop    %edi
4032b8:	5e                   	pop    %esi
4032b9:	33 c0                	xor    %eax,%eax
4032bb:	5b                   	pop    %ebx
4032bc:	c3                   	ret
4032bd:	6a 07                	push   $0x7
4032bf:	e8 cd 06 00 00       	call   0x403991
4032c4:	cc                   	int3
4032c5:	55                   	push   %ebp
4032c6:	8b ec                	mov    %esp,%ebp
4032c8:	a1 0c 30 42 00       	mov    0x42300c,%eax
4032cd:	83 e0 1f             	and    $0x1f,%eax
4032d0:	6a 20                	push   $0x20
4032d2:	59                   	pop    %ecx
4032d3:	2b c8                	sub    %eax,%ecx
4032d5:	8b 45 08             	mov    0x8(%ebp),%eax
4032d8:	d3 c8                	ror    %cl,%eax
4032da:	33 05 0c 30 42 00    	xor    0x42300c,%eax
4032e0:	5d                   	pop    %ebp
4032e1:	c3                   	ret
4032e2:	68 cc 3a 42 00       	push   $0x423acc
4032e7:	ff 15 40 b0 41 00    	call   *0x41b040
4032ed:	a1 e8 3a 42 00       	mov    0x423ae8,%eax
4032f2:	85 c0                	test   %eax,%eax
4032f4:	74 07                	je     0x4032fd
4032f6:	50                   	push   %eax
4032f7:	ff 15 8c b0 41 00    	call   *0x41b08c
4032fd:	c3                   	ret
4032fe:	55                   	push   %ebp
4032ff:	8b ec                	mov    %esp,%ebp
403301:	e8 96 00 00 00       	call   0x40339c
403306:	8b 45 08             	mov    0x8(%ebp),%eax
403309:	83 20 00             	andl   $0x0,(%eax)
40330c:	e8 d8 00 00 00       	call   0x4033e9
403311:	5d                   	pop    %ebp
403312:	e9 91 00 00 00       	jmp    0x4033a8
403317:	55                   	push   %ebp
403318:	8b ec                	mov    %esp,%ebp
40331a:	e8 7d 00 00 00       	call   0x40339c
40331f:	8b 0d 04 30 42 00    	mov    0x423004,%ecx
403325:	8b 45 08             	mov    0x8(%ebp),%eax
403328:	41                   	inc    %ecx
403329:	89 0d 04 30 42 00    	mov    %ecx,0x423004
40332f:	89 08                	mov    %ecx,(%eax)
403331:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
403337:	8b 0d 20 3e 42 00    	mov    0x423e20,%ecx
40333d:	8b 0c 88             	mov    (%eax,%ecx,4),%ecx
403340:	a1 04 30 42 00       	mov    0x423004,%eax
403345:	89 81 04 00 00 00    	mov    %eax,0x4(%ecx)
40334b:	e8 99 00 00 00       	call   0x4033e9
403350:	5d                   	pop    %ebp
403351:	e9 52 00 00 00       	jmp    0x4033a8
403356:	55                   	push   %ebp
403357:	8b ec                	mov    %esp,%ebp
403359:	56                   	push   %esi
40335a:	e8 3d 00 00 00       	call   0x40339c
40335f:	8b 75 08             	mov    0x8(%ebp),%esi
403362:	eb 08                	jmp    0x40336c
403364:	6a 64                	push   $0x64
403366:	e8 8a 00 00 00       	call   0x4033f5
40336b:	59                   	pop    %ecx
40336c:	83 3e 00             	cmpl   $0x0,(%esi)
40336f:	74 21                	je     0x403392
403371:	83 3e ff             	cmpl   $0xffffffff,(%esi)
403374:	74 ee                	je     0x403364
403376:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
40337c:	8b 0d 20 3e 42 00    	mov    0x423e20,%ecx
403382:	8b 0c 88             	mov    (%eax,%ecx,4),%ecx
403385:	a1 04 30 42 00       	mov    0x423004,%eax
40338a:	89 81 04 00 00 00    	mov    %eax,0x4(%ecx)
403390:	eb 03                	jmp    0x403395
403392:	83 0e ff             	orl    $0xffffffff,(%esi)
403395:	5e                   	pop    %esi
403396:	5d                   	pop    %ebp
403397:	e9 4d 00 00 00       	jmp    0x4033e9
40339c:	68 cc 3a 42 00       	push   $0x423acc
4033a1:	ff 15 2c b0 41 00    	call   *0x41b02c
4033a7:	c3                   	ret
4033a8:	a1 e8 3a 42 00       	mov    0x423ae8,%eax
4033ad:	85 c0                	test   %eax,%eax
4033af:	75 24                	jne    0x4033d5
4033b1:	56                   	push   %esi
4033b2:	8b 35 0c 30 42 00    	mov    0x42300c,%esi
4033b8:	8b ce                	mov    %esi,%ecx
4033ba:	33 35 f0 3a 42 00    	xor    0x423af0,%esi
4033c0:	83 e1 1f             	and    $0x1f,%ecx
4033c3:	d3 ce                	ror    %cl,%esi
4033c5:	68 e4 3a 42 00       	push   $0x423ae4
4033ca:	8b ce                	mov    %esi,%ecx
4033cc:	e8 74 07 00 00       	call   0x403b45
4033d1:	ff d6                	call   *%esi
4033d3:	5e                   	pop    %esi
4033d4:	c3                   	ret
4033d5:	50                   	push   %eax
4033d6:	ff 15 a4 b0 41 00    	call   *0x41b0a4
4033dc:	ff 35 e8 3a 42 00    	push   0x423ae8
4033e2:	ff 15 98 b0 41 00    	call   *0x41b098
4033e8:	c3                   	ret
4033e9:	68 cc 3a 42 00       	push   $0x423acc
4033ee:	ff 15 34 b0 41 00    	call   *0x41b034
4033f4:	c3                   	ret
4033f5:	55                   	push   %ebp
4033f6:	8b ec                	mov    %esp,%ebp
4033f8:	83 3d e8 3a 42 00 00 	cmpl   $0x0,0x423ae8
4033ff:	56                   	push   %esi
403400:	75 31                	jne    0x403433
403402:	8b 35 0c 30 42 00    	mov    0x42300c,%esi
403408:	8b ce                	mov    %esi,%ecx
40340a:	ff 75 08             	push   0x8(%ebp)
40340d:	33 35 ec 3a 42 00    	xor    0x423aec,%esi
403413:	83 e1 1f             	and    $0x1f,%ecx
403416:	d3 ce                	ror    %cl,%esi
403418:	68 cc 3a 42 00       	push   $0x423acc
40341d:	68 e4 3a 42 00       	push   $0x423ae4
403422:	8b ce                	mov    %esi,%ecx
403424:	e8 1c 07 00 00       	call   0x403b45
403429:	ff d6                	call   *%esi
40342b:	f7 d8                	neg    %eax
40342d:	1b c0                	sbb    %eax,%eax
40342f:	f7 d8                	neg    %eax
403431:	eb 24                	jmp    0x403457
403433:	e8 b1 ff ff ff       	call   0x4033e9
403438:	6a 00                	push   $0x0
40343a:	ff 75 08             	push   0x8(%ebp)
40343d:	ff 35 e8 3a 42 00    	push   0x423ae8
403443:	ff 15 a8 b0 41 00    	call   *0x41b0a8
403449:	8b f0                	mov    %eax,%esi
40344b:	e8 4c ff ff ff       	call   0x40339c
403450:	33 c0                	xor    %eax,%eax
403452:	85 f6                	test   %esi,%esi
403454:	0f 94 c0             	sete   %al
403457:	5e                   	pop    %esi
403458:	5d                   	pop    %ebp
403459:	c3                   	ret
40345a:	55                   	push   %ebp
40345b:	8b ec                	mov    %esp,%ebp
40345d:	eb 1f                	jmp    0x40347e
40345f:	ff 75 08             	push   0x8(%ebp)
403462:	e8 b3 5d 00 00       	call   0x40921a
403467:	59                   	pop    %ecx
403468:	85 c0                	test   %eax,%eax
40346a:	75 12                	jne    0x40347e
40346c:	83 7d 08 ff          	cmpl   $0xffffffff,0x8(%ebp)
403470:	75 07                	jne    0x403479
403472:	e8 84 07 00 00       	call   0x403bfb
403477:	eb 05                	jmp    0x40347e
403479:	e8 60 07 00 00       	call   0x403bde
40347e:	ff 75 08             	push   0x8(%ebp)
403481:	e8 2a 5e 00 00       	call   0x4092b0
403486:	59                   	pop    %ecx
403487:	85 c0                	test   %eax,%eax
403489:	74 d4                	je     0x40345f
40348b:	5d                   	pop    %ebp
40348c:	c3                   	ret
40348d:	56                   	push   %esi
40348e:	6a 01                	push   $0x1
403490:	e8 2c 5e 00 00       	call   0x4092c1
403495:	e8 1d 08 00 00       	call   0x403cb7
40349a:	50                   	push   %eax
40349b:	e8 a7 5f 00 00       	call   0x409447
4034a0:	e8 c9 61 00 00       	call   0x40966e
4034a5:	8b f0                	mov    %eax,%esi
4034a7:	e8 08 08 00 00       	call   0x403cb4
4034ac:	6a 01                	push   $0x1
4034ae:	89 06                	mov    %eax,(%esi)
4034b0:	e8 8c fb ff ff       	call   0x403041
4034b5:	83 c4 0c             	add    $0xc,%esp
4034b8:	5e                   	pop    %esi
4034b9:	84 c0                	test   %al,%al
4034bb:	74 6c                	je     0x403529
4034bd:	db e2                	fnclex
4034bf:	e8 62 08 00 00       	call   0x403d26
4034c4:	68 51 3d 40 00       	push   $0x403d51
4034c9:	e8 14 fd ff ff       	call   0x4031e2
4034ce:	e8 ae 04 00 00       	call   0x403981
4034d3:	50                   	push   %eax
4034d4:	e8 56 53 00 00       	call   0x40882f
4034d9:	59                   	pop    %ecx
4034da:	59                   	pop    %ecx
4034db:	85 c0                	test   %eax,%eax
4034dd:	75 4a                	jne    0x403529
4034df:	e8 d9 07 00 00       	call   0x403cbd
4034e4:	e8 25 08 00 00       	call   0x403d0e
4034e9:	85 c0                	test   %eax,%eax
4034eb:	74 0b                	je     0x4034f8
4034ed:	68 b4 3c 40 00       	push   $0x403cb4
4034f2:	e8 6e 5e 00 00       	call   0x409365
4034f7:	59                   	pop    %ecx
4034f8:	e8 ed 07 00 00       	call   0x403cea
4034fd:	e8 e8 07 00 00       	call   0x403cea
403502:	e8 c2 07 00 00       	call   0x403cc9
403507:	e8 a8 07 00 00       	call   0x403cb4
40350c:	50                   	push   %eax
40350d:	e8 c5 60 00 00       	call   0x4095d7
403512:	59                   	pop    %ecx
403513:	e8 02 5c 00 00       	call   0x40911a
403518:	84 c0                	test   %al,%al
40351a:	74 05                	je     0x403521
40351c:	e8 e1 57 00 00       	call   0x408d02
403521:	e8 8e 07 00 00       	call   0x403cb4
403526:	33 c0                	xor    %eax,%eax
403528:	c3                   	ret
403529:	6a 07                	push   $0x7
40352b:	e8 61 04 00 00       	call   0x403991
403530:	cc                   	int3
403531:	e8 bb 07 00 00       	call   0x403cf1
403536:	33 c0                	xor    %eax,%eax
403538:	c3                   	ret
403539:	e8 b2 05 00 00       	call   0x403af0
40353e:	e8 71 07 00 00       	call   0x403cb4
403543:	50                   	push   %eax
403544:	e8 f6 60 00 00       	call   0x40963f
403549:	59                   	pop    %ecx
40354a:	c3                   	ret
40354b:	6a 14                	push   $0x14
40354d:	68 00 1b 42 00       	push   $0x421b00
403552:	e8 f9 05 00 00       	call   0x403b50
403557:	6a 01                	push   $0x1
403559:	e8 aa fa ff ff       	call   0x403008
40355e:	59                   	pop    %ecx
40355f:	84 c0                	test   %al,%al
403561:	75 07                	jne    0x40356a
403563:	6a 07                	push   $0x7
403565:	e8 27 04 00 00       	call   0x403991
40356a:	32 db                	xor    %bl,%bl
40356c:	88 5d e7             	mov    %bl,-0x19(%ebp)
40356f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
403573:	e8 5b fa ff ff       	call   0x402fd3
403578:	88 45 dc             	mov    %al,-0x24(%ebp)
40357b:	a1 a8 3a 42 00       	mov    0x423aa8,%eax
403580:	33 c9                	xor    %ecx,%ecx
403582:	41                   	inc    %ecx
403583:	3b c1                	cmp    %ecx,%eax
403585:	74 dc                	je     0x403563
403587:	85 c0                	test   %eax,%eax