45ae9b:	57                   	push   %edi
45ae9c:	8d b3 94 00 00 00    	lea    0x94(%ebx),%esi
45aea2:	8d 7d f0             	lea    -0x10(%ebp),%edi
45aea5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45aea6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45aea7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45aea8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45aea9:	33 f6                	xor    %esi,%esi
45aeab:	85 c0                	test   %eax,%eax
45aead:	74 16                	je     0x45aec5
45aeaf:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
45aeb2:	50                   	push   %eax
45aeb3:	e8 af 69 00 00       	call   0x461867
45aeb8:	8b f0                	mov    %eax,%esi
45aeba:	8d 45 f0             	lea    -0x10(%ebp),%eax
45aebd:	50                   	push   %eax
45aebe:	8b ce                	mov    %esi,%ecx
45aec0:	e8 95 41 ff ff       	call   0x44f05a
45aec5:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
45aec8:	8d 45 f0             	lea    -0x10(%ebp),%eax
45aecb:	50                   	push   %eax
45aecc:	56                   	push   %esi
45aecd:	ff 73 68             	push   0x68(%ebx)
45aed0:	e8 73 98 00 00       	call   0x464748
45aed5:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
45aed8:	8b 01                	mov    (%ecx),%eax
45aeda:	6a 01                	push   $0x1
45aedc:	ff 90 44 01 00 00    	call   *0x144(%eax)
45aee2:	5f                   	pop    %edi
45aee3:	5e                   	pop    %esi
45aee4:	eb 62                	jmp    0x45af48
45aee6:	8b 83 a8 00 00 00    	mov    0xa8(%ebx),%eax
45aeec:	85 c0                	test   %eax,%eax
45aeee:	8b 8b ac 00 00 00    	mov    0xac(%ebx),%ecx
45aef4:	89 45 f8             	mov    %eax,-0x8(%ebp)
45aef7:	89 4d fc             	mov    %ecx,-0x4(%ebp)
45aefa:	7c 04                	jl     0x45af00
45aefc:	85 c9                	test   %ecx,%ecx
45aefe:	7d 31                	jge    0x45af31
45af00:	8b 83 94 00 00 00    	mov    0x94(%ebx),%eax
45af06:	89 45 f8             	mov    %eax,-0x8(%ebp)
45af09:	8b 83 98 00 00 00    	mov    0x98(%ebx),%eax
45af0f:	89 45 fc             	mov    %eax,-0x4(%ebp)
45af12:	8b 43 68             	mov    0x68(%ebx),%eax
45af15:	ff 70 1c             	push   0x1c(%eax)
45af18:	ff 15 d8 07 4b 00    	call   *0x4b07d8
45af1e:	50                   	push   %eax
45af1f:	e8 7e 9d fe ff       	call   0x444ca2
45af24:	8d 4d f8             	lea    -0x8(%ebp),%ecx
45af27:	51                   	push   %ecx
45af28:	ff 70 1c             	push   0x1c(%eax)
45af2b:	ff 15 64 06 4b 00    	call   *0x4b0664
45af31:	ff b3 a4 00 00 00    	push   0xa4(%ebx)
45af37:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
45af3a:	ff 75 fc             	push   -0x4(%ebp)
45af3d:	ff 75 f8             	push   -0x8(%ebp)
45af40:	ff 73 68             	push   0x68(%ebx)
45af43:	e8 41 99 00 00       	call   0x464889
45af48:	5b                   	pop    %ebx
45af49:	c9                   	leave
45af4a:	c3                   	ret
45af4b:	83 ec 1c             	sub    $0x1c,%esp
45af4e:	53                   	push   %ebx
45af4f:	55                   	push   %ebp
45af50:	56                   	push   %esi
45af51:	57                   	push   %edi
45af52:	8b 3d a8 07 4b 00    	mov    0x4b07a8,%edi
45af58:	33 db                	xor    %ebx,%ebx
45af5a:	53                   	push   %ebx
45af5b:	6a 0f                	push   $0xf
45af5d:	8b f1                	mov    %ecx,%esi
45af5f:	5d                   	pop    %ebp
45af60:	eb 22                	jmp    0x45af84
45af62:	55                   	push   %ebp
45af63:	55                   	push   %ebp
45af64:	53                   	push   %ebx
45af65:	8d 44 24 1c          	lea    0x1c(%esp),%eax
45af69:	50                   	push   %eax
45af6a:	ff 15 90 07 4b 00    	call   *0x4b0790
45af70:	85 c0                	test   %eax,%eax
45af72:	0f 84 87 00 00 00    	je     0x45afff
45af78:	8d 44 24 10          	lea    0x10(%esp),%eax
45af7c:	50                   	push   %eax
45af7d:	ff 15 98 07 4b 00    	call   *0x4b0798
45af83:	53                   	push   %ebx
45af84:	55                   	push   %ebp
45af85:	55                   	push   %ebp
45af86:	8d 44 24 1c          	lea    0x1c(%esp),%eax
45af8a:	53                   	push   %ebx
45af8b:	50                   	push   %eax
45af8c:	ff d7                	call   *%edi
45af8e:	85 c0                	test   %eax,%eax
45af90:	75 d0                	jne    0x45af62
45af92:	8b 46 68             	mov    0x68(%esi),%eax
45af95:	8b 88 80 00 00 00    	mov    0x80(%eax),%ecx
45af9b:	89 4e 70             	mov    %ecx,0x70(%esi)
45af9e:	8b 40 7c             	mov    0x7c(%eax),%eax
45afa1:	25 00 f0 00 00       	and    $0xf000,%eax
45afa6:	89 46 78             	mov    %eax,0x78(%esi)
45afa9:	8d 46 0c             	lea    0xc(%esi),%eax
45afac:	50                   	push   %eax
45afad:	ff 15 3c 08 4b 00    	call   *0x4b083c
45afb3:	89 5e 20             	mov    %ebx,0x20(%esi)
45afb6:	89 5e 1c             	mov    %ebx,0x1c(%esi)
45afb9:	89 5e 24             	mov    %ebx,0x24(%esi)
45afbc:	89 5e 7c             	mov    %ebx,0x7c(%esi)
45afbf:	89 9e 80 00 00 00    	mov    %ebx,0x80(%esi)
45afc5:	ff 15 60 08 4b 00    	call   *0x4b0860
45afcb:	50                   	push   %eax
45afcc:	e8 d1 9c fe ff       	call   0x444ca2
45afd1:	8b f8                	mov    %eax,%edi
45afd3:	ff 77 1c             	push   0x1c(%edi)
45afd6:	ff 15 00 06 4b 00    	call   *0x4b0600
45afdc:	85 c0                	test   %eax,%eax
45afde:	74 07                	je     0x45afe7
45afe0:	68 03 04 00 00       	push   $0x403
45afe5:	eb 02                	jmp    0x45afe9
45afe7:	6a 03                	push   $0x3
45afe9:	53                   	push   %ebx
45afea:	ff 77 1c             	push   0x1c(%edi)
45afed:	ff 15 fc 05 4b 00    	call   *0x4b05fc
45aff3:	50                   	push   %eax
45aff4:	e8 60 43 ff ff       	call   0x44f359
45aff9:	89 86 84 00 00 00    	mov    %eax,0x84(%esi)
45afff:	5f                   	pop    %edi
45b000:	5e                   	pop    %esi
45b001:	5d                   	pop    %ebp
45b002:	5b                   	pop    %ebx
45b003:	83 c4 1c             	add    $0x1c,%esp
45b006:	c3                   	ret
45b007:	55                   	push   %ebp
45b008:	8b ec                	mov    %esp,%ebp
45b00a:	83 ec 24             	sub    $0x24,%esp
45b00d:	53                   	push   %ebx
45b00e:	56                   	push   %esi
45b00f:	33 c0                	xor    %eax,%eax
45b011:	57                   	push   %edi
45b012:	40                   	inc    %eax
45b013:	6a 00                	push   $0x0
45b015:	8b d9                	mov    %ecx,%ebx
45b017:	89 45 ec             	mov    %eax,-0x14(%ebp)
45b01a:	89 45 f0             	mov    %eax,-0x10(%ebp)
45b01d:	ff 15 f0 ff 4a 00    	call   *0x4afff0
45b023:	50                   	push   %eax
45b024:	e8 2d 46 ff ff       	call   0x44f656
45b029:	8b f0                	mov    %eax,%esi
45b02b:	89 75 f4             	mov    %esi,-0xc(%ebp)
45b02e:	e8 47 4e 00 00       	call   0x45fe7a
45b033:	89 45 fc             	mov    %eax,-0x4(%ebp)
45b036:	8b 43 74             	mov    0x74(%ebx),%eax
45b039:	89 75 f8             	mov    %esi,-0x8(%ebp)
45b03c:	be 00 a0 00 00       	mov    $0xa000,%esi
45b041:	85 c6                	test   %eax,%esi
45b043:	74 05                	je     0x45b04a
45b045:	8d 73 28             	lea    0x28(%ebx),%esi
45b048:	eb 46                	jmp    0x45b090
45b04a:	f6 c4 50             	test   $0x50,%ah
45b04d:	74 05                	je     0x45b054
45b04f:	8d 73 38             	lea    0x38(%ebx),%esi
45b052:	eb 3c                	jmp    0x45b090
45b054:	8b 3d 80 08 4b 00    	mov    0x4b0880,%edi
45b05a:	6a 20                	push   $0x20
45b05c:	ff d7                	call   *%edi
45b05e:	48                   	dec    %eax
45b05f:	6a 21                	push   $0x21
45b061:	89 45 ec             	mov    %eax,-0x14(%ebp)
45b064:	ff d7                	call   *%edi
45b066:	48                   	dec    %eax
45b067:	89 45 f0             	mov    %eax,-0x10(%ebp)
45b06a:	8b 43 78             	mov    0x78(%ebx),%eax
45b06d:	85 c6                	test   %eax,%esi
45b06f:	74 06                	je     0x45b077
45b071:	83 7b 7c 00          	cmpl   $0x0,0x7c(%ebx)
45b075:	74 0b                	je     0x45b082
45b077:	f6 c4 50             	test   $0x50,%ah
45b07a:	74 0b                	je     0x45b087
45b07c:	83 7b 7c 00          	cmpl   $0x0,0x7c(%ebx)
45b080:	74 05                	je     0x45b087
45b082:	8d 73 48             	lea    0x48(%ebx),%esi
45b085:	eb 03                	jmp    0x45b08a
45b087:	8d 73 58             	lea    0x58(%ebx),%esi
45b08a:	8b 45 fc             	mov    -0x4(%ebp),%eax
45b08d:	89 45 f8             	mov    %eax,-0x8(%ebp)
45b090:	8d 7d dc             	lea    -0x24(%ebp),%edi
45b093:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b094:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b095:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b096:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b097:	33 f6                	xor    %esi,%esi
45b099:	39 75 08             	cmp    %esi,0x8(%ebp)
45b09c:	74 06                	je     0x45b0a4
45b09e:	89 75 f0             	mov    %esi,-0x10(%ebp)
45b0a1:	89 75 ec             	mov    %esi,-0x14(%ebp)
45b0a4:	f6 43 75 f0          	testb  $0xf0,0x75(%ebx)
45b0a8:	74 0e                	je     0x45b0b8
45b0aa:	6a ff                	push   $0xffffffff
45b0ac:	6a ff                	push   $0xffffffff
45b0ae:	8d 45 dc             	lea    -0x24(%ebp),%eax
45b0b1:	50                   	push   %eax
45b0b2:	ff 15 88 06 4b 00    	call   *0x4b0688
45b0b8:	39 73 24             	cmp    %esi,0x24(%ebx)
45b0bb:	8b 45 fc             	mov    -0x4(%ebp),%eax
45b0be:	75 03                	jne    0x45b0c3
45b0c0:	8b 45 f4             	mov    -0xc(%ebp),%eax
45b0c3:	8b 8b 84 00 00 00    	mov    0x84(%ebx),%ecx
45b0c9:	50                   	push   %eax
45b0ca:	ff 75 f8             	push   -0x8(%ebp)
45b0cd:	8d 7b 0c             	lea    0xc(%ebx),%edi
45b0d0:	ff 73 20             	push   0x20(%ebx)
45b0d3:	8d 45 dc             	lea    -0x24(%ebp),%eax
45b0d6:	ff 73 1c             	push   0x1c(%ebx)
45b0d9:	57                   	push   %edi
45b0da:	ff 75 f0             	push   -0x10(%ebp)
45b0dd:	ff 75 ec             	push   -0x14(%ebp)
45b0e0:	50                   	push   %eax
45b0e1:	e8 33 4e 00 00       	call   0x45ff19
45b0e6:	8b 45 ec             	mov    -0x14(%ebp),%eax
45b0e9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45b0ec:	8d 75 dc             	lea    -0x24(%ebp),%esi
45b0ef:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b0f0:	89 43 1c             	mov    %eax,0x1c(%ebx)
45b0f3:	8b 45 f0             	mov    -0x10(%ebp),%eax
45b0f6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b0f7:	89 43 20             	mov    %eax,0x20(%ebx)
45b0fa:	33 c0                	xor    %eax,%eax
45b0fc:	39 4d f8             	cmp    %ecx,-0x8(%ebp)
45b0ff:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b100:	0f 94 c0             	sete   %al
45b103:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45b104:	5f                   	pop    %edi
45b105:	5e                   	pop    %esi
45b106:	89 43 24             	mov    %eax,0x24(%ebx)
45b109:	5b                   	pop    %ebx
45b10a:	c9                   	leave
45b10b:	c2 04 00             	ret    $0x4
45b10e:	8b 44 24 08          	mov    0x8(%esp),%eax
45b112:	56                   	push   %esi
45b113:	8b f1                	mov    %ecx,%esi
45b115:	8b 4c 24 08          	mov    0x8(%esp),%ecx
45b119:	39 01                	cmp    %eax,(%ecx)
45b11b:	74 3f                	je     0x45b15c
45b11d:	89 01                	mov    %eax,(%ecx)
45b11f:	8b 46 70             	mov    0x70(%esi),%eax
45b122:	f6 c4 a0             	test   $0xa0,%ah
45b125:	74 10                	je     0x45b137
45b127:	f6 c4 50             	test   $0x50,%ah
45b12a:	74 0b                	je     0x45b137
45b12c:	83 7e 7c 00          	cmpl   $0x0,0x7c(%esi)
45b130:	74 05                	je     0x45b137
45b132:	33 c0                	xor    %eax,%eax
45b134:	40                   	inc    %eax
45b135:	eb 02                	jmp    0x45b139
45b137:	33 c0                	xor    %eax,%eax
45b139:	83 be 80 00 00 00 00 	cmpl   $0x0,0x80(%esi)
45b140:	89 46 7c             	mov    %eax,0x7c(%esi)
45b143:	74 04                	je     0x45b149
45b145:	33 c0                	xor    %eax,%eax
45b147:	eb 07                	jmp    0x45b150
45b149:	8b ce                	mov    %esi,%ecx
45b14b:	e8 11 fb ff ff       	call   0x45ac61
45b150:	6a 00                	push   $0x0
45b152:	8b ce                	mov    %esi,%ecx
45b154:	89 46 74             	mov    %eax,0x74(%esi)
45b157:	e8 ab fe ff ff       	call   0x45b007
45b15c:	5e                   	pop    %esi
45b15d:	c2 08 00             	ret    $0x8
45b160:	55                   	push   %ebp
45b161:	8b ec                	mov    %esp,%ebp
45b163:	51                   	push   %ecx
45b164:	51                   	push   %ecx
45b165:	53                   	push   %ebx
45b166:	8b 5d 08             	mov    0x8(%ebp),%ebx
45b169:	56                   	push   %esi
45b16a:	8b f1                	mov    %ecx,%esi
45b16c:	8b 46 04             	mov    0x4(%esi),%eax
45b16f:	8b 4e 08             	mov    0x8(%esi),%ecx
45b172:	2b d8                	sub    %eax,%ebx
45b174:	8b 45 0c             	mov    0xc(%ebp),%eax
45b177:	57                   	push   %edi
45b178:	8b 3d 30 07 4b 00    	mov    0x4b0730,%edi
45b17e:	2b c1                	sub    %ecx,%eax
45b180:	50                   	push   %eax
45b181:	89 45 fc             	mov    %eax,-0x4(%ebp)
45b184:	53                   	push   %ebx
45b185:	8d 46 28             	lea    0x28(%esi),%eax
45b188:	50                   	push   %eax
45b189:	ff d7                	call   *%edi
45b18b:	8b 45 fc             	mov    -0x4(%ebp),%eax
45b18e:	50                   	push   %eax
45b18f:	53                   	push   %ebx
45b190:	8d 46 48             	lea    0x48(%esi),%eax
45b193:	50                   	push   %eax
45b194:	ff d7                	call   *%edi
45b196:	8b 45 fc             	mov    -0x4(%ebp),%eax
45b199:	50                   	push   %eax
45b19a:	53                   	push   %ebx
45b19b:	8d 46 38             	lea    0x38(%esi),%eax
45b19e:	50                   	push   %eax
45b19f:	ff d7                	call   *%edi
45b1a1:	8b 45 fc             	mov    -0x4(%ebp),%eax
45b1a4:	50                   	push   %eax
45b1a5:	53                   	push   %ebx
45b1a6:	8d 46 58             	lea    0x58(%esi),%eax
45b1a9:	50                   	push   %eax
45b1aa:	ff d7                	call   *%edi
45b1ac:	83 be 80 00 00 00 00 	cmpl   $0x0,0x80(%esi)
45b1b3:	8b 45 08             	mov    0x8(%ebp),%eax
45b1b6:	89 46 04             	mov    %eax,0x4(%esi)
45b1b9:	8b 45 0c             	mov    0xc(%ebp),%eax
45b1bc:	89 46 08             	mov    %eax,0x8(%esi)
45b1bf:	74 04                	je     0x45b1c5
45b1c1:	33 c0                	xor    %eax,%eax
45b1c3:	eb 07                	jmp    0x45b1cc
45b1c5:	8b ce                	mov    %esi,%ecx
45b1c7:	e8 95 fa ff ff       	call   0x45ac61
45b1cc:	6a 00                	push   $0x0
45b1ce:	8b ce                	mov    %esi,%ecx
45b1d0:	89 46 74             	mov    %eax,0x74(%esi)
45b1d3:	e8 2f fe ff ff       	call   0x45b007
45b1d8:	5f                   	pop    %edi
45b1d9:	5e                   	pop    %esi
45b1da:	5b                   	pop    %ebx
45b1db:	c9                   	leave
45b1dc:	c2 08 00             	ret    $0x8
45b1df:	83 7c 24 04 11       	cmpl   $0x11,0x4(%esp)
45b1e4:	56                   	push   %esi
45b1e5:	8b f1                	mov    %ecx,%esi
45b1e7:	75 10                	jne    0x45b1f9
45b1e9:	ff 74 24 0c          	push   0xc(%esp)
45b1ed:	8d 86 80 00 00 00    	lea    0x80(%esi),%eax
45b1f3:	50                   	push   %eax
45b1f4:	e8 15 ff ff ff       	call   0x45b10e
45b1f9:	83 7c 24 08 10       	cmpl   $0x10,0x8(%esp)
45b1fe:	75 0f                	jne    0x45b20f
45b200:	ff 74 24 0c          	push   0xc(%esp)
45b204:	8d 46 7c             	lea    0x7c(%esi),%eax
45b207:	50                   	push   %eax
45b208:	8b ce                	mov    %esi,%ecx
45b20a:	e8 ff fe ff ff       	call   0x45b10e
45b20f:	5e                   	pop    %esi
45b210:	c2 08 00             	ret    $0x8
45b213:	55                   	push   %ebp
45b214:	8b ec                	mov    %esp,%ebp
45b216:	83 ec 38             	sub    $0x38,%esp
45b219:	8b 45 08             	mov    0x8(%ebp),%eax
45b21c:	53                   	push   %ebx
45b21d:	8b d9                	mov    %ecx,%ebx
45b21f:	8b 4b 04             	mov    0x4(%ebx),%ecx
45b222:	8b 53 08             	mov    0x8(%ebx),%edx
45b225:	2b c1                	sub    %ecx,%eax