46acc0:	c7 06 cc cc 00 00    	movl   $0xcccc,(%esi)
46acc6:	83 c6 08             	add    $0x8,%esi
46acc9:	eb 24                	jmp    0x46acef
46accb:	3b d1                	cmp    %ecx,%edx
46accd:	1b c0                	sbb    %eax,%eax
46accf:	23 c1                	and    %ecx,%eax
46acd1:	50                   	push   %eax
46acd2:	e8 53 c0 00 00       	call   0x476d2a
46acd7:	8b f0                	mov    %eax,%esi
46acd9:	89 75 e8             	mov    %esi,-0x18(%ebp)
46acdc:	59                   	pop    %ecx
46acdd:	85 f6                	test   %esi,%esi
46acdf:	0f 84 8f 00 00 00    	je     0x46ad74
46ace5:	c7 06 dd dd 00 00    	movl   $0xdddd,(%esi)
46aceb:	eb d9                	jmp    0x46acc6
46aced:	33 f6                	xor    %esi,%esi
46acef:	89 75 e8             	mov    %esi,-0x18(%ebp)
46acf2:	85 f6                	test   %esi,%esi
46acf4:	74 7e                	je     0x46ad74
46acf6:	80 7d e3 00          	cmpb   $0x0,-0x1d(%ebp)
46acfa:	8d 45 ec             	lea    -0x14(%ebp),%eax
46acfd:	74 16                	je     0x46ad15
46acff:	53                   	push   %ebx
46ad00:	56                   	push   %esi
46ad01:	57                   	push   %edi
46ad02:	50                   	push   %eax
46ad03:	8b 45 dc             	mov    -0x24(%ebp),%eax
46ad06:	6a 00                	push   $0x0
46ad08:	ff b0 60 01 00 00    	push   0x160(%eax)
46ad0e:	e8 eb a4 00 00       	call   0x4751fe
46ad13:	eb 16                	jmp    0x46ad2b
46ad15:	6a 00                	push   $0x0
46ad17:	53                   	push   %ebx
46ad18:	56                   	push   %esi
46ad19:	57                   	push   %edi
46ad1a:	50                   	push   %eax
46ad1b:	8b 45 dc             	mov    -0x24(%ebp),%eax
46ad1e:	6a 00                	push   $0x0
46ad20:	ff b0 60 01 00 00    	push   0x160(%eax)
46ad26:	e8 6a a3 00 00       	call   0x475095
46ad2b:	8b d0                	mov    %eax,%edx
46ad2d:	8b fe                	mov    %esi,%edi
46ad2f:	4a                   	dec    %edx
46ad30:	85 d2                	test   %edx,%edx
46ad32:	7e 23                	jle    0x46ad57
46ad34:	8b 5d e4             	mov    -0x1c(%ebp),%ebx
46ad37:	8b 75 d8             	mov    -0x28(%ebp),%esi
46ad3a:	83 3b 00             	cmpl   $0x0,(%ebx)
46ad3d:	76 15                	jbe    0x46ad54
46ad3f:	8b 0e                	mov    (%esi),%ecx
46ad41:	66 8b 07             	mov    (%edi),%ax
46ad44:	83 c7 02             	add    $0x2,%edi
46ad47:	66 89 01             	mov    %ax,(%ecx)
46ad4a:	83 06 02             	addl   $0x2,(%esi)
46ad4d:	ff 0b                	decl   (%ebx)
46ad4f:	4a                   	dec    %edx
46ad50:	85 d2                	test   %edx,%edx
46ad52:	7f e6                	jg     0x46ad3a
46ad54:	8b 75 e8             	mov    -0x18(%ebp),%esi
46ad57:	56                   	push   %esi
46ad58:	e8 c6 d4 fb ff       	call   0x428223
46ad5d:	59                   	pop    %ecx
46ad5e:	b0 01                	mov    $0x1,%al
46ad60:	8d 65 c4             	lea    -0x3c(%ebp),%esp
46ad63:	5f                   	pop    %edi
46ad64:	5e                   	pop    %esi
46ad65:	5b                   	pop    %ebx
46ad66:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46ad69:	33 cd                	xor    %ebp,%ecx
46ad6b:	e8 92 4c fd ff       	call   0x43fa02
46ad70:	8b e5                	mov    %ebp,%esp
46ad72:	5d                   	pop    %ebp
46ad73:	c3                   	ret
46ad74:	6a 00                	push   $0x0
46ad76:	e8 a8 d4 fb ff       	call   0x428223
46ad7b:	8b 75 e4             	mov    -0x1c(%ebp),%esi
46ad7e:	59                   	pop    %ecx
46ad7f:	e9 6e 02 00 00       	jmp    0x46aff2
46ad84:	83 3e 00             	cmpl   $0x0,(%esi)
46ad87:	74 d5                	je     0x46ad5e
46ad89:	c6 45 e4 00          	movb   $0x0,-0x1c(%ebp)
46ad8d:	33 c9                	xor    %ecx,%ecx
46ad8f:	89 7d e8             	mov    %edi,-0x18(%ebp)
46ad92:	8b df                	mov    %edi,%ebx
46ad94:	0f b7 c2             	movzwl %dx,%eax
46ad97:	83 c3 02             	add    $0x2,%ebx
46ad9a:	41                   	inc    %ecx
46ad9b:	66 39 03             	cmp    %ax,(%ebx)
46ad9e:	74 f7                	je     0x46ad97
46ada0:	0f b7 c2             	movzwl %dx,%eax
46ada3:	89 5d e8             	mov    %ebx,-0x18(%ebp)
46ada6:	8b 5d dc             	mov    -0x24(%ebp),%ebx
46ada9:	83 f8 64             	cmp    $0x64,%eax
46adac:	0f 8f 2f 01 00 00    	jg     0x46aee1
46adb2:	0f 84 f8 00 00 00    	je     0x46aeb0
46adb8:	83 f8 27             	cmp    $0x27,%eax
46adbb:	0f 84 9a 00 00 00    	je     0x46ae5b
46adc1:	83 f8 41             	cmp    $0x41,%eax
46adc4:	74 13                	je     0x46add9
46adc6:	83 f8 48             	cmp    $0x48,%eax
46adc9:	74 58                	je     0x46ae23
46adcb:	83 f8 4d             	cmp    $0x4d,%eax
46adce:	74 22                	je     0x46adf2
46add0:	83 f8 61             	cmp    $0x61,%eax
46add3:	0f 85 e2 01 00 00    	jne    0x46afbb
46add9:	68 00 d4 49 00       	push   $0x49d400
46adde:	57                   	push   %edi
46addf:	e8 23 c3 ff ff       	call   0x467107
46ade4:	59                   	pop    %ecx
46ade5:	59                   	pop    %ecx
46ade6:	85 c0                	test   %eax,%eax
46ade8:	75 53                	jne    0x46ae3d
46adea:	8d 4f 0a             	lea    0xa(%edi),%ecx
46aded:	89 4d e8             	mov    %ecx,-0x18(%ebp)
46adf0:	eb 62                	jmp    0x46ae54
46adf2:	83 e9 01             	sub    $0x1,%ecx
46adf5:	74 21                	je     0x46ae18
46adf7:	83 e9 01             	sub    $0x1,%ecx
46adfa:	74 20                	je     0x46ae1c
46adfc:	83 e9 01             	sub    $0x1,%ecx
46adff:	74 10                	je     0x46ae11
46ae01:	83 e9 01             	sub    $0x1,%ecx
46ae04:	0f 85 b1 01 00 00    	jne    0x46afbb
46ae0a:	6a 42                	push   $0x42
46ae0c:	e9 c2 01 00 00       	jmp    0x46afd3
46ae11:	6a 62                	push   $0x62
46ae13:	e9 bb 01 00 00       	jmp    0x46afd3
46ae18:	c6 45 e4 01          	movb   $0x1,-0x1c(%ebp)
46ae1c:	6a 6d                	push   $0x6d
46ae1e:	e9 b0 01 00 00       	jmp    0x46afd3
46ae23:	83 e9 01             	sub    $0x1,%ecx
46ae26:	74 0a                	je     0x46ae32
46ae28:	83 e9 01             	sub    $0x1,%ecx
46ae2b:	74 09                	je     0x46ae36
46ae2d:	e9 89 01 00 00       	jmp    0x46afbb
46ae32:	c6 45 e4 01          	movb   $0x1,-0x1c(%ebp)
46ae36:	6a 48                	push   $0x48
46ae38:	e9 96 01 00 00       	jmp    0x46afd3
46ae3d:	68 0c d4 49 00       	push   $0x49d40c
46ae42:	57                   	push   %edi
46ae43:	e8 bf c2 ff ff       	call   0x467107
46ae48:	59                   	pop    %ecx
46ae49:	59                   	pop    %ecx
46ae4a:	85 c0                	test   %eax,%eax
46ae4c:	75 06                	jne    0x46ae54
46ae4e:	8d 47 06             	lea    0x6(%edi),%eax
46ae51:	89 45 e8             	mov    %eax,-0x18(%ebp)
46ae54:	6a 70                	push   $0x70
46ae56:	e9 78 01 00 00       	jmp    0x46afd3
46ae5b:	8b c1                	mov    %ecx,%eax
46ae5d:	25 01 00 00 80       	and    $0x80000001,%eax
46ae62:	79 05                	jns    0x46ae69
46ae64:	48                   	dec    %eax
46ae65:	83 c8 fe             	or     $0xfffffffe,%eax
46ae68:	40                   	inc    %eax
46ae69:	8d 3c 4f             	lea    (%edi,%ecx,2),%edi
46ae6c:	0f 84 80 01 00 00    	je     0x46aff2
46ae72:	0f b7 0f             	movzwl (%edi),%ecx
46ae75:	66 85 c9             	test   %cx,%cx
46ae78:	0f 84 e0 fe ff ff    	je     0x46ad5e
46ae7e:	8b 55 d8             	mov    -0x28(%ebp),%edx
46ae81:	83 3e 00             	cmpl   $0x0,(%esi)
46ae84:	0f 84 68 01 00 00    	je     0x46aff2
46ae8a:	6a 27                	push   $0x27
46ae8c:	58                   	pop    %eax
46ae8d:	83 c7 02             	add    $0x2,%edi
46ae90:	66 3b c8             	cmp    %ax,%cx
46ae93:	0f 84 59 01 00 00    	je     0x46aff2
46ae99:	8b 02                	mov    (%edx),%eax
46ae9b:	66 89 08             	mov    %cx,(%eax)
46ae9e:	83 02 02             	addl   $0x2,(%edx)
46aea1:	ff 0e                	decl   (%esi)
46aea3:	0f b7 0f             	movzwl (%edi),%ecx
46aea6:	66 85 c9             	test   %cx,%cx
46aea9:	75 d6                	jne    0x46ae81
46aeab:	e9 42 01 00 00       	jmp    0x46aff2
46aeb0:	83 e9 01             	sub    $0x1,%ecx
46aeb3:	74 21                	je     0x46aed6
46aeb5:	83 e9 01             	sub    $0x1,%ecx
46aeb8:	74 20                	je     0x46aeda
46aeba:	83 e9 01             	sub    $0x1,%ecx
46aebd:	74 10                	je     0x46aecf
46aebf:	83 e9 01             	sub    $0x1,%ecx
46aec2:	0f 85 f3 00 00 00    	jne    0x46afbb
46aec8:	6a 41                	push   $0x41
46aeca:	e9 04 01 00 00       	jmp    0x46afd3
46aecf:	6a 61                	push   $0x61
46aed1:	e9 fd 00 00 00       	jmp    0x46afd3
46aed6:	c6 45 e4 01          	movb   $0x1,-0x1c(%ebp)
46aeda:	6a 64                	push   $0x64
46aedc:	e9 f2 00 00 00       	jmp    0x46afd3
46aee1:	83 e8 68             	sub    $0x68,%eax
46aee4:	0f 84 c7 00 00 00    	je     0x46afb1
46aeea:	83 e8 05             	sub    $0x5,%eax
46aeed:	0f 84 aa 00 00 00    	je     0x46af9d
46aef3:	83 e8 06             	sub    $0x6,%eax
46aef6:	0f 84 8d 00 00 00    	je     0x46af89
46aefc:	83 e8 01             	sub    $0x1,%eax
46aeff:	74 27                	je     0x46af28
46af01:	83 e8 05             	sub    $0x5,%eax
46af04:	0f 85 b1 00 00 00    	jne    0x46afbb
46af0a:	49                   	dec    %ecx
46af0b:	83 e9 01             	sub    $0x1,%ecx
46af0e:	74 11                	je     0x46af21
46af10:	49                   	dec    %ecx
46af11:	83 e9 01             	sub    $0x1,%ecx
46af14:	0f 85 a1 00 00 00    	jne    0x46afbb
46af1a:	6a 59                	push   $0x59
46af1c:	e9 b2 00 00 00       	jmp    0x46afd3
46af21:	6a 79                	push   $0x79
46af23:	e9 ab 00 00 00       	jmp    0x46afd3
46af28:	8b 45 d4             	mov    -0x2c(%ebp),%eax
46af2b:	83 78 08 0b          	cmpl   $0xb,0x8(%eax)
46af2f:	7f 08                	jg     0x46af39
46af31:	8b 93 4c 01 00 00    	mov    0x14c(%ebx),%edx
46af37:	eb 06                	jmp    0x46af3f
46af39:	8b 93 50 01 00 00    	mov    0x150(%ebx),%edx
46af3f:	83 f9 01             	cmp    $0x1,%ecx
46af42:	75 1a                	jne    0x46af5e
46af44:	83 3e 00             	cmpl   $0x0,(%esi)
46af47:	76 15                	jbe    0x46af5e
46af49:	8b 7d d8             	mov    -0x28(%ebp),%edi
46af4c:	66 8b 02             	mov    (%edx),%ax
46af4f:	8b 0f                	mov    (%edi),%ecx
46af51:	66 89 01             	mov    %ax,(%ecx)
46af54:	83 07 02             	addl   $0x2,(%edi)
46af57:	ff 0e                	decl   (%esi)
46af59:	e9 91 00 00 00       	jmp    0x46afef
46af5e:	0f b7 0a             	movzwl (%edx),%ecx
46af61:	66 85 c9             	test   %cx,%cx
46af64:	0f 84 85 00 00 00    	je     0x46afef
46af6a:	8b 5d d8             	mov    -0x28(%ebp),%ebx
46af6d:	83 3e 00             	cmpl   $0x0,(%esi)
46af70:	76 7d                	jbe    0x46afef
46af72:	8b 03                	mov    (%ebx),%eax
46af74:	83 c2 02             	add    $0x2,%edx
46af77:	66 89 08             	mov    %cx,(%eax)
46af7a:	83 03 02             	addl   $0x2,(%ebx)
46af7d:	ff 0e                	decl   (%esi)
46af7f:	0f b7 0a             	movzwl (%edx),%ecx
46af82:	66 85 c9             	test   %cx,%cx
46af85:	75 e6                	jne    0x46af6d
46af87:	eb 66                	jmp    0x46afef
46af89:	83 e9 01             	sub    $0x1,%ecx
46af8c:	74 07                	je     0x46af95
46af8e:	83 e9 01             	sub    $0x1,%ecx
46af91:	74 06                	je     0x46af99
46af93:	eb 26                	jmp    0x46afbb
46af95:	c6 45 e4 01          	movb   $0x1,-0x1c(%ebp)
46af99:	6a 53                	push   $0x53
46af9b:	eb 36                	jmp    0x46afd3
46af9d:	83 e9 01             	sub    $0x1,%ecx
46afa0:	74 07                	je     0x46afa9
46afa2:	83 e9 01             	sub    $0x1,%ecx
46afa5:	74 06                	je     0x46afad
46afa7:	eb 12                	jmp    0x46afbb
46afa9:	c6 45 e4 01          	movb   $0x1,-0x1c(%ebp)
46afad:	6a 4d                	push   $0x4d
46afaf:	eb 22                	jmp    0x46afd3
46afb1:	83 e9 01             	sub    $0x1,%ecx
46afb4:	74 17                	je     0x46afcd
46afb6:	83 e9 01             	sub    $0x1,%ecx
46afb9:	74 16                	je     0x46afd1
46afbb:	8b 4d d8             	mov    -0x28(%ebp),%ecx
46afbe:	83 c7 02             	add    $0x2,%edi
46afc1:	8b 01                	mov    (%ecx),%eax
46afc3:	66 89 10             	mov    %dx,(%eax)
46afc6:	83 01 02             	addl   $0x2,(%ecx)
46afc9:	ff 0e                	decl   (%esi)
46afcb:	eb 25                	jmp    0x46aff2
46afcd:	c6 45 e4 01          	movb   $0x1,-0x1c(%ebp)
46afd1:	6a 49                	push   $0x49
46afd3:	58                   	pop    %eax
46afd4:	ff 75 e4             	push   -0x1c(%ebp)
46afd7:	53                   	push   %ebx
46afd8:	56                   	push   %esi
46afd9:	ff 75 d8             	push   -0x28(%ebp)
46afdc:	ff 75 d4             	push   -0x2c(%ebp)
46afdf:	50                   	push   %eax
46afe0:	ff 75 d0             	push   -0x30(%ebp)
46afe3:	e8 88 ef ff ff       	call   0x469f70
46afe8:	83 c4 1c             	add    $0x1c,%esp
46afeb:	84 c0                	test   %al,%al
46afed:	74 14                	je     0x46b003
46afef:	8b 7d e8             	mov    -0x18(%ebp),%edi
46aff2:	0f b7 17             	movzwl (%edi),%edx
46aff5:	66 85 d2             	test   %dx,%dx
46aff8:	0f 85 86 fd ff ff    	jne    0x46ad84
46affe:	e9 5b fd ff ff       	jmp    0x46ad5e
46b003:	e8 27 1e fe ff       	call   0x44ce2f
46b008:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
46b00e:	32 c0                	xor    %al,%al
46b010:	e9 4b fd ff ff       	jmp    0x46ad60
46b015:	8b ff                	mov    %edi,%edi
46b017:	55                   	push   %ebp
46b018:	8b ec                	mov    %esp,%ebp
46b01a:	83 ec 1c             	sub    $0x1c,%esp
46b01d:	53                   	push   %ebx
46b01e:	56                   	push   %esi
46b01f:	57                   	push   %edi
46b020:	33 db                	xor    %ebx,%ebx
46b022:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
46b025:	53                   	push   %ebx
46b026:	89 5d fc             	mov    %ebx,-0x4(%ebp)
46b029:	e8 da 3f fe ff       	call   0x44f008
46b02e:	8b 45 e8             	mov    -0x18(%ebp),%eax
46b031:	6a 07                	push   $0x7
46b033:	5f                   	pop    %edi
46b034:	8b 80 9c 00 00 00    	mov    0x9c(%eax),%eax
46b03a:	05 d0 00 00 00       	add    $0xd0,%eax
46b03f:	89 45 f8             	mov    %eax,-0x8(%ebp)
46b042:	8b f0                	mov    %eax,%esi
46b044:	8b 56 e4             	mov    -0x1c(%esi),%edx
46b047:	8d 4a 02             	lea    0x2(%edx),%ecx
46b04a:	66 8b 02             	mov    (%edx),%ax
46b04d:	83 c2 02             	add    $0x2,%edx
46b050:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
46b054:	75 f4                	jne    0x46b04a
46b056:	2b d1                	sub    %ecx,%edx
46b058:	8b 0e                	mov    (%esi),%ecx
46b05a:	d1 fa                	sar    $1,%edx
46b05c:	8d 41 02             	lea    0x2(%ecx),%eax
46b05f:	89 45 f4             	mov    %eax,-0xc(%ebp)
46b062:	66 8b 01             	mov    (%ecx),%ax
46b065:	83 c1 02             	add    $0x2,%ecx
46b068:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
46b06c:	75 f4                	jne    0x46b062
46b06e:	2b 4d f4             	sub    -0xc(%ebp),%ecx
46b071:	83 c3 02             	add    $0x2,%ebx
46b074:	d1 f9                	sar    $1,%ecx
46b076:	83 c6 04             	add    $0x4,%esi
46b079:	8d 04 11             	lea    (%ecx,%edx,1),%eax
46b07c:	03 d8                	add    %eax,%ebx
46b07e:	83 ef 01             	sub    $0x1,%edi
46b081:	75 c1                	jne    0x46b044
46b083:	8d 04 5d 02 00 00 00 	lea    0x2(,%ebx,2),%eax
46b08a:	50                   	push   %eax
46b08b:	e8 9a bc 00 00       	call   0x476d2a
46b090:	8b f8                	mov    %eax,%edi
46b092:	33 c0                	xor    %eax,%eax
46b094:	59                   	pop    %ecx
46b095:	85 ff                	test   %edi,%edi
46b097:	75 07                	jne    0x46b0a0
46b099:	8b f8                	mov    %eax,%edi
46b09b:	e9 a9 00 00 00       	jmp    0x46b149
46b0a0:	6a 3a                	push   $0x3a
46b0a2:	89 45 f4             	mov    %eax,-0xc(%ebp)
46b0a5:	8b f7                	mov    %edi,%esi
46b0a7:	8b 45 f8             	mov    -0x8(%ebp),%eax
46b0aa:	59                   	pop    %ecx