450f0f:	e8 37 45 fe ff       	call   0x43544b
450f14:	8b 07                	mov    (%edi),%eax
450f16:	8d 4d 08             	lea    0x8(%ebp),%ecx
450f19:	51                   	push   %ecx
450f1a:	8b cf                	mov    %edi,%ecx
450f1c:	ff 50 18             	call   *0x18(%eax)
450f1f:	50                   	push   %eax
450f20:	8d 4e 14             	lea    0x14(%esi),%ecx
450f23:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
450f27:	e8 c7 03 fb ff       	call   0x4012f3
450f2c:	8b 4d 08             	mov    0x8(%ebp),%ecx
450f2f:	83 c1 f0             	add    $0xfffffff0,%ecx
450f32:	88 5d fc             	mov    %bl,-0x4(%ebp)
450f35:	e8 18 04 fb ff       	call   0x401352
450f3a:	8b 45 0c             	mov    0xc(%ebp),%eax
450f3d:	83 4e 10 ff          	orl    $0xffffffff,0x10(%esi)
450f41:	89 46 18             	mov    %eax,0x18(%esi)
450f44:	f6 d0                	not    %al
450f46:	33 c9                	xor    %ecx,%ecx
450f48:	41                   	inc    %ecx
450f49:	22 c1                	and    %cl,%al
450f4b:	f6 d8                	neg    %al
450f4d:	53                   	push   %ebx
450f4e:	53                   	push   %ebx
450f4f:	89 4e 04             	mov    %ecx,0x4(%esi)
450f52:	89 4e 1c             	mov    %ecx,0x1c(%esi)
450f55:	53                   	push   %ebx
450f56:	89 7e 24             	mov    %edi,0x24(%esi)
450f59:	1b c0                	sbb    %eax,%eax
450f5b:	83 e0 d0             	and    $0xffffffd0,%eax
450f5e:	83 c0 40             	add    $0x40,%eax
450f61:	89 46 40             	mov    %eax,0x40(%esi)
450f64:	8b 45 14             	mov    0x14(%ebp),%eax
450f67:	89 5e 3c             	mov    %ebx,0x3c(%esi)
450f6a:	89 5e 38             	mov    %ebx,0x38(%esi)
450f6d:	89 1e                	mov    %ebx,(%esi)
450f6f:	c7 46 44 89 00 00 00 	movl   $0x89,0x44(%esi)
450f76:	89 46 30             	mov    %eax,0x30(%esi)
450f79:	89 5e 08             	mov    %ebx,0x8(%esi)
450f7c:	8b 07                	mov    (%edi),%eax
450f7e:	6a 03                	push   $0x3
450f80:	8b cf                	mov    %edi,%ecx
450f82:	ff 50 50             	call   *0x50(%eax)
450f85:	8b 4d 10             	mov    0x10(%ebp),%ecx
450f88:	83 e0 02             	and    $0x2,%eax
450f8b:	89 46 0c             	mov    %eax,0xc(%esi)
450f8e:	b8 80 00 00 00       	mov    $0x80,%eax
450f93:	3b c8                	cmp    %eax,%ecx
450f95:	7d 08                	jge    0x450f9f
450f97:	89 46 20             	mov    %eax,0x20(%esi)
450f9a:	89 5e 30             	mov    %ebx,0x30(%esi)
450f9d:	eb 03                	jmp    0x450fa2
450f9f:	89 4e 20             	mov    %ecx,0x20(%esi)
450fa2:	39 5e 30             	cmp    %ebx,0x30(%esi)
450fa5:	8b 7e 20             	mov    0x20(%esi),%edi
450fa8:	75 28                	jne    0x450fd2
450faa:	8b 4e 24             	mov    0x24(%esi),%ecx
450fad:	8b 01                	mov    (%ecx),%eax
450faf:	53                   	push   %ebx
450fb0:	53                   	push   %ebx
450fb1:	53                   	push   %ebx
450fb2:	6a 03                	push   $0x3
450fb4:	ff 50 50             	call   *0x50(%eax)
450fb7:	83 e0 01             	and    $0x1,%eax
450fba:	89 46 08             	mov    %eax,0x8(%esi)
450fbd:	75 11                	jne    0x450fd0
450fbf:	ff 76 20             	push   0x20(%esi)
450fc2:	e8 8e f0 fe ff       	call   0x440055
450fc7:	59                   	pop    %ecx
450fc8:	89 46 30             	mov    %eax,0x30(%esi)
450fcb:	89 5e 1c             	mov    %ebx,0x1c(%esi)
450fce:	eb 02                	jmp    0x450fd2
450fd0:	33 ff                	xor    %edi,%edi
450fd2:	f6 46 18 01          	testb  $0x1,0x18(%esi)
450fd6:	8b 46 30             	mov    0x30(%esi),%eax
450fd9:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
450fdc:	89 4e 2c             	mov    %ecx,0x2c(%esi)
450fdf:	74 02                	je     0x450fe3
450fe1:	8b c1                	mov    %ecx,%eax
450fe3:	8b 4d f4             	mov    -0xc(%ebp),%ecx
450fe6:	89 46 28             	mov    %eax,0x28(%esi)
450fe9:	5f                   	pop    %edi
450fea:	8b c6                	mov    %esi,%eax
450fec:	5e                   	pop    %esi
450fed:	5b                   	pop    %ebx
450fee:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
450ff5:	c9                   	leave
450ff6:	c2 10 00             	ret    $0x10
450ff9:	53                   	push   %ebx
450ffa:	55                   	push   %ebp
450ffb:	56                   	push   %esi
450ffc:	57                   	push   %edi
450ffd:	8b 7c 24 14          	mov    0x14(%esp),%edi
451001:	8b e9                	mov    %ecx,%ebp
451003:	68 71 92 48 00       	push   $0x489271
451008:	8b cf                	mov    %edi,%ecx
45100a:	e8 72 01 fb ff       	call   0x401181
45100f:	68 80 00 00 00       	push   $0x80
451014:	8b cf                	mov    %edi,%ecx
451016:	e8 75 01 fb ff       	call   0x401190
45101b:	8b f0                	mov    %eax,%esi
45101d:	eb 2c                	jmp    0x45104b
45101f:	56                   	push   %esi
451020:	ff 15 88 03 4b 00    	call   *0x4b0388
451026:	3d 80 00 00 00       	cmp    $0x80,%eax
45102b:	7c 37                	jl     0x451064
45102d:	80 7c 30 ff 0a       	cmpb   $0xa,-0x1(%eax,%esi,1)
451032:	74 30                	je     0x451064
451034:	8b 07                	mov    (%edi),%eax
451036:	8b 58 f4             	mov    -0xc(%eax),%ebx
451039:	8d 83 80 00 00 00    	lea    0x80(%ebx),%eax
45103f:	50                   	push   %eax
451040:	8b cf                	mov    %edi,%ecx
451042:	e8 49 01 fb ff       	call   0x401190
451047:	8b f0                	mov    %eax,%esi
451049:	03 f3                	add    %ebx,%esi
45104b:	6a 80                	push   $0xffffff80
45104d:	8b cd                	mov    %ebp,%ecx
45104f:	56                   	push   %esi
451050:	e8 00 fd ff ff       	call   0x450d55
451055:	8b cf                	mov    %edi,%ecx
451057:	6a ff                	push   $0xffffffff
451059:	8b d8                	mov    %eax,%ebx
45105b:	e8 c7 00 fb ff       	call   0x401127
451060:	85 db                	test   %ebx,%ebx
451062:	75 bb                	jne    0x45101f
451064:	6a 00                	push   $0x0
451066:	8b cf                	mov    %edi,%ecx
451068:	e8 23 01 fb ff       	call   0x401190
45106d:	8b 0f                	mov    (%edi),%ecx
45106f:	8b 49 f4             	mov    -0xc(%ecx),%ecx
451072:	85 c9                	test   %ecx,%ecx
451074:	74 10                	je     0x451086
451076:	80 7c 01 ff 0a       	cmpb   $0xa,-0x1(%ecx,%eax,1)
45107b:	75 09                	jne    0x451086
45107d:	49                   	dec    %ecx
45107e:	51                   	push   %ecx
45107f:	8b cf                	mov    %edi,%ecx
451081:	e8 c4 00 fb ff       	call   0x40114a
451086:	5f                   	pop    %edi
451087:	5e                   	pop    %esi
451088:	33 c0                	xor    %eax,%eax
45108a:	85 db                	test   %ebx,%ebx
45108c:	5d                   	pop    %ebp
45108d:	0f 95 c0             	setne  %al
451090:	5b                   	pop    %ebx
451091:	c2 04 00             	ret    $0x4
451094:	b8 3f 32 48 00       	mov    $0x48323f,%eax
451099:	e8 de 6b fc ff       	call   0x417c7c
45109e:	83 ec 0c             	sub    $0xc,%esp
4510a1:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4510a5:	53                   	push   %ebx
4510a6:	56                   	push   %esi
4510a7:	57                   	push   %edi
4510a8:	89 65 f0             	mov    %esp,-0x10(%ebp)
4510ab:	8b f9                	mov    %ecx,%edi
4510ad:	0f 84 95 00 00 00    	je     0x451148
4510b3:	8b 45 10             	mov    0x10(%ebp),%eax
4510b6:	85 c0                	test   %eax,%eax
4510b8:	74 0b                	je     0x4510c5
4510ba:	8b 4f 08             	mov    0x8(%edi),%ecx
4510bd:	81 c1 b0 f1 00 00    	add    $0xf1b0,%ecx
4510c3:	89 08                	mov    %ecx,(%eax)
4510c5:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4510c9:	e8 28 f1 fe ff       	call   0x4401f6
4510ce:	8b 10                	mov    (%eax),%edx
4510d0:	8b c8                	mov    %eax,%ecx
4510d2:	ff 52 0c             	call   *0xc(%edx)
4510d5:	83 c0 10             	add    $0x10,%eax
4510d8:	89 45 ec             	mov    %eax,-0x14(%ebp)
4510db:	8d 47 0c             	lea    0xc(%edi),%eax
4510de:	50                   	push   %eax
4510df:	8d 4d 10             	lea    0x10(%ebp),%ecx
4510e2:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4510e6:	e8 e7 ff fa ff       	call   0x4010d2
4510eb:	8b 75 10             	mov    0x10(%ebp),%esi
4510ee:	83 7e f4 00          	cmpl   $0x0,-0xc(%esi)
4510f2:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4510f6:	75 10                	jne    0x451108
4510f8:	68 06 f0 00 00       	push   $0xf006
4510fd:	8d 4d 10             	lea    0x10(%ebp),%ecx
451100:	e8 f9 00 fb ff       	call   0x4011fe
451105:	8b 75 10             	mov    0x10(%ebp),%esi
451108:	8b 47 08             	mov    0x8(%edi),%eax
45110b:	56                   	push   %esi
45110c:	05 b0 f1 00 00       	add    $0xf1b0,%eax
451111:	50                   	push   %eax
451112:	8d 45 ec             	lea    -0x14(%ebp),%eax
451115:	50                   	push   %eax
451116:	e8 43 71 00 00       	call   0x45825e
45111b:	ff 75 0c             	push   0xc(%ebp)
45111e:	ff 75 ec             	push   -0x14(%ebp)
451121:	ff 75 08             	push   0x8(%ebp)
451124:	ff 15 4c 03 4b 00    	call   *0x4b034c
45112a:	8d 4e f0             	lea    -0x10(%esi),%ecx
45112d:	e8 20 02 fb ff       	call   0x401352
451132:	8b 4d ec             	mov    -0x14(%ebp),%ecx
451135:	83 c1 f0             	add    $0xfffffff0,%ecx
451138:	e8 15 02 fb ff       	call   0x401352
45113d:	33 c0                	xor    %eax,%eax
45113f:	40                   	inc    %eax
451140:	eb 08                	jmp    0x45114a
451142:	b8 48 11 45 00       	mov    $0x451148,%eax
451147:	c3                   	ret
451148:	33 c0                	xor    %eax,%eax
45114a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45114d:	5f                   	pop    %edi
45114e:	5e                   	pop    %esi
45114f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
451156:	5b                   	pop    %ebx
451157:	c9                   	leave
451158:	c2 0c 00             	ret    $0xc
45115b:	b8 67 32 48 00       	mov    $0x483267,%eax
451160:	e8 17 6b fc ff       	call   0x417c7c
451165:	51                   	push   %ecx
451166:	51                   	push   %ecx
451167:	6a 10                	push   $0x10
451169:	e8 e7 ee fe ff       	call   0x440055
45116e:	59                   	pop    %ecx
45116f:	8b c8                	mov    %eax,%ecx
451171:	89 4d ec             	mov    %ecx,-0x14(%ebp)
451174:	33 c0                	xor    %eax,%eax
451176:	3b c8                	cmp    %eax,%ecx
451178:	89 45 fc             	mov    %eax,-0x4(%ebp)
45117b:	74 0b                	je     0x451188
45117d:	ff 75 0c             	push   0xc(%ebp)
451180:	ff 75 08             	push   0x8(%ebp)
451183:	e8 9c b8 fb ff       	call   0x40ca24
451188:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
45118c:	89 45 f0             	mov    %eax,-0x10(%ebp)
45118f:	68 e4 17 4a 00       	push   $0x4a17e4
451194:	8d 45 f0             	lea    -0x10(%ebp),%eax
451197:	50                   	push   %eax
451198:	e8 ba 63 fc ff       	call   0x417557
45119d:	cc                   	int3
45119e:	55                   	push   %ebp
45119f:	8b ec                	mov    %esp,%ebp
4511a1:	83 ec 10             	sub    $0x10,%esp
4511a4:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4511a8:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
4511ad:	89 45 fc             	mov    %eax,-0x4(%ebp)
4511b0:	74 13                	je     0x4511c5
4511b2:	6a f0                	push   $0xfffffff0
4511b4:	ff 75 08             	push   0x8(%ebp)
4511b7:	ff 15 14 08 4b 00    	call   *0x4b0814
4511bd:	83 e0 0f             	and    $0xf,%eax
4511c0:	3b 45 0c             	cmp    0xc(%ebp),%eax
4511c3:	74 04                	je     0x4511c9
4511c5:	33 c0                	xor    %eax,%eax
4511c7:	eb 23                	jmp    0x4511ec
4511c9:	6a 0a                	push   $0xa
4511cb:	8d 45 f0             	lea    -0x10(%ebp),%eax
4511ce:	50                   	push   %eax
4511cf:	ff 75 08             	push   0x8(%ebp)
4511d2:	ff 15 a4 06 4b 00    	call   *0x4b06a4
4511d8:	68 50 bf 48 00       	push   $0x48bf50
4511dd:	8d 45 f0             	lea    -0x10(%ebp),%eax
4511e0:	50                   	push   %eax
4511e1:	ff 15 94 03 4b 00    	call   *0x4b0394
4511e7:	f7 d8                	neg    %eax
4511e9:	1b c0                	sbb    %eax,%eax
4511eb:	40                   	inc    %eax
4511ec:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4511ef:	e8 ea 69 fc ff       	call   0x417bde
4511f4:	c9                   	leave
4511f5:	c2 08 00             	ret    $0x8
4511f8:	55                   	push   %ebp
4511f9:	8b ec                	mov    %esp,%ebp
4511fb:	83 ec 24             	sub    $0x24,%esp
4511fe:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
451203:	89 45 fc             	mov    %eax,-0x4(%ebp)
451206:	6a 20                	push   $0x20
451208:	8d 45 dc             	lea    -0x24(%ebp),%eax
45120b:	50                   	push   %eax
45120c:	ff 75 08             	push   0x8(%ebp)
45120f:	ff 15 a4 06 4b 00    	call   *0x4b06a4
451215:	ff 75 0c             	push   0xc(%ebp)
451218:	8d 45 dc             	lea    -0x24(%ebp),%eax
45121b:	50                   	push   %eax
45121c:	ff 15 94 03 4b 00    	call   *0x4b0394
451222:	8b 4d fc             	mov    -0x4(%ebp),%ecx
451225:	f7 d8                	neg    %eax
451227:	1b c0                	sbb    %eax,%eax
451229:	40                   	inc    %eax
45122a:	e8 af 69 fc ff       	call   0x417bde
45122f:	c9                   	leave
451230:	c2 08 00             	ret    $0x8
451233:	55                   	push   %ebp
451234:	8b ec                	mov    %esp,%ebp
451236:	81 ec 04 01 00 00    	sub    $0x104,%esp
45123c:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
451241:	56                   	push   %esi
451242:	ff 75 0c             	push   0xc(%ebp)
451245:	89 45 fc             	mov    %eax,-0x4(%ebp)
451248:	ff 15 88 03 4b 00    	call   *0x4b0388
45124e:	8b f0                	mov    %eax,%esi
451250:	b8 00 01 00 00       	mov    $0x100,%eax
451255:	3b f0                	cmp    %eax,%esi
451257:	77 29                	ja     0x451282
451259:	50                   	push   %eax
45125a:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
451260:	50                   	push   %eax
451261:	ff 75 08             	push   0x8(%ebp)
451264:	ff 15 d0 07 4b 00    	call   *0x4b07d0
45126a:	3b c6                	cmp    %esi,%eax
45126c:	75 14                	jne    0x451282
45126e:	ff 75 0c             	push   0xc(%ebp)
451271:	8d 85 fc fe ff ff    	lea    -0x104(%ebp),%eax
451277:	50                   	push   %eax
451278:	ff 15 ec 02 4b 00    	call   *0x4b02ec
45127e:	85 c0                	test   %eax,%eax
451280:	74 0c                	je     0x45128e
451282:	ff 75 0c             	push   0xc(%ebp)
451285:	ff 75 08             	push   0x8(%ebp)
451288:	ff 15 10 08 4b 00    	call   *0x4b0810
45128e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
451291:	5e                   	pop    %esi
451292:	e8 47 69 fc ff       	call   0x417bde
451297:	c9                   	leave
451298:	c2 08 00             	ret    $0x8
45129b:	56                   	push   %esi
45129c:	8b 74 24 08          	mov    0x8(%esp),%esi
4512a0:	8b 06                	mov    (%esi),%eax
4512a2:	85 c0                	test   %eax,%eax
4512a4:	74 0a                	je     0x4512b0
4512a6:	50                   	push   %eax
4512a7:	ff 15 c8 ff 4a 00    	call   *0x4affc8
4512ad:	83 26 00             	andl   $0x0,(%esi)
4512b0:	5e                   	pop    %esi
4512b1:	c2 04 00             	ret    $0x4
4512b4:	56                   	push   %esi
4512b5:	ff 15 d4 07 4b 00    	call   *0x4b07d4
4512bb:	8b f0                	mov    %eax,%esi
4512bd:	85 f6                	test   %esi,%esi
4512bf:	74 66                	je     0x451327
4512c1:	57                   	push   %edi
4512c2:	8b 7c 24 0c          	mov    0xc(%esp),%edi
4512c6:	3b f7                	cmp    %edi,%esi
4512c8:	74 5c                	je     0x451326
4512ca:	53                   	push   %ebx
4512cb:	6a 03                	push   $0x3
4512cd:	56                   	push   %esi
4512ce:	e8 cb fe ff ff       	call   0x45119e
4512d3:	85 c0                	test   %eax,%eax
4512d5:	8b 1d d8 07 4b 00    	mov    0x4b07d8,%ebx
4512db:	75 15                	jne    0x4512f2
4512dd:	56                   	push   %esi
4512de:	ff d3                	call   *%ebx
4512e0:	8b f0                	mov    %eax,%esi
4512e2:	3b f7                	cmp    %edi,%esi