64982e:	0f 82 a9 00 00 00    	jb     0x6498dd
649834:	77 0c                	ja     0x649842
649836:	3b 97 b8 04 00 00    	cmp    0x4b8(%edi),%edx
64983c:	0f 82 9b 00 00 00    	jb     0x6498dd
649842:	8b 4e 18             	mov    0x18(%esi),%ecx
649845:	33 c0                	xor    %eax,%eax
649847:	8b be f4 00 00 00    	mov    0xf4(%esi),%edi
64984d:	8b d7                	mov    %edi,%edx
64984f:	6a 00                	push   $0x0
649851:	2b 91 b8 04 00 00    	sub    0x4b8(%ecx),%edx
649857:	1b 81 bc 04 00 00    	sbb    0x4bc(%ecx),%eax
64985d:	03 95 2c ff ff ff    	add    -0xd4(%ebp),%edx
649863:	8b 8e f0 00 00 00    	mov    0xf0(%esi),%ecx
649869:	13 85 30 ff ff ff    	adc    -0xd0(%ebp),%eax
64986f:	50                   	push   %eax
649870:	8b 46 1c             	mov    0x1c(%esi),%eax
649873:	52                   	push   %edx
649874:	51                   	push   %ecx
649875:	8b 4e 18             	mov    0x18(%esi),%ecx
649878:	57                   	push   %edi
649879:	ff 70 20             	push   0x20(%eax)
64987c:	50                   	push   %eax
64987d:	e8 6e 7f ff ff       	call   0x6417f0
649882:	84 c0                	test   %al,%al
649884:	75 2b                	jne    0x6498b1
649886:	e8 55 cb fe ff       	call   0x6363e0
64988b:	ff 76 04             	push   0x4(%esi)
64988e:	68 58 48 6e 00       	push   $0x6e4858
649893:	8b 08                	mov    (%eax),%ecx
649895:	68 fc 56 6e 00       	push   $0x6e56fc
64989a:	50                   	push   %eax
64989b:	ff 51 24             	call   *0x24(%ecx)
64989e:	8b bd 3c ff ff ff    	mov    -0xc4(%ebp),%edi
6498a4:	83 c4 10             	add    $0x10,%esp
6498a7:	b3 01                	mov    $0x1,%bl
6498a9:	c6 07 00             	movb   $0x0,(%edi)
6498ac:	e9 f6 fe ff ff       	jmp    0x6497a7
6498b1:	ff b6 f0 00 00 00    	push   0xf0(%esi)
6498b7:	8b 4e 18             	mov    0x18(%esi),%ecx
6498ba:	ff 76 14             	push   0x14(%esi)
6498bd:	e8 de 9e ff ff       	call   0x6437a0
6498c2:	8b 86 f0 00 00 00    	mov    0xf0(%esi),%eax
6498c8:	01 86 f4 00 00 00    	add    %eax,0xf4(%esi)
6498ce:	c7 86 f0 00 00 00 00 	movl   $0x0,0xf0(%esi)
6498d5:	00 00 00
6498d8:	e9 c4 fe ff ff       	jmp    0x6497a1
6498dd:	e8 fe ca fe ff       	call   0x6363e0
6498e2:	68 08 43 6e 00       	push   $0x6e4308
6498e7:	68 fc 56 6e 00       	push   $0x6e56fc
6498ec:	50                   	push   %eax
6498ed:	8b 08                	mov    (%eax),%ecx
6498ef:	ff 51 24             	call   *0x24(%ecx)
6498f2:	e8 e9 ca fe ff       	call   0x6363e0
6498f7:	ff 76 04             	push   0x4(%esi)
6498fa:	68 58 48 6e 00       	push   $0x6e4858
6498ff:	8b 08                	mov    (%eax),%ecx
649901:	68 fc 56 6e 00       	push   $0x6e56fc
649906:	50                   	push   %eax
649907:	ff 51 24             	call   *0x24(%ecx)
64990a:	8b bd 3c ff ff ff    	mov    -0xc4(%ebp),%edi
649910:	83 c4 1c             	add    $0x1c,%esp
649913:	b3 01                	mov    $0x1,%bl
649915:	c6 07 00             	movb   $0x0,(%edi)
649918:	e9 8a fe ff ff       	jmp    0x6497a7
64991d:	80 7e 10 00          	cmpb   $0x0,0x10(%esi)
649921:	75 79                	jne    0x64999c
649923:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
649927:	74 73                	je     0x64999c
649929:	e8 b2 ca fe ff       	call   0x6363e0
64992e:	ff 76 04             	push   0x4(%esi)
649931:	68 10 48 6e 00       	push   $0x6e4810
649936:	8b 08                	mov    (%eax),%ecx
649938:	50                   	push   %eax
649939:	ff 51 04             	call   *0x4(%ecx)
64993c:	83 c4 0c             	add    $0xc,%esp
64993f:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
649945:	8d 4e 28             	lea    0x28(%esi),%ecx
649948:	50                   	push   %eax
649949:	e8 12 d5 ff ff       	call   0x646e60
64994e:	50                   	push   %eax
64994f:	8d 4d 98             	lea    -0x68(%ebp),%ecx
649952:	e8 49 e1 fe ff       	call   0x637aa0
649957:	8b 45 8c             	mov    -0x74(%ebp),%eax
64995a:	83 f8 08             	cmp    $0x8,%eax
64995d:	72 13                	jb     0x649972
64995f:	40                   	inc    %eax
649960:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
649966:	50                   	push   %eax
649967:	ff b5 78 ff ff ff    	push   -0x88(%ebp)
64996d:	e8 6e f4 de ff       	call   0x438de0
649972:	8b 4e 18             	mov    0x18(%esi),%ecx
649975:	33 c0                	xor    %eax,%eax
649977:	66 89 85 78 ff ff ff 	mov    %ax,-0x88(%ebp)
64997e:	8d 45 98             	lea    -0x68(%ebp),%eax
649981:	50                   	push   %eax
649982:	c7 45 8c 07 00 00 00 	movl   $0x7,-0x74(%ebp)
649989:	c7 45 88 00 00 00 00 	movl   $0x0,-0x78(%ebp)
649990:	e8 db 76 ff ff       	call   0x641070
649995:	b3 01                	mov    $0x1,%bl
649997:	e9 05 fe ff ff       	jmp    0x6497a1
64999c:	8b bd 3c ff ff ff    	mov    -0xc4(%ebp),%edi
6499a2:	b3 01                	mov    $0x1,%bl
6499a4:	c6 07 00             	movb   $0x0,(%edi)
6499a7:	e9 fb fd ff ff       	jmp    0x6497a7
6499ac:	cc                   	int3
6499ad:	cc                   	int3
6499ae:	cc                   	int3
6499af:	cc                   	int3
6499b0:	55                   	push   %ebp
6499b1:	8b ec                	mov    %esp,%ebp
6499b3:	6a ff                	push   $0xffffffff
6499b5:	68 18 51 66 00       	push   $0x665118
6499ba:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
6499c0:	50                   	push   %eax
6499c1:	81 ec f4 00 00 00    	sub    $0xf4,%esp
6499c7:	a1 d4 89 72 00       	mov    0x7289d4,%eax
6499cc:	33 c5                	xor    %ebp,%eax
6499ce:	89 45 f0             	mov    %eax,-0x10(%ebp)
6499d1:	53                   	push   %ebx
6499d2:	56                   	push   %esi
6499d3:	57                   	push   %edi
6499d4:	50                   	push   %eax
6499d5:	8d 45 f4             	lea    -0xc(%ebp),%eax
6499d8:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
6499de:	8b f1                	mov    %ecx,%esi
6499e0:	8b 06                	mov    (%esi),%eax
6499e2:	8b 5d 08             	mov    0x8(%ebp),%ebx
6499e5:	ff 50 18             	call   *0x18(%eax)
6499e8:	8d 4e 28             	lea    0x28(%esi),%ecx
6499eb:	e8 40 d8 ff ff       	call   0x647230
6499f0:	84 c0                	test   %al,%al
6499f2:	0f 85 91 00 00 00    	jne    0x649a89
6499f8:	33 c0                	xor    %eax,%eax
6499fa:	c7 45 cc 07 00 00 00 	movl   $0x7,-0x34(%ebp)
649a01:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
649a08:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
649a0c:	89 45 d0             	mov    %eax,-0x30(%ebp)
649a0f:	89 45 d4             	mov    %eax,-0x2c(%ebp)
649a12:	89 45 fc             	mov    %eax,-0x4(%ebp)
649a15:	8d 4e 28             	lea    0x28(%esi),%ecx
649a18:	8d 85 28 ff ff ff    	lea    -0xd8(%ebp),%eax
649a1e:	50                   	push   %eax
649a1f:	e8 3c d4 ff ff       	call   0x646e60
649a24:	50                   	push   %eax
649a25:	8d 4d ac             	lea    -0x54(%ebp),%ecx
649a28:	e8 73 e0 fe ff       	call   0x637aa0
649a2d:	8b 85 48 ff ff ff    	mov    -0xb8(%ebp),%eax
649a33:	83 f8 08             	cmp    $0x8,%eax
649a36:	72 13                	jb     0x649a4b
649a38:	40                   	inc    %eax
649a39:	8d 8d 34 ff ff ff    	lea    -0xcc(%ebp),%ecx
649a3f:	50                   	push   %eax
649a40:	ff b5 34 ff ff ff    	push   -0xcc(%ebp)
649a46:	e8 95 f3 de ff       	call   0x438de0
649a4b:	8b 4e 18             	mov    0x18(%esi),%ecx
649a4e:	8d 45 ac             	lea    -0x54(%ebp),%eax
649a51:	50                   	push   %eax
649a52:	e8 19 76 ff ff       	call   0x641070
649a57:	e8 84 c9 fe ff       	call   0x6363e0
649a5c:	ff 76 04             	push   0x4(%esi)
649a5f:	68 58 49 6e 00       	push   $0x6e4958
649a64:	8b 08                	mov    (%eax),%ecx
649a66:	50                   	push   %eax
649a67:	ff 51 04             	call   *0x4(%ecx)
649a6a:	8b 45 cc             	mov    -0x34(%ebp),%eax
649a6d:	83 c4 0c             	add    $0xc,%esp
649a70:	83 f8 08             	cmp    $0x8,%eax
649a73:	72 0d                	jb     0x649a82
649a75:	40                   	inc    %eax
649a76:	8d 4d b8             	lea    -0x48(%ebp),%ecx
649a79:	50                   	push   %eax
649a7a:	ff 75 b8             	push   -0x48(%ebp)
649a7d:	e8 5e f3 de ff       	call   0x438de0
649a82:	32 c0                	xor    %al,%al
649a84:	e9 7d 04 00 00       	jmp    0x649f06
649a89:	ff 76 14             	push   0x14(%esi)
649a8c:	8b 4e 18             	mov    0x18(%esi),%ecx
649a8f:	e8 ac 9b ff ff       	call   0x643640
649a94:	8b 4e 18             	mov    0x18(%esi),%ecx
649a97:	c6 85 27 ff ff ff 00 	movb   $0x0,-0xd9(%ebp)
649a9e:	e8 0d 8b ff ff       	call   0x6425b0
649aa3:	c7 85 0c ff ff ff 00 	movl   $0x0,-0xf4(%ebp)
649aaa:	00 00 00
649aad:	8b 40 60             	mov    0x60(%eax),%eax
649ab0:	89 85 10 ff ff ff    	mov    %eax,-0xf0(%ebp)
649ab6:	89 85 14 ff ff ff    	mov    %eax,-0xec(%ebp)
649abc:	33 c0                	xor    %eax,%eax
649abe:	c7 85 18 ff ff ff 00 	movl   $0x0,-0xe8(%ebp)
649ac5:	00 00 00
649ac8:	c7 45 a0 07 00 00 00 	movl   $0x7,-0x60(%ebp)
649acf:	c7 45 9c 00 00 00 00 	movl   $0x0,-0x64(%ebp)
649ad6:	66 89 45 8c          	mov    %ax,-0x74(%ebp)
649ada:	89 45 a4             	mov    %eax,-0x5c(%ebp)
649add:	89 45 a8             	mov    %eax,-0x58(%ebp)
649ae0:	8b 4e 18             	mov    0x18(%esi),%ecx
649ae3:	8b be f4 00 00 00    	mov    0xf4(%esi),%edi
649ae9:	81 c1 54 04 00 00    	add    $0x454,%ecx
649aef:	89 85 20 ff ff ff    	mov    %eax,-0xe0(%ebp)
649af5:	8d 85 20 ff ff ff    	lea    -0xe0(%ebp),%eax
649afb:	50                   	push   %eax
649afc:	6a 00                	push   $0x0
649afe:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
649b05:	e8 36 48 ff ff       	call   0x63e340
649b0a:	84 c0                	test   %al,%al
649b0c:	75 1a                	jne    0x649b28
649b0e:	e8 cd c8 fe ff       	call   0x6363e0
649b13:	68 e0 48 6e 00       	push   $0x6e48e0
649b18:	50                   	push   %eax
649b19:	8b 08                	mov    (%eax),%ecx
649b1b:	ff 51 04             	call   *0x4(%ecx)
649b1e:	83 c4 08             	add    $0x8,%esp
649b21:	32 db                	xor    %bl,%bl
649b23:	e9 c7 03 00 00       	jmp    0x649eef
649b28:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
649b2e:	6a 00                	push   $0x0
649b30:	ff b5 10 ff ff ff    	push   -0xf0(%ebp)
649b36:	6a 00                	push   $0x0
649b38:	57                   	push   %edi
649b39:	e8 92 1d ff ff       	call   0x63b8d0
649b3e:	ff b5 10 ff ff ff    	push   -0xf0(%ebp)
649b44:	8b 8d 20 ff ff ff    	mov    -0xe0(%ebp),%ecx
649b4a:	e8 21 1d ff ff       	call   0x63b870
649b4f:	84 c0                	test   %al,%al
649b51:	75 07                	jne    0x649b5a
649b53:	32 db                	xor    %bl,%bl
649b55:	e9 95 03 00 00       	jmp    0x649eef
649b5a:	83 7e 08 03          	cmpl   $0x3,0x8(%esi)
649b5e:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
649b64:	89 46 1c             	mov    %eax,0x1c(%esi)
649b67:	0f 84 60 03 00 00    	je     0x649ecd
649b6d:	0f 1f 00             	nopl   (%eax)
649b70:	8b 46 08             	mov    0x8(%esi),%eax
649b73:	83 f8 02             	cmp    $0x2,%eax
649b76:	0f 84 51 03 00 00    	je     0x649ecd
649b7c:	80 3b 00             	cmpb   $0x0,(%ebx)
649b7f:	0f 85 4d 03 00 00    	jne    0x649ed2
649b85:	80 bd 27 ff ff ff 00 	cmpb   $0x0,-0xd9(%ebp)
649b8c:	0f 85 3b 03 00 00    	jne    0x649ecd
649b92:	85 c0                	test   %eax,%eax
649b94:	0f 84 33 03 00 00    	je     0x649ecd
649b9a:	83 f8 01             	cmp    $0x1,%eax
649b9d:	0f 84 2a 03 00 00    	je     0x649ecd
649ba3:	6a 0a                	push   $0xa
649ba5:	ff 15 d0 21 68 00    	call   *0x6821d0
649bab:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
649bb1:	8d 4e 28             	lea    0x28(%esi),%ecx
649bb4:	ff b5 14 ff ff ff    	push   -0xec(%ebp)
649bba:	c7 85 18 ff ff ff 00 	movl   $0x0,-0xe8(%ebp)
649bc1:	00 00 00
649bc4:	6a 00                	push   $0x0
649bc6:	8b 40 24             	mov    0x24(%eax),%eax
649bc9:	03 46 20             	add    0x20(%esi),%eax
649bcc:	89 85 08 ff ff ff    	mov    %eax,-0xf8(%ebp)
649bd2:	8d 85 18 ff ff ff    	lea    -0xe8(%ebp),%eax
649bd8:	50                   	push   %eax
649bd9:	8d 85 08 ff ff ff    	lea    -0xf8(%ebp),%eax
649bdf:	50                   	push   %eax
649be0:	e8 8b ce ff ff       	call   0x646a70
649be5:	ff 76 14             	push   0x14(%esi)
649be8:	8b 4e 18             	mov    0x18(%esi),%ecx
649beb:	8b f8                	mov    %eax,%edi
649bed:	e8 4e 9a ff ff       	call   0x643640
649bf2:	83 ef 00             	sub    $0x0,%edi
649bf5:	0f 84 4c 02 00 00    	je     0x649e47
649bfb:	83 ef 01             	sub    $0x1,%edi
649bfe:	0f 84 3b 01 00 00    	je     0x649d3f
649c04:	83 ef 01             	sub    $0x1,%edi
649c07:	0f 85 b6 02 00 00    	jne    0x649ec3
649c0d:	8b 85 18 ff ff ff    	mov    -0xe8(%ebp),%eax
649c13:	c6 03 01             	movb   $0x1,(%ebx)
649c16:	01 86 f0 00 00 00    	add    %eax,0xf0(%esi)
649c1c:	01 46 20             	add    %eax,0x20(%esi)
649c1f:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
649c25:	c6 03 01             	movb   $0x1,(%ebx)
649c28:	8b 8e f0 00 00 00    	mov    0xf0(%esi),%ecx
649c2e:	89 48 1c             	mov    %ecx,0x1c(%eax)
649c31:	8b ce                	mov    %esi,%ecx
649c33:	ff b5 20 ff ff ff    	push   -0xe0(%ebp)
649c39:	e8 02 f7 ff ff       	call   0x649340
649c3e:	84 c0                	test   %al,%al
649c40:	75 07                	jne    0x649c49
649c42:	88 03                	mov    %al,(%ebx)
649c44:	e9 73 02 00 00       	jmp    0x649ebc
649c49:	8b 85 20 ff ff ff    	mov    -0xe0(%ebp),%eax
649c4f:	8b 4e 18             	mov    0x18(%esi),%ecx
649c52:	6a 01                	push   $0x1
649c54:	6a 00                	push   $0x0
649c56:	ff b6 f4 00 00 00    	push   0xf4(%esi)
649c5c:	ff b6 f0 00 00 00    	push   0xf0(%esi)
649c62:	6a 00                	push   $0x0
649c64:	ff 70 20             	push   0x20(%eax)
649c67:	50                   	push   %eax
649c68:	e8 83 7b ff ff       	call   0x6417f0
649c6d:	84 c0                	test   %al,%al
649c6f:	75 22                	jne    0x649c93
649c71:	e8 6a c7 fe ff       	call   0x6363e0
649c76:	68 c8 49 6e 00       	push   $0x6e49c8
649c7b:	68 fc 56 6e 00       	push   $0x6e56fc
649c80:	50                   	push   %eax
649c81:	8b 08                	mov    (%eax),%ecx
649c83:	ff 51 24             	call   *0x24(%ecx)
649c86:	83 c4 0c             	add    $0xc,%esp
649c89:	c6 03 00             	movb   $0x0,(%ebx)
649c8c:	c6 85 27 ff ff ff 01 	movb   $0x1,-0xd9(%ebp)
649c93:	8b 46 18             	mov    0x18(%esi),%eax
649c96:	68 18 ee 6d 00       	push   $0x6dee18
649c9b:	8b 88 cc 04 00 00    	mov    0x4cc(%eax),%ecx
649ca1:	8b 46 18             	mov    0x18(%esi),%eax
649ca4:	41                   	inc    %ecx
649ca5:	89 88 cc 04 00 00    	mov    %ecx,0x4cc(%eax)
649cab:	8d 4d d8             	lea    -0x28(%ebp),%ecx
649cae:	e8 6d e9 de ff       	call   0x438620
649cb3:	8b 4e 18             	mov    0x18(%esi),%ecx
649cb6:	8d 45 d8             	lea    -0x28(%ebp),%eax
649cb9:	50                   	push   %eax
649cba:	8d 85 00 ff ff ff    	lea    -0x100(%ebp),%eax
649cc0:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
649cc4:	81 c1 d0 04 00 00    	add    $0x4d0,%ecx
649cca:	50                   	push   %eax
649ccb:	e8 00 dc fe ff       	call   0x6378d0
649cd0:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
649cd6:	83 c0 28             	add    $0x28,%eax
649cd9:	50                   	push   %eax
649cda:	8d 46 28             	lea    0x28(%esi),%eax
649cdd:	6a 36                	push   $0x36
649cdf:	8b c8                	mov    %eax,%ecx
649ce1:	e8 4a d3 ff ff       	call   0x647030
649ce6:	8b 4d ec             	mov    -0x14(%ebp),%ecx
649ce9:	88 85 1f ff ff ff    	mov    %al,-0xe1(%ebp)
649cef:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
649cf3:	83 f9 08             	cmp    $0x8,%ecx
649cf6:	72 13                	jb     0x649d0b
649cf8:	41                   	inc    %ecx
649cf9:	51                   	push   %ecx
649cfa:	ff 75 d8             	push   -0x28(%ebp)
649cfd:	8d 4d d8             	lea    -0x28(%ebp),%ecx
649d00:	e8 db f0 de ff       	call   0x438de0
649d05:	8a 85 1f ff ff ff    	mov    -0xe1(%ebp),%al
649d0b:	33 c9                	xor    %ecx,%ecx
649d0d:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
649d14:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
649d1b:	66 89 4d d8          	mov    %cx,-0x28(%ebp)
649d1f:	84 c0                	test   %al,%al
649d21:	0f 84 9c 01 00 00    	je     0x649ec3
649d27:	e8 b4 c6 fe ff       	call   0x6363e0
649d2c:	68 30 4a 6e 00       	push   $0x6e4a30
649d31:	50                   	push   %eax
649d32:	8b 08                	mov    (%eax),%ecx
649d34:	ff 51 04             	call   *0x4(%ecx)
649d37:	83 c4 08             	add    $0x8,%esp