406895:	33 c0                	xor    %eax,%eax
406897:	89 0d 14 4d 42 00    	mov    %ecx,0x424d14
40689d:	40                   	inc    %eax
40689e:	f0 0f c1 05 8c 4d 42 	lock xadd %eax,0x424d8c
4068a5:	00
4068a6:	40                   	inc    %eax
4068a7:	c3                   	ret
4068a8:	cc                   	int3
4068a9:	cc                   	int3
4068aa:	cc                   	int3
4068ab:	cc                   	int3
4068ac:	cc                   	int3
4068ad:	cc                   	int3
4068ae:	cc                   	int3
4068af:	cc                   	int3
4068b0:	8b ff                	mov    %edi,%edi
4068b2:	55                   	push   %ebp
4068b3:	8b ec                	mov    %esp,%ebp
4068b5:	8b 45 08             	mov    0x8(%ebp),%eax
4068b8:	a3 6c 4d 42 00       	mov    %eax,0x424d6c
4068bd:	33 c0                	xor    %eax,%eax
4068bf:	40                   	inc    %eax
4068c0:	5d                   	pop    %ebp
4068c1:	c2 04 00             	ret    $0x4
4068c4:	8b ff                	mov    %edi,%edi
4068c6:	55                   	push   %ebp
4068c7:	8b ec                	mov    %esp,%ebp
4068c9:	56                   	push   %esi
4068ca:	8b 35 d8 4c 42 00    	mov    0x424cd8,%esi
4068d0:	85 f6                	test   %esi,%esi
4068d2:	74 10                	je     0x4068e4
4068d4:	ff 75 08             	push   0x8(%ebp)
4068d7:	6a 00                	push   $0x0
4068d9:	51                   	push   %ecx
4068da:	8b ce                	mov    %esi,%ecx
4068dc:	ff 15 78 64 42 00    	call   *0x426478
4068e2:	ff d6                	call   *%esi
4068e4:	6a 07                	push   $0x7
4068e6:	59                   	pop    %ecx
4068e7:	cd 29                	int    $0x29
4068e9:	5e                   	pop    %esi
4068ea:	5d                   	pop    %ebp
4068eb:	c2 04 00             	ret    $0x4
4068ee:	8b ff                	mov    %edi,%edi
4068f0:	55                   	push   %ebp
4068f1:	8b ec                	mov    %esp,%ebp
4068f3:	81 ec 10 01 00 00    	sub    $0x110,%esp
4068f9:	a1 10 42 42 00       	mov    0x424210,%eax
4068fe:	33 c5                	xor    %ebp,%eax
406900:	89 45 fc             	mov    %eax,-0x4(%ebp)
406903:	8b 4d 10             	mov    0x10(%ebp),%ecx
406906:	53                   	push   %ebx
406907:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40690a:	56                   	push   %esi
40690b:	8b 75 08             	mov    0x8(%ebp),%esi
40690e:	57                   	push   %edi
40690f:	33 ff                	xor    %edi,%edi
406911:	89 8d f0 fe ff ff    	mov    %ecx,-0x110(%ebp)
406917:	89 bd f4 fe ff ff    	mov    %edi,-0x10c(%ebp)
40691d:	85 f6                	test   %esi,%esi
40691f:	74 28                	je     0x406949
406921:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
406927:	50                   	push   %eax
406928:	56                   	push   %esi
406929:	6a 06                	push   $0x6
40692b:	ff 15 90 61 42 00    	call   *0x426190
406931:	85 c0                	test   %eax,%eax
406933:	75 08                	jne    0x40693d
406935:	85 db                	test   %ebx,%ebx
406937:	74 3b                	je     0x406974
406939:	89 3b                	mov    %edi,(%ebx)
40693b:	eb 37                	jmp    0x406974
40693d:	8b bd f4 fe ff ff    	mov    -0x10c(%ebp),%edi
406943:	8b 8d f0 fe ff ff    	mov    -0x110(%ebp),%ecx
406949:	85 db                	test   %ebx,%ebx
40694b:	74 0c                	je     0x406959
40694d:	8b c6                	mov    %esi,%eax
40694f:	2b c7                	sub    %edi,%eax
406951:	f7 de                	neg    %esi
406953:	1b f6                	sbb    %esi,%esi
406955:	23 f0                	and    %eax,%esi
406957:	89 33                	mov    %esi,(%ebx)
406959:	85 c9                	test   %ecx,%ecx
40695b:	74 57                	je     0x4069b4
40695d:	68 04 01 00 00       	push   $0x104
406962:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
406968:	50                   	push   %eax
406969:	57                   	push   %edi
40696a:	ff 15 b0 61 42 00    	call   *0x4261b0
406970:	85 c0                	test   %eax,%eax
406972:	75 04                	jne    0x406978
406974:	32 c0                	xor    %al,%al
406976:	eb 3e                	jmp    0x4069b6
406978:	8d 8d f8 fe ff ff    	lea    -0x108(%ebp),%ecx
40697e:	8d 51 01             	lea    0x1(%ecx),%edx
406981:	8a 01                	mov    (%ecx),%al
406983:	41                   	inc    %ecx
406984:	84 c0                	test   %al,%al
406986:	75 f9                	jne    0x406981
406988:	2b ca                	sub    %edx,%ecx
40698a:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
406990:	03 c1                	add    %ecx,%eax
406992:	eb 07                	jmp    0x40699b
406994:	80 78 ff 5c          	cmpb   $0x5c,-0x1(%eax)
406998:	74 0b                	je     0x4069a5
40699a:	48                   	dec    %eax
40699b:	8d 8d f8 fe ff ff    	lea    -0x108(%ebp),%ecx
4069a1:	3b c1                	cmp    %ecx,%eax
4069a3:	77 ef                	ja     0x406994
4069a5:	8b 55 14             	mov    0x14(%ebp),%edx
4069a8:	8b 8d f0 fe ff ff    	mov    -0x110(%ebp),%ecx
4069ae:	50                   	push   %eax
4069af:	e8 34 fa ff ff       	call   0x4063e8
4069b4:	b0 01                	mov    $0x1,%al
4069b6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4069b9:	5f                   	pop    %edi
4069ba:	5e                   	pop    %esi
4069bb:	33 cd                	xor    %ebp,%ecx
4069bd:	5b                   	pop    %ebx
4069be:	e8 ad ae 01 00       	call   0x421870
4069c3:	c9                   	leave
4069c4:	c2 10 00             	ret    $0x10
4069c7:	cc                   	int3
4069c8:	cc                   	int3
4069c9:	cc                   	int3
4069ca:	cc                   	int3
4069cb:	cc                   	int3
4069cc:	cc                   	int3
4069cd:	cc                   	int3
4069ce:	cc                   	int3
4069cf:	cc                   	int3
4069d0:	80 3d fc 4c 42 00 00 	cmpb   $0x0,0x424cfc
4069d7:	56                   	push   %esi
4069d8:	be 28 4d 42 00       	mov    $0x424d28,%esi
4069dd:	75 16                	jne    0x4069f5
4069df:	6a 40                	push   $0x40
4069e1:	56                   	push   %esi
4069e2:	6a 00                	push   $0x0
4069e4:	68 b0 68 40 00       	push   $0x4068b0
4069e9:	e8 00 ff ff ff       	call   0x4068ee
4069ee:	c6 05 fc 4c 42 00 01 	movb   $0x1,0x424cfc
4069f5:	8b c6                	mov    %esi,%eax
4069f7:	5e                   	pop    %esi
4069f8:	c3                   	ret
4069f9:	cc                   	int3
4069fa:	cc                   	int3
4069fb:	cc                   	int3
4069fc:	cc                   	int3
4069fd:	cc                   	int3
4069fe:	cc                   	int3
4069ff:	cc                   	int3
406a00:	ff 25 84 60 42 00    	jmp    *0x426084
406a06:	cc                   	int3
406a07:	cc                   	int3
406a08:	cc                   	int3
406a09:	cc                   	int3
406a0a:	cc                   	int3
406a0b:	cc                   	int3
406a0c:	cc                   	int3
406a0d:	cc                   	int3
406a0e:	cc                   	int3
406a0f:	cc                   	int3
406a10:	8b ff                	mov    %edi,%edi
406a12:	55                   	push   %ebp
406a13:	8b ec                	mov    %esp,%ebp
406a15:	56                   	push   %esi
406a16:	68 68 1a 40 00       	push   $0x401a68
406a1b:	ff 15 80 60 42 00    	call   *0x426080
406a21:	68 88 1a 40 00       	push   $0x401a88
406a26:	50                   	push   %eax
406a27:	ff 15 68 60 42 00    	call   *0x426068
406a2d:	8b f0                	mov    %eax,%esi
406a2f:	85 f6                	test   %esi,%esi
406a31:	74 13                	je     0x406a46
406a33:	ff 75 10             	push   0x10(%ebp)
406a36:	8b ce                	mov    %esi,%ecx
406a38:	ff 75 0c             	push   0xc(%ebp)
406a3b:	ff 75 08             	push   0x8(%ebp)
406a3e:	ff 15 78 64 42 00    	call   *0x426478
406a44:	ff d6                	call   *%esi
406a46:	5e                   	pop    %esi
406a47:	5d                   	pop    %ebp
406a48:	c2 0c 00             	ret    $0xc
406a4b:	8b ff                	mov    %edi,%edi
406a4d:	56                   	push   %esi
406a4e:	8b f1                	mov    %ecx,%esi
406a50:	85 f6                	test   %esi,%esi
406a52:	78 04                	js     0x406a58
406a54:	33 c0                	xor    %eax,%eax
406a56:	5e                   	pop    %esi
406a57:	c3                   	ret
406a58:	81 fe 17 00 00 c0    	cmp    $0xc0000017,%esi
406a5e:	75 07                	jne    0x406a67
406a60:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
406a65:	5e                   	pop    %esi
406a66:	c3                   	ret
406a67:	57                   	push   %edi
406a68:	8b 3d e0 4c 42 00    	mov    0x424ce0,%edi
406a6e:	85 ff                	test   %edi,%edi
406a70:	74 24                	je     0x406a96
406a72:	56                   	push   %esi
406a73:	8b cf                	mov    %edi,%ecx
406a75:	ff 15 78 64 42 00    	call   *0x426478
406a7b:	ff d7                	call   *%edi
406a7d:	85 c0                	test   %eax,%eax
406a7f:	74 15                	je     0x406a96
406a81:	3d 3d 01 00 00       	cmp    $0x13d,%eax
406a86:	74 0e                	je     0x406a96
406a88:	85 c0                	test   %eax,%eax
406a8a:	7e 12                	jle    0x406a9e
406a8c:	0f b7 c0             	movzwl %ax,%eax
406a8f:	0d 00 00 07 80       	or     $0x80070000,%eax
406a94:	eb 08                	jmp    0x406a9e
406a96:	81 ce 00 00 00 10    	or     $0x10000000,%esi
406a9c:	8b c6                	mov    %esi,%eax
406a9e:	5f                   	pop    %edi
406a9f:	5e                   	pop    %esi
406aa0:	c3                   	ret
406aa1:	8b ff                	mov    %edi,%edi
406aa3:	55                   	push   %ebp
406aa4:	8b ec                	mov    %esp,%ebp
406aa6:	56                   	push   %esi
406aa7:	57                   	push   %edi
406aa8:	8b f2                	mov    %edx,%esi
406aaa:	8b f9                	mov    %ecx,%edi
406aac:	ff 15 70 61 42 00    	call   *0x426170
406ab2:	85 c0                	test   %eax,%eax
406ab4:	75 1d                	jne    0x406ad3
406ab6:	68 9c 02 07 80       	push   $0x8007029c
406abb:	6a 02                	push   $0x2
406abd:	ff 75 14             	push   0x14(%ebp)
406ac0:	8b d6                	mov    %esi,%edx
406ac2:	8b cf                	mov    %edi,%ecx
406ac4:	50                   	push   %eax
406ac5:	50                   	push   %eax
406ac6:	ff 75 08             	push   0x8(%ebp)
406ac9:	e8 01 04 00 00       	call   0x406ecf
406ace:	b8 9c 02 00 00       	mov    $0x29c,%eax
406ad3:	5f                   	pop    %edi
406ad4:	5e                   	pop    %esi
406ad5:	5d                   	pop    %ebp
406ad6:	c2 10 00             	ret    $0x10
406ad9:	8b ff                	mov    %edi,%edi
406adb:	55                   	push   %ebp
406adc:	8b ec                	mov    %esp,%ebp
406ade:	ff 75 04             	push   0x4(%ebp)
406ae1:	33 d2                	xor    %edx,%edx
406ae3:	51                   	push   %ecx
406ae4:	51                   	push   %ecx
406ae5:	6a 00                	push   $0x0
406ae7:	33 c9                	xor    %ecx,%ecx
406ae9:	e8 b3 ff ff ff       	call   0x406aa1
406aee:	85 c0                	test   %eax,%eax
406af0:	7e 08                	jle    0x406afa
406af2:	0f b7 c0             	movzwl %ax,%eax
406af5:	0d 00 00 07 80       	or     $0x80070000,%eax
406afa:	5d                   	pop    %ebp
406afb:	c3                   	ret
406afc:	85 c9                	test   %ecx,%ecx
406afe:	75 04                	jne    0x406b04
406b00:	6a 02                	push   $0x2
406b02:	58                   	pop    %eax
406b03:	c3                   	ret
406b04:	8d 51 02             	lea    0x2(%ecx),%edx
406b07:	66 8b 01             	mov    (%ecx),%ax
406b0a:	83 c1 02             	add    $0x2,%ecx
406b0d:	66 85 c0             	test   %ax,%ax
406b10:	75 f5                	jne    0x406b07
406b12:	2b ca                	sub    %edx,%ecx
406b14:	d1 f9                	sar    $1,%ecx
406b16:	8d 04 4d 02 00 00 00 	lea    0x2(,%ecx,2),%eax
406b1d:	c3                   	ret
406b1e:	80 3d d0 4c 42 00 00 	cmpb   $0x0,0x424cd0
406b25:	53                   	push   %ebx
406b26:	75 23                	jne    0x406b4b
406b28:	56                   	push   %esi
406b29:	8b 35 c0 4c 42 00    	mov    0x424cc0,%esi
406b2f:	33 db                	xor    %ebx,%ebx
406b31:	85 f6                	test   %esi,%esi
406b33:	74 0f                	je     0x406b44
406b35:	8b ce                	mov    %esi,%ecx
406b37:	ff 15 78 64 42 00    	call   *0x426478
406b3d:	ff d6                	call   *%esi
406b3f:	0f b6 c0             	movzbl %al,%eax
406b42:	eb 02                	jmp    0x406b46
406b44:	8b c3                	mov    %ebx,%eax
406b46:	5e                   	pop    %esi
406b47:	85 c0                	test   %eax,%eax
406b49:	74 02                	je     0x406b4d
406b4b:	b3 01                	mov    $0x1,%bl
406b4d:	8a c3                	mov    %bl,%al
406b4f:	5b                   	pop    %ebx
406b50:	c3                   	ret
406b51:	8b ff                	mov    %edi,%edi
406b53:	56                   	push   %esi
406b54:	8b 35 d4 4c 42 00    	mov    0x424cd4,%esi
406b5a:	85 f6                	test   %esi,%esi
406b5c:	74 0b                	je     0x406b69
406b5e:	51                   	push   %ecx
406b5f:	8b ce                	mov    %esi,%ecx
406b61:	ff 15 78 64 42 00    	call   *0x426478
406b67:	ff d6                	call   *%esi
406b69:	5e                   	pop    %esi
406b6a:	c3                   	ret
406b6b:	8b ff                	mov    %edi,%edi
406b6d:	55                   	push   %ebp
406b6e:	8b ec                	mov    %esp,%ebp
406b70:	83 ec 0c             	sub    $0xc,%esp
406b73:	53                   	push   %ebx
406b74:	8b 5d 28             	mov    0x28(%ebp),%ebx
406b77:	33 c0                	xor    %eax,%eax
406b79:	56                   	push   %esi
406b7a:	57                   	push   %edi
406b7b:	8b 7d 1c             	mov    0x1c(%ebp),%edi
406b7e:	66 89 03             	mov    %ax,(%ebx)
406b81:	8b 45 30             	mov    0x30(%ebp),%eax
406b84:	89 55 f8             	mov    %edx,-0x8(%ebp)
406b87:	89 4d f4             	mov    %ecx,-0xc(%ebp)
406b8a:	c6 00 00             	movb   $0x0,(%eax)
406b8d:	33 c0                	xor    %eax,%eax
406b8f:	89 45 fc             	mov    %eax,-0x4(%ebp)
406b92:	8b 45 18             	mov    0x18(%ebp),%eax
406b95:	83 e8 00             	sub    $0x0,%eax
406b98:	74 46                	je     0x406be0
406b9a:	83 e8 01             	sub    $0x1,%eax
406b9d:	74 38                	je     0x406bd7
406b9f:	83 e8 01             	sub    $0x1,%eax
406ba2:	74 0d                	je     0x406bb1
406ba4:	83 e8 01             	sub    $0x1,%eax
406ba7:	75 41                	jne    0x406bea
406ba9:	57                   	push   %edi
406baa:	e8 01 fd ff ff       	call   0x4068b0
406baf:	eb 36                	jmp    0x406be7
406bb1:	85 ff                	test   %edi,%edi
406bb3:	78 19                	js     0x406bce
406bb5:	bf 9c 02 07 80       	mov    $0x8007029c,%edi
406bba:	57                   	push   %edi
406bbb:	6a 02                	push   $0x2
406bbd:	ff 75 14             	push   0x14(%ebp)
406bc0:	ff 75 10             	push   0x10(%ebp)
406bc3:	ff 75 0c             	push   0xc(%ebp)
406bc6:	ff 75 08             	push   0x8(%ebp)
406bc9:	e8 01 03 00 00       	call   0x406ecf
406bce:	8b cf                	mov    %edi,%ecx
406bd0:	e8 c0 fc ff ff       	call   0x406895
406bd5:	eb 10                	jmp    0x406be7
406bd7:	8b cf                	mov    %edi,%ecx
406bd9:	e8 a4 fc ff ff       	call   0x406882
406bde:	eb 07                	jmp    0x406be7
406be0:	8b cf                	mov    %edi,%ecx