40a109:	83 ec 04             	sub    $0x4,%esp
40a10c:	db 0c 24             	fisttpl (%esp)
40a10f:	58                   	pop    %eax
40a110:	c3                   	ret
40a111:	55                   	push   %ebp
40a112:	8b ec                	mov    %esp,%ebp
40a114:	83 c4 f0             	add    $0xfffffff0,%esp
40a117:	83 e4 f0             	and    $0xfffffff0,%esp
40a11a:	d9 c0                	fld    %st(0)
40a11c:	db 3c 24             	fstpt  (%esp)
40a11f:	8b 44 24 04          	mov    0x4(%esp),%eax
40a123:	0f b7 4c 24 08       	movzwl 0x8(%esp),%ecx
40a128:	0f ba f1 0f          	btr    $0xf,%ecx
40a12c:	1b d2                	sbb    %edx,%edx
40a12e:	66 81 f9 ff 3f       	cmp    $0x3fff,%cx
40a133:	72 1f                	jb     0x40a154
40a135:	85 c0                	test   %eax,%eax
40a137:	79 36                	jns    0x40a16f
40a139:	66 81 f9 1e 40       	cmp    $0x401e,%cx
40a13e:	73 1c                	jae    0x40a15c
40a140:	66 f7 d9             	neg    %cx
40a143:	66 81 c1 3e 40       	add    $0x403e,%cx
40a148:	d9 fc                	frndint
40a14a:	dd d8                	fstp   %st(0)
40a14c:	d3 e8                	shr    %cl,%eax
40a14e:	33 c2                	xor    %edx,%eax
40a150:	2b c2                	sub    %edx,%eax
40a152:	c9                   	leave
40a153:	c3                   	ret
40a154:	d9 fc                	frndint
40a156:	dd d8                	fstp   %st(0)
40a158:	33 c0                	xor    %eax,%eax
40a15a:	c9                   	leave
40a15b:	c3                   	ret
40a15c:	77 11                	ja     0x40a16f
40a15e:	85 d2                	test   %edx,%edx
40a160:	79 0d                	jns    0x40a16f
40a162:	3d 00 00 00 80       	cmp    $0x80000000,%eax
40a167:	75 06                	jne    0x40a16f
40a169:	d9 fc                	frndint
40a16b:	dd d8                	fstp   %st(0)
40a16d:	c9                   	leave
40a16e:	c3                   	ret
40a16f:	d8 1d 08 18 43 00    	fcomps 0x431808
40a175:	c9                   	leave
40a176:	b8 00 00 00 80       	mov    $0x80000000,%eax
40a17b:	c3                   	ret
40a17c:	55                   	push   %ebp
40a17d:	8b ec                	mov    %esp,%ebp
40a17f:	83 ec 14             	sub    $0x14,%esp
40a182:	8d 45 f4             	lea    -0xc(%ebp),%eax
40a185:	0f 57 c0             	xorps  %xmm0,%xmm0
40a188:	50                   	push   %eax
40a189:	66 0f 13 45 f4       	movlpd %xmm0,-0xc(%ebp)
40a18e:	ff 15 30 11 43 00    	call   *0x431130
40a194:	8b 45 f8             	mov    -0x8(%ebp),%eax
40a197:	33 45 f4             	xor    -0xc(%ebp),%eax
40a19a:	89 45 fc             	mov    %eax,-0x4(%ebp)
40a19d:	ff 15 08 10 43 00    	call   *0x431008
40a1a3:	31 45 fc             	xor    %eax,-0x4(%ebp)
40a1a6:	ff 15 20 11 43 00    	call   *0x431120
40a1ac:	31 45 fc             	xor    %eax,-0x4(%ebp)
40a1af:	8d 45 ec             	lea    -0x14(%ebp),%eax
40a1b2:	50                   	push   %eax
40a1b3:	ff 15 8c 11 43 00    	call   *0x43118c
40a1b9:	8b 45 f0             	mov    -0x10(%ebp),%eax
40a1bc:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40a1bf:	33 45 ec             	xor    -0x14(%ebp),%eax
40a1c2:	33 45 fc             	xor    -0x4(%ebp),%eax
40a1c5:	33 c1                	xor    %ecx,%eax
40a1c7:	c9                   	leave
40a1c8:	c3                   	ret
40a1c9:	8b 0d c0 d0 43 00    	mov    0x43d0c0,%ecx
40a1cf:	56                   	push   %esi
40a1d0:	57                   	push   %edi
40a1d1:	bf 4e e6 40 bb       	mov    $0xbb40e64e,%edi
40a1d6:	be 00 00 ff ff       	mov    $0xffff0000,%esi
40a1db:	3b cf                	cmp    %edi,%ecx
40a1dd:	74 04                	je     0x40a1e3
40a1df:	85 ce                	test   %ecx,%esi
40a1e1:	75 26                	jne    0x40a209
40a1e3:	e8 94 ff ff ff       	call   0x40a17c
40a1e8:	8b c8                	mov    %eax,%ecx
40a1ea:	3b cf                	cmp    %edi,%ecx
40a1ec:	75 07                	jne    0x40a1f5
40a1ee:	b9 4f e6 40 bb       	mov    $0xbb40e64f,%ecx
40a1f3:	eb 0e                	jmp    0x40a203
40a1f5:	85 ce                	test   %ecx,%esi
40a1f7:	75 0a                	jne    0x40a203
40a1f9:	0d 11 47 00 00       	or     $0x4711,%eax
40a1fe:	c1 e0 10             	shl    $0x10,%eax
40a201:	0b c8                	or     %eax,%ecx
40a203:	89 0d c0 d0 43 00    	mov    %ecx,0x43d0c0
40a209:	f7 d1                	not    %ecx
40a20b:	5f                   	pop    %edi
40a20c:	89 0d 00 d1 43 00    	mov    %ecx,0x43d100
40a212:	5e                   	pop    %esi
40a213:	c3                   	ret
40a214:	b8 00 40 00 00       	mov    $0x4000,%eax
40a219:	c3                   	ret
40a21a:	68 a0 f2 43 00       	push   $0x43f2a0
40a21f:	ff 15 90 11 43 00    	call   *0x431190
40a225:	c3                   	ret
40a226:	68 00 00 03 00       	push   $0x30000
40a22b:	68 00 00 01 00       	push   $0x10000
40a230:	6a 00                	push   $0x0
40a232:	e8 bf 1b 01 00       	call   0x41bdf6
40a237:	83 c4 0c             	add    $0xc,%esp
40a23a:	85 c0                	test   %eax,%eax
40a23c:	75 01                	jne    0x40a23f
40a23e:	c3                   	ret
40a23f:	6a 07                	push   $0x7
40a241:	e8 36 00 00 00       	call   0x40a27c
40a246:	cc                   	int3
40a247:	e8 5c 85 ff ff       	call   0x4027a8
40a24c:	8b 48 04             	mov    0x4(%eax),%ecx
40a24f:	83 08 24             	orl    $0x24,(%eax)
40a252:	89 48 04             	mov    %ecx,0x4(%eax)
40a255:	e8 04 95 ff ff       	call   0x40375e
40a25a:	8b 48 04             	mov    0x4(%eax),%ecx
40a25d:	83 08 02             	orl    $0x2,(%eax)
40a260:	89 48 04             	mov    %ecx,0x4(%eax)
40a263:	c3                   	ret
40a264:	33 c0                	xor    %eax,%eax
40a266:	39 05 90 d0 43 00    	cmp    %eax,0x43d090
40a26c:	0f 94 c0             	sete   %al
40a26f:	c3                   	ret
40a270:	b8 c4 ff 43 00       	mov    $0x43ffc4,%eax
40a275:	c3                   	ret
40a276:	b8 c0 ff 43 00       	mov    $0x43ffc0,%eax
40a27b:	c3                   	ret
40a27c:	55                   	push   %ebp
40a27d:	8b ec                	mov    %esp,%ebp
40a27f:	81 ec 24 03 00 00    	sub    $0x324,%esp
40a285:	56                   	push   %esi
40a286:	6a 17                	push   $0x17
40a288:	ff 15 a4 11 43 00    	call   *0x4311a4
40a28e:	85 c0                	test   %eax,%eax
40a290:	74 05                	je     0x40a297
40a292:	8b 4d 08             	mov    0x8(%ebp),%ecx
40a295:	cd 29                	int    $0x29
40a297:	6a 03                	push   $0x3
40a299:	e8 cc 01 00 00       	call   0x40a46a
40a29e:	c7 04 24 cc 02 00 00 	movl   $0x2cc,(%esp)
40a2a5:	8d 85 dc fc ff ff    	lea    -0x324(%ebp),%eax
40a2ab:	6a 00                	push   $0x0
40a2ad:	50                   	push   %eax
40a2ae:	e8 0d 11 00 00       	call   0x40b3c0
40a2b3:	83 c4 0c             	add    $0xc,%esp
40a2b6:	89 85 8c fd ff ff    	mov    %eax,-0x274(%ebp)
40a2bc:	89 8d 88 fd ff ff    	mov    %ecx,-0x278(%ebp)
40a2c2:	89 95 84 fd ff ff    	mov    %edx,-0x27c(%ebp)
40a2c8:	89 9d 80 fd ff ff    	mov    %ebx,-0x280(%ebp)
40a2ce:	89 b5 7c fd ff ff    	mov    %esi,-0x284(%ebp)
40a2d4:	89 bd 78 fd ff ff    	mov    %edi,-0x288(%ebp)
40a2da:	66 8c 95 a4 fd ff ff 	data16 mov %ss,-0x25c(%ebp)
40a2e1:	66 8c 8d 98 fd ff ff 	data16 mov %cs,-0x268(%ebp)
40a2e8:	66 8c 9d 74 fd ff ff 	data16 mov %ds,-0x28c(%ebp)
40a2ef:	66 8c 85 70 fd ff ff 	data16 mov %es,-0x290(%ebp)
40a2f6:	66 8c a5 6c fd ff ff 	data16 mov %fs,-0x294(%ebp)
40a2fd:	66 8c ad 68 fd ff ff 	data16 mov %gs,-0x298(%ebp)
40a304:	9c                   	pushf
40a305:	8f 85 9c fd ff ff    	pop    -0x264(%ebp)
40a30b:	8b 45 04             	mov    0x4(%ebp),%eax
40a30e:	89 85 94 fd ff ff    	mov    %eax,-0x26c(%ebp)
40a314:	8d 45 04             	lea    0x4(%ebp),%eax
40a317:	89 85 a0 fd ff ff    	mov    %eax,-0x260(%ebp)
40a31d:	c7 85 dc fc ff ff 01 	movl   $0x10001,-0x324(%ebp)
40a324:	00 01 00
40a327:	8b 40 fc             	mov    -0x4(%eax),%eax
40a32a:	6a 50                	push   $0x50
40a32c:	89 85 90 fd ff ff    	mov    %eax,-0x270(%ebp)
40a332:	8d 45 a8             	lea    -0x58(%ebp),%eax
40a335:	6a 00                	push   $0x0
40a337:	50                   	push   %eax
40a338:	e8 83 10 00 00       	call   0x40b3c0
40a33d:	8b 45 04             	mov    0x4(%ebp),%eax
40a340:	83 c4 0c             	add    $0xc,%esp
40a343:	c7 45 a8 15 00 00 40 	movl   $0x40000015,-0x58(%ebp)
40a34a:	c7 45 ac 01 00 00 00 	movl   $0x1,-0x54(%ebp)
40a351:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40a354:	ff 15 94 11 43 00    	call   *0x431194
40a35a:	8b f0                	mov    %eax,%esi
40a35c:	8d 45 a8             	lea    -0x58(%ebp),%eax
40a35f:	89 45 f8             	mov    %eax,-0x8(%ebp)
40a362:	8d 85 dc fc ff ff    	lea    -0x324(%ebp),%eax
40a368:	6a 00                	push   $0x0
40a36a:	89 45 fc             	mov    %eax,-0x4(%ebp)
40a36d:	ff 15 9c 11 43 00    	call   *0x43119c
40a373:	8d 45 f8             	lea    -0x8(%ebp),%eax
40a376:	50                   	push   %eax
40a377:	ff 15 98 11 43 00    	call   *0x431198
40a37d:	85 c0                	test   %eax,%eax
40a37f:	75 0d                	jne    0x40a38e
40a381:	83 fe 01             	cmp    $0x1,%esi
40a384:	74 08                	je     0x40a38e
40a386:	6a 03                	push   $0x3
40a388:	e8 dd 00 00 00       	call   0x40a46a
40a38d:	59                   	pop    %ecx
40a38e:	5e                   	pop    %esi
40a38f:	c9                   	leave
40a390:	c3                   	ret
40a391:	55                   	push   %ebp
40a392:	8b ec                	mov    %esp,%ebp
40a394:	83 ec 44             	sub    $0x44,%esp
40a397:	6a 44                	push   $0x44
40a399:	8d 45 bc             	lea    -0x44(%ebp),%eax
40a39c:	6a 00                	push   $0x0
40a39e:	50                   	push   %eax
40a39f:	e8 1c 10 00 00       	call   0x40b3c0
40a3a4:	83 c4 0c             	add    $0xc,%esp
40a3a7:	8d 45 bc             	lea    -0x44(%ebp),%eax
40a3aa:	50                   	push   %eax
40a3ab:	ff 15 a0 11 43 00    	call   *0x4311a0
40a3b1:	f6 45 e8 01          	testb  $0x1,-0x18(%ebp)
40a3b5:	0f b7 4d ec          	movzwl -0x14(%ebp),%ecx
40a3b9:	6a 0a                	push   $0xa
40a3bb:	58                   	pop    %eax
40a3bc:	0f 45 c1             	cmovne %ecx,%eax
40a3bf:	c9                   	leave
40a3c0:	c3                   	ret
40a3c1:	e9 24 b6 ff ff       	jmp    0x4059ea
40a3c6:	6a 00                	push   $0x0
40a3c8:	ff 15 a8 11 43 00    	call   *0x4311a8
40a3ce:	85 c0                	test   %eax,%eax
40a3d0:	74 33                	je     0x40a405
40a3d2:	b9 4d 5a 00 00       	mov    $0x5a4d,%ecx
40a3d7:	66 39 08             	cmp    %cx,(%eax)
40a3da:	75 29                	jne    0x40a405
40a3dc:	8b 48 3c             	mov    0x3c(%eax),%ecx
40a3df:	03 c8                	add    %eax,%ecx
40a3e1:	81 39 50 45 00 00    	cmpl   $0x4550,(%ecx)
40a3e7:	75 1c                	jne    0x40a405
40a3e9:	b8 0b 01 00 00       	mov    $0x10b,%eax
40a3ee:	66 39 41 18          	cmp    %ax,0x18(%ecx)
40a3f2:	75 11                	jne    0x40a405
40a3f4:	83 79 74 0e          	cmpl   $0xe,0x74(%ecx)
40a3f8:	76 0b                	jbe    0x40a405
40a3fa:	83 b9 e8 00 00 00 00 	cmpl   $0x0,0xe8(%ecx)
40a401:	0f 95 c0             	setne  %al
40a404:	c3                   	ret
40a405:	32 c0                	xor    %al,%al
40a407:	c3                   	ret
40a408:	68 14 a4 40 00       	push   $0x40a414
40a40d:	ff 15 9c 11 43 00    	call   *0x43119c
40a413:	c3                   	ret
40a414:	55                   	push   %ebp
40a415:	8b ec                	mov    %esp,%ebp
40a417:	56                   	push   %esi
40a418:	57                   	push   %edi
40a419:	8b 7d 08             	mov    0x8(%ebp),%edi
40a41c:	8b 37                	mov    (%edi),%esi
40a41e:	81 3e 63 73 6d e0    	cmpl   $0xe06d7363,(%esi)
40a424:	75 25                	jne    0x40a44b
40a426:	83 7e 10 03          	cmpl   $0x3,0x10(%esi)
40a42a:	75 1f                	jne    0x40a44b
40a42c:	8b 46 14             	mov    0x14(%esi),%eax
40a42f:	3d 20 05 93 19       	cmp    $0x19930520,%eax
40a434:	74 1d                	je     0x40a453
40a436:	3d 21 05 93 19       	cmp    $0x19930521,%eax
40a43b:	74 16                	je     0x40a453
40a43d:	3d 22 05 93 19       	cmp    $0x19930522,%eax
40a442:	74 0f                	je     0x40a453
40a444:	3d 00 40 99 01       	cmp    $0x1994000,%eax
40a449:	74 08                	je     0x40a453
40a44b:	5f                   	pop    %edi
40a44c:	33 c0                	xor    %eax,%eax
40a44e:	5e                   	pop    %esi
40a44f:	5d                   	pop    %ebp
40a450:	c2 04 00             	ret    $0x4
40a453:	e8 0f 19 00 00       	call   0x40bd67
40a458:	89 30                	mov    %esi,(%eax)
40a45a:	8b 77 04             	mov    0x4(%edi),%esi
40a45d:	e8 0e 19 00 00       	call   0x40bd70
40a462:	89 30                	mov    %esi,(%eax)
40a464:	e8 ec 19 01 00       	call   0x41be55
40a469:	cc                   	int3
40a46a:	83 25 a8 f2 43 00 00 	andl   $0x0,0x43f2a8
40a471:	c3                   	ret
40a472:	53                   	push   %ebx
40a473:	56                   	push   %esi
40a474:	be c4 a5 43 00       	mov    $0x43a5c4,%esi
40a479:	bb c4 a5 43 00       	mov    $0x43a5c4,%ebx
40a47e:	3b f3                	cmp    %ebx,%esi
40a480:	73 19                	jae    0x40a49b
40a482:	57                   	push   %edi
40a483:	8b 3e                	mov    (%esi),%edi
40a485:	85 ff                	test   %edi,%edi
40a487:	74 0a                	je     0x40a493
40a489:	8b cf                	mov    %edi,%ecx
40a48b:	ff 15 68 12 43 00    	call   *0x431268
40a491:	ff d7                	call   *%edi
40a493:	83 c6 04             	add    $0x4,%esi
40a496:	3b f3                	cmp    %ebx,%esi
40a498:	72 e9                	jb     0x40a483
40a49a:	5f                   	pop    %edi
40a49b:	5e                   	pop    %esi
40a49c:	5b                   	pop    %ebx
40a49d:	c3                   	ret
40a49e:	53                   	push   %ebx
40a49f:	56                   	push   %esi
40a4a0:	be cc a5 43 00       	mov    $0x43a5cc,%esi
40a4a5:	bb cc a5 43 00       	mov    $0x43a5cc,%ebx
40a4aa:	3b f3                	cmp    %ebx,%esi
40a4ac:	73 19                	jae    0x40a4c7
40a4ae:	57                   	push   %edi
40a4af:	8b 3e                	mov    (%esi),%edi
40a4b1:	85 ff                	test   %edi,%edi
40a4b3:	74 0a                	je     0x40a4bf
40a4b5:	8b cf                	mov    %edi,%ecx
40a4b7:	ff 15 68 12 43 00    	call   *0x431268
40a4bd:	ff d7                	call   *%edi
40a4bf:	83 c6 04             	add    $0x4,%esi
40a4c2:	3b f3                	cmp    %ebx,%esi
40a4c4:	72 e9                	jb     0x40a4af
40a4c6:	5f                   	pop    %edi
40a4c7:	5e                   	pop    %esi
40a4c8:	5b                   	pop    %ebx
40a4c9:	c3                   	ret
40a4ca:	cc                   	int3
40a4cb:	cc                   	int3
40a4cc:	cc                   	int3
40a4cd:	cc                   	int3
40a4ce:	cc                   	int3
40a4cf:	cc                   	int3
40a4d0:	68 f0 b9 40 00       	push   $0x40b9f0
40a4d5:	64 ff 35 00 00 00 00 	push   %fs:0x0
40a4dc:	8b 44 24 10          	mov    0x10(%esp),%eax
40a4e0:	89 6c 24 10          	mov    %ebp,0x10(%esp)
40a4e4:	8d 6c 24 10          	lea    0x10(%esp),%ebp
40a4e8:	2b e0                	sub    %eax,%esp
40a4ea:	53                   	push   %ebx
40a4eb:	56                   	push   %esi
40a4ec:	57                   	push   %edi
40a4ed:	a1 c0 d0 43 00       	mov    0x43d0c0,%eax
40a4f2:	31 45 fc             	xor    %eax,-0x4(%ebp)
40a4f5:	33 c5                	xor    %ebp,%eax
40a4f7:	50                   	push   %eax
40a4f8:	89 65 e8             	mov    %esp,-0x18(%ebp)
40a4fb:	ff 75 f8             	push   -0x8(%ebp)
40a4fe:	8b 45 fc             	mov    -0x4(%ebp),%eax
40a501:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40a508:	89 45 f8             	mov    %eax,-0x8(%ebp)
40a50b:	8d 45 f0             	lea    -0x10(%ebp),%eax
40a50e:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40a514:	c3                   	ret
40a515:	55                   	push   %ebp
40a516:	8b ec                	mov    %esp,%ebp
40a518:	6a 00                	push   $0x0
40a51a:	ff 15 9c 11 43 00    	call   *0x43119c