454de7:	f3 7e 00             	repz jle 0x454dea
454dea:	00 03                	add    %al,(%ebx)
454dec:	c0 01 86             	rolb   $0x86,(%ecx)
454def:	08 0a                	or     %cl,(%edx)
454df1:	00 00                	add    %al,(%eax)
454df3:	8b 57 04             	mov    0x4(%edi),%edx
454df6:	52                   	push   %edx
454df7:	56                   	push   %esi
454df8:	e8 81 fb ff ff       	call   0x45497e
454dfd:	8b 8e 04 0a 00 00    	mov    0xa04(%esi),%ecx
454e03:	6a 00                	push   $0x0
454e05:	8d 45 e0             	lea    -0x20(%ebp),%eax
454e08:	50                   	push   %eax
454e09:	51                   	push   %ecx
454e0a:	e8 3f 80 00 00       	call   0x45ce4e
454e0f:	8d 55 e0             	lea    -0x20(%ebp),%edx
454e12:	52                   	push   %edx
454e13:	e8 c6 7e 00 00       	call   0x45ccde
454e18:	03 c0                	add    %eax,%eax
454e1a:	83 c4 38             	add    $0x38,%esp
454e1d:	01 86 08 0a 00 00    	add    %eax,0xa08(%esi)
454e23:	c7 45 14 00 00 00 03 	movl   $0x3000000,0x14(%ebp)
454e2a:	c0 01 86             	rolb   $0x86,(%ecx)
454e2d:	08 0a                	or     %cl,(%edx)
454e2f:	00 00                	add    %al,(%eax)
454e31:	8b 0f                	mov    (%edi),%ecx
454e33:	51                   	push   %ecx
454e34:	56                   	push   %esi
454e35:	e8 d4 fb ff ff       	call   0x454a0e
454e3a:	8b 86 04 0a 00 00    	mov    0xa04(%esi),%eax
454e40:	83 c4 40             	add    $0x40,%esp
454e43:	6a 00                	push   $0x0
454e45:	8d 55 e0             	lea    -0x20(%ebp),%edx
454e48:	52                   	push   %edx
454e49:	50                   	push   %eax
454e4a:	e8 8f 80 00 00       	call   0x45cede
454e4f:	8d 4d e0             	lea    -0x20(%ebp),%ecx
454e52:	51                   	push   %ecx
454e53:	e8 16 7f 00 00       	call   0x45cd6e
454e58:	03 c0                	add    %eax,%eax
454e5a:	01 86 08 0a 00 00    	add    %eax,0xa08(%esi)
454e60:	8b 86 04 0a 00 00    	mov    0xa04(%esi),%eax
454e66:	6a 00                	push   $0x0
454e68:	8d 55 80             	lea    -0x80(%ebp),%edx
454e6b:	52                   	push   %edx
454e6c:	50                   	push   %eax
454e6d:	e8 6c 80 00 8b       	call   0x8b45cede
454e72:	47                   	inc    %edi
454e73:	fc                   	cld
454e74:	50                   	push   %eax
454e75:	56                   	push   %esi
454e76:	e8 23 fc ff ff       	call   0x454a9e
454e7b:	8b 96 04 0a 00 00    	mov    0xa04(%esi),%edx
454e81:	6a 00                	push   $0x0
454e83:	8d 4d e0             	lea    -0x20(%ebp),%ecx
454e86:	51                   	push   %ecx
454e87:	52                   	push   %edx
454e88:	e8 e1 80 00 00       	call   0x45cf6e
454e8d:	8d 45 e0             	lea    -0x20(%ebp),%eax
454e90:	50                   	push   %eax
454e91:	e8 68 7f 00 00       	call   0x45cdfe
454e96:	8b 96 04 0a 00 00    	mov    0xa04(%esi),%edx
454e9c:	6a 00                	push   $0x0
454e9e:	8d 4d 98             	lea    -0x68(%ebp),%ecx
454ea1:	51                   	push   %ecx
454ea2:	03 c0                	add    %eax,%eax
454ea4:	01 86 08 0a 00 00    	add    %eax,0xa08(%esi)
454eaa:	52                   	push   %edx
454eab:	e8 be 80 00 00       	call   0x45cf6e
454eb0:	8d 45 98             	lea    -0x68(%ebp),%eax
454eb3:	50                   	push   %eax
454eb4:	e8 45 7f 00 42       	call   0x4245cdfe
454eb9:	81 00 00 8d 4d e0    	addl   $0xe04d8d00,(%eax)
454ebf:	51                   	push   %ecx
454ec0:	e8 c9 7f 00 00       	call   0x45ce8e
454ec5:	03 c0                	add    %eax,%eax
454ec7:	83 c4 28             	add    $0x28,%esp
454eca:	01 86 08 0a 00 00    	add    %eax,0xa08(%esi)
454ed0:	e9 87 01 00 00       	jmp    0x45505c
454ed5:	83 f8 08             	cmp    $0x8,%eax
454ed8:	0f 85 8f 01 00 00    	jne    0x45506d
454ede:	8b 8e 04 0a 00 00    	mov    0xa04(%esi),%ecx
454ee4:	6a 00                	push   $0x0
454ee6:	8d 45 c8             	lea    -0x38(%ebp),%eax
454ee9:	50                   	push   %eax
454eea:	51                   	push   %ecx
454eeb:	e8 0e 81 00 00       	call   0x45cffe
454ef0:	8d 55 c8             	lea    -0x38(%ebp),%edx
454ef3:	52                   	push   %edx
454ef4:	e8 95 7f 00 00       	call   0x45ce8e
454ef9:	03 c0                	add    %eax,%eax
454efb:	01 86 08 0a 00 ff    	add    %eax,-0xfff5f8(%esi)
454f01:	55                   	push   %ebp
454f02:	1c 85                	sbb    $0x85,%al
454f04:	c0 0f 85             	rorb   $0x85,(%edi)
454f07:	e1 01                	loope  0x454f0a
454f09:	00 00                	add    %al,(%eax)
454f0b:	8b 8e 04 0a 00 00    	mov    0xa04(%esi),%ecx
454f11:	50                   	push   %eax
454f12:	8d 45 b0             	lea    -0x50(%ebp),%eax
454f15:	50                   	push   %eax
454f16:	51                   	push   %ecx
454f17:	e8 72 81 00 00       	call   0x45d08e
454f1c:	8d 55 b0             	lea    -0x50(%ebp),%edx
454f1f:	52                   	push   %edx
454f20:	e8 f9 7f 00 00       	call   0x45cf1e
454f25:	03 c0                	add    %eax,%eax
454f27:	01 86 08 0a 00 00    	add    %eax,0xa08(%esi)
454f2d:	8b 45 fc             	mov    -0x4(%ebp),%eax
454f30:	8b 48 1c             	mov    0x1c(%eax),%ecx
454f33:	51                   	push   %ecx
454f34:	56                   	push   %esi
454f35:	e8 84 fc ff ff       	call   0x454bbe
454f3a:	8b 86 04 0a 00 00    	mov    0xa04(%esi),%eax
454f40:	6a 00                	push   $0x0
454f42:	8d 55 e0             	lea    -0x20(%ebp),%edx
454f45:	52                   	push   %edx
454f46:	50                   	push   %eax
454f47:	e8 02 fd ff ff       	call   0x454c4e
454f4c:	8b 96 04 0a 00 00    	mov    0xa04(%esi),%edx
454f52:	6a 00                	push   $0x0
454f54:	8d 4d e0             	lea    -0x20(%ebp),%ecx
454f57:	51                   	push   %ecx
454f58:	52                   	push   %edx
454f59:	e8 c0 81 00 00       	call   0x45d11e
454f5e:	8d 45 e0             	lea    -0x20(%ebp),%eax
454f61:	50                   	push   %eax
454f62:	e8 47 80 00 00       	call   0x45cfae
454f67:	03 c0                	add    %eax,%eax
454f69:	83 c4 38             	add    $0x38,%esp
454f6c:	01 86 08 0a 00 00    	add    %eax,0xa08(%esi)
454f72:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
454f79:	8b 13                	mov    (%ebx),%edx
454f7b:	8b 43 fc             	mov    -0x4(%ebx),%eax
454f7e:	8d 4d fc             	lea    -0x4(%ebp),%ecx
454f81:	51                   	push   %ecx
454f82:	6a 00                	push   $0x0
454f84:	6a 00                	push   $0x0
454f86:	52                   	push   %edx
454f87:	8b 55 0c             	mov    0xc(%ebp),%edx
454f8a:	50                   	push   %eax
454f8b:	8d 4b e8             	lea    -0x18(%ebx),%ecx
454f8e:	51                   	push   %ecx
454f8f:	52                   	push   %edx
454f90:	c4 40 6a             	les    0x6a(%eax),%eax
454f93:	00 8d 45 e0 50 51    	add    %cl,0x5150e045(%ebp)
454f99:	e8 10 82 00 00       	call   0x45d1ae
454f9e:	8d 55 e0             	lea    -0x20(%ebp),%edx
454fa1:	52                   	push   %edx
454fa2:	e8 97 80 00 00       	call   0x45d03e
454fa7:	8b 8e 04 0a 00 00    	mov    0xa04(%esi),%ecx
454fad:	03 c0                	add    %eax,%eax
454faf:	01 86 08 0a 00 00    	add    %eax,0xa08(%esi)
454fb5:	6a 00                	push   $0x0
454fb7:	8d 45 80             	lea    -0x80(%ebp),%eax
454fba:	50                   	push   %eax
454fbb:	51                   	push   %ecx
454fbc:	e8 ed 81 00 00       	call   0x45d1ae
454fc1:	8d 55 80             	lea    -0x80(%ebp),%edx
454fc4:	52                   	push   %edx
454fc5:	e8 74 80 00 00       	call   0x45d03e
454fca:	03 c0                	add    %eax,%eax
454fcc:	01 86 08 0a 00 00    	add    %eax,0xa08(%esi)
454fd2:	8b 43 04             	mov    0x4(%ebx),%eax
454fd5:	50                   	push   %eax
454fd6:	56                   	push   %esi
454fd7:	e8 62 82 00 00       	call   0x45d23e
454fdc:	8d 4d e0             	lea    -0x20(%ebp),%ecx
454fdf:	51                   	push   %ecx
454fe0:	e8 e9 80 00 00       	call   0x45d0ce
454fe5:	03 c0                	add    %eax,%eax
454fe7:	01 86 08 0a 00 00    	add    %eax,0xa08(%esi)
454fed:	8b 86 04 0a 00 00    	mov    0xa04(%esi),%eax
454ff3:	6a 00                	push   $0x0
454ff5:	8d 55 98             	lea    -0x68(%ebp),%edx
454ff8:	52                   	push   %edx
454ff9:	50                   	push   %eax
454ffa:	e8 3f 82 00 00       	call   0x45d23e
454fff:	8d 4d 98             	lea    -0x68(%ebp),%ecx
455002:	51                   	push   %ecx
455003:	e8 c6 80 00 00       	call   0x45d0ce
455008:	03 c0                	add    %eax,%eax
45500a:	01 86 08 0a 00 00    	add    %eax,0xa08(%esi)
455010:	8b 13                	mov    (%ebx),%edx
455012:	52                   	push   %edx
455013:	56                   	push   %esi
455014:	e8 55 fd ff ff       	call   0x454d6e
455019:	8b 8e 04 0a 00 00    	mov    0xa04(%esi),%ecx
45501f:	83 00 83             	addl   $0xffffff83,(%eax)
455022:	c4 14 83             	les    (%ebx,%eax,4),%edx
455025:	f8                   	clc
455026:	07                   	pop    %es
455027:	0f 85 78 01 00 00    	jne    0x4551a5
45502d:	8b 96 04 0a 00 00    	mov    0xa04(%esi),%edx
455033:	6a 00                	push   $0x0
455035:	8d 4d c8             	lea    -0x38(%ebp),%ecx
455038:	51                   	push   %ecx
455039:	52                   	push   %edx
45503a:	e8 8f 82 00 00       	call   0x45d2ce
45503f:	8d 45 c8             	lea    -0x38(%ebp),%eax
455042:	50                   	push   %eax
455043:	e8 16 81 00 00       	call   0x45d15e
455048:	03 c0                	add    %eax,%eax
45504a:	01 86 08 0a 00 00    	add    %eax,0xa08(%esi)
455050:	8b 4b fc             	mov    -0x4(%ebx),%ecx
455053:	51                   	push   %ecx
455054:	56                   	push   %esi
455055:	e8 a4 fd ff ff       	call   0x454dfe
45505a:	8b 86 04 0a 00 00    	mov    0xa04(%esi),%eax
455060:	6a 00                	push   $0x0
455062:	8d 55 e0             	lea    -0x20(%ebp),%edx
455065:	52                   	push   %edx
455066:	50                   	push   %eax
455067:	e8 8b 75 08 57       	call   0x574dc5f7
45506c:	8b 7d 10             	mov    0x10(%ebp),%edi
45506f:	83 c7 18             	add    $0x18,%edi
455072:	8b df                	mov    %edi,%ebx
455074:	89 45 f8             	mov    %eax,-0x8(%ebp)
455077:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
45507e:	8b 8e 04 0a 00 00    	mov    0xa04(%esi),%ecx
455084:	68 00 04 00 00       	push   $0x400
455089:	51                   	push   %ecx
45508a:	c7 86 08 0a 00 00 04 	movl   $0x4,0xa08(%esi)
455091:	00 00 00
455094:	e8 95 7e 00 00       	call   0x45cf2e
455099:	8b 86 04 0a 00 00    	mov    0xa04(%esi),%eax
45509f:	6a 06                	push   $0x6
4550a1:	8d 55 e0             	lea    -0x20(%ebp),%edx
4550a4:	52                   	push   %edx
4550a5:	50                   	push   %eax
4550a6:	e8 53 7e 00 00       	call   0x45cefe
4550ab:	8b 86 80 0b 00 75    	mov    0x75000b80(%esi),%eax
4550b1:	00 c7                	add    %al,%bh
4550b3:	45                   	inc    %ebp
4550b4:	84 74 00 3a          	test   %dh,0x3a(%eax,%eax,1)
4550b8:	00 c7                	add    %al,%bh
4550ba:	45                   	inc    %ebp
4550bb:	88 09                	mov    %cl,(%ecx)
4550bd:	00 00                	add    %al,(%eax)
4550bf:	00 c7                	add    %al,%bh
4550c1:	45                   	inc    %ebp
4550c2:	b0 50                	mov    $0x50,%al
4550c4:	00 61 00             	add    %ah,0x0(%ecx)
4550c7:	c7 45 b4 73 00 73 00 	movl   $0x730073,-0x4c(%ebp)
4550ce:	c7 45 b8 3a 00 09 00 	movl   $0x9003a,-0x48(%ebp)
4550d5:	66 89 55 bc          	mov    %dx,-0x44(%ebp)
4550d9:	c7 45 c8 4e 00 61 00 	movl   $0x61004e,-0x38(%ebp)
4550e0:	c7 45 cc 6d 00 65 00 	movl   $0x65006d,-0x34(%ebp)
4550e7:	c7 45 d0 3a 00 09 00 	movl   $0x9003a,-0x30(%ebp)
4550ee:	85 c0                	test   %eax,%eax
4550f0:	0f 84 79 03 00 00    	je     0x45546f
4550f6:	53                   	push   %ebx
4550f7:	56                   	push   %esi
4550f8:	89 45 8c             	mov    %eax,-0x74(%ebp)
4550fb:	89 45 90             	mov    %eax,-0x70(%ebp)
4550fe:	89 45 94             	mov    %eax,-0x6c(%ebp)
455101:	89 45 be             	mov    %eax,-0x42(%ebp)
455104:	89 45 c2             	mov    %eax,-0x3e(%ebp)
455107:	66 89 45 c6          	mov    %ax,-0x3a(%ebp)
45510b:	66 89 45 d4          	mov    %ax,-0x2c(%ebp)
45510f:	89 45 d6             	mov    %eax,-0x2a(%ebp)
455112:	89 45 da             	mov    %eax,-0x26(%ebp)
455115:	66 89 45 de          	mov    %ax,-0x22(%ebp)
455119:	8b 45 14             	mov    0x14(%ebp),%eax
45511c:	33 c9                	xor    %ecx,%ecx
45511e:	c7 45 e0 0d 00 0a 00 	movl   $0xa000d,-0x20(%ebp)
455125:	66 89 55 e4          	mov    %dx,-0x1c(%ebp)
455129:	c7 45 98 49 00 64 00 	movl   $0x640049,-0x68(%ebp)
455130:	c7 45 9c 3a 00 09 00 	movl   $0x9003a,-0x64(%ebp)
455137:	66 89 4d a0          	mov    %cx,-0x60(%ebp)
45513b:	c7 45 80 41 00 00 00 	movl   $0x41,-0x80(%ebp)
455142:	83 c4 10             	add    $0x10,%esp
455145:	03 c0                	add    %eax,%eax
455147:	01 87 08 0a 00 00    	add    %eax,0xa08(%edi)
45514d:	5f                   	pop    %edi
45514e:	5e                   	pop    %esi
45514f:	8b e5                	mov    %ebp,%esp
455151:	5d                   	pop    %ebp
455152:	c3                   	ret
455153:	47                   	inc    %edi
455154:	74 e5                	je     0x45513b
455156:	99                   	cltd
455157:	92                   	xchg   %eax,%edx
455158:	d8 28                	fsubrs (%eax)
45515a:	c1 8a dd 8e 55 8b ec 	rorl   $0xec,-0x74aa7123(%edx)
455161:	81 ec 80 00 00 00    	sub    $0x80,%esp
455167:	33 c0                	xor    %eax,%eax
455169:	33 d2                	xor    %edx,%edx
45516b:	89 45 e6             	mov    %eax,-0x1a(%ebp)
45516e:	89 45 ea             	mov    %eax,-0x16(%ebp)
455171:	89 45 ee             	mov    %eax,-0x12(%ebp)
455174:	89 45 f2             	mov    %eax,-0xe(%ebp)
455177:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
45517b:	89 45 a2             	mov    %eax,-0x5e(%ebp)
45517e:	89 45 a6             	mov    %eax,-0x5a(%ebp)
455181:	89 45 aa             	mov    %eax,-0x56(%ebp)
455184:	66 89 45 ae          	mov    %ax,-0x52(%ebp)
455188:	00 6a 00             	add    %ch,0x0(%edx)
45518b:	8d 55 d0             	lea    -0x30(%ebp),%edx
45518e:	52                   	push   %edx
45518f:	50                   	push   %eax
455190:	e8 09 84 00 00       	call   0x45d59e
455195:	8d 4d d0             	lea    -0x30(%ebp),%ecx
455198:	51                   	push   %ecx
455199:	e8 90 82 00 00       	call   0x45d42e
45519e:	83 c4 2c             	add    $0x2c,%esp
4551a1:	03 c0                	add    %eax,%eax
4551a3:	01 86 08 0a 00 00    	add    %eax,0xa08(%esi)
4551a9:	5e                   	pop    %esi
4551aa:	8b e5                	mov    %ebp,%esp
4551ac:	5d                   	pop    %ebp
4551ad:	c3                   	ret
4551ae:	83 f8 07             	cmp    $0x7,%eax
4551b1:	75 2b                	jne    0x4551de
4551b3:	8b 56 10             	mov    0x10(%esi),%edx
4551b6:	57                   	push   %edi
4551b7:	8b 7d 08             	mov    0x8(%ebp),%edi
4551ba:	8b 87 04 0a 00 00    	mov    0xa04(%edi),%eax
4551c0:	6a 00                	push   $0x0
4551c2:	52                   	push   %edx
4551c3:	50                   	push   %eax
4551c4:	e8 d5 83 00 00       	call   0x45d59e
4551c9:	8b 4e 10             	mov    0x10(%esi),%ecx
4551cc:	51                   	push   %ecx
4551cd:	e8 5c 82 6d 04       	call   0x4b2d42e
4551d2:	00 00                	add    %al,(%eax)
4551d4:	00 00                	add    %al,(%eax)
4551d6:	00 6a 00             	add    %ch,0x0(%edx)
4551d9:	8d 45 d0             	lea    -0x30(%ebp),%eax
4551dc:	50                   	push   %eax
4551dd:	51                   	push   %ecx
4551de:	e8 4b 84 00 00       	call   0x45d62e
4551e3:	8d 55 d0             	lea    -0x30(%ebp),%edx
4551e6:	52                   	push   %edx
4551e7:	eb 40                	jmp    0x455229
4551e9:	83 f8 04             	cmp    $0x4,%eax
4551ec:	75 50                	jne    0x45523e
4551ee:	8b 4e 10             	mov    0x10(%esi),%ecx
4551f1:	8b 75 08             	mov    0x8(%ebp),%esi
4551f4:	8d 45 f0             	lea    -0x10(%ebp),%eax
4551f7:	50                   	push   %eax
4551f8:	6a 08                	push   $0x8
4551fa:	6a 00                	push   $0x0
4551fc:	51                   	push   %ecx
4551fd:	8d 56 1c             	lea    0x1c(%esi),%edx
455200:	52                   	push   %edx
455201:	e8 f8 81 00 00       	call   0x45d3fe
455206:	8d 45 f0             	lea    -0x10(%ebp),%eax
455209:	50                   	push   %eax
45520a:	8d 4d d0             	lea    -0x30(%ebp),%ecx