45be30:	75 ee                	jne    0x45be20
45be32:	5f                   	pop    %edi
45be33:	5e                   	pop    %esi
45be34:	5d                   	pop    %ebp
45be35:	5b                   	pop    %ebx
45be36:	83 c4 20             	add    $0x20,%esp
45be39:	c3                   	ret
45be3a:	cc                   	int3
45be3b:	cc                   	int3
45be3c:	cc                   	int3
45be3d:	cc                   	int3
45be3e:	cc                   	int3
45be3f:	cc                   	int3
45be40:	83 ec 0c             	sub    $0xc,%esp
45be43:	53                   	push   %ebx
45be44:	55                   	push   %ebp
45be45:	56                   	push   %esi
45be46:	8b 74 24 1c          	mov    0x1c(%esp),%esi
45be4a:	8b c2                	mov    %edx,%eax
45be4c:	8b ee                	mov    %esi,%ebp
45be4e:	89 44 24 0c          	mov    %eax,0xc(%esp)
45be52:	c1 ed 02             	shr    $0x2,%ebp
45be55:	33 db                	xor    %ebx,%ebx
45be57:	57                   	push   %edi
45be58:	33 ff                	xor    %edi,%edi
45be5a:	89 4c 24 18          	mov    %ecx,0x18(%esp)
45be5e:	89 6c 24 14          	mov    %ebp,0x14(%esp)
45be62:	85 ed                	test   %ebp,%ebp
45be64:	0f 84 8e 00 00 00    	je     0x45bef8
45be6a:	8b d1                	mov    %ecx,%edx
45be6c:	2b d0                	sub    %eax,%edx
45be6e:	83 fd 08             	cmp    $0x8,%ebp
45be71:	72 61                	jb     0x45bed4
45be73:	8b dd                	mov    %ebp,%ebx
45be75:	0f 57 db             	xorps  %xmm3,%xmm3
45be78:	83 e3 f8             	and    $0xfffffff8,%ebx
45be7b:	0f 57 d2             	xorps  %xmm2,%xmm2
45be7e:	83 c0 10             	add    $0x10,%eax
45be81:	0f 10 40 f0          	movups -0x10(%eax),%xmm0
45be85:	8d 40 20             	lea    0x20(%eax),%eax
45be88:	0f 10 0c b9          	movups (%ecx,%edi,4),%xmm1
45be8c:	83 c7 08             	add    $0x8,%edi
45be8f:	66 0f ef c8          	pxor   %xmm0,%xmm1
45be93:	66 0f eb d9          	por    %xmm1,%xmm3
45be97:	0f 10 4c 10 e0       	movups -0x20(%eax,%edx,1),%xmm1
45be9c:	0f 10 40 e0          	movups -0x20(%eax),%xmm0
45bea0:	66 0f ef c8          	pxor   %xmm0,%xmm1
45bea4:	66 0f eb d1          	por    %xmm1,%xmm2
45bea8:	3b fb                	cmp    %ebx,%edi
45beaa:	72 d5                	jb     0x45be81
45beac:	8b 44 24 10          	mov    0x10(%esp),%eax
45beb0:	66 0f eb d3          	por    %xmm3,%xmm2
45beb4:	0f 28 c2             	movaps %xmm2,%xmm0
45beb7:	66 0f 73 d8 08       	psrldq $0x8,%xmm0
45bebc:	66 0f eb d0          	por    %xmm0,%xmm2
45bec0:	0f 10 c2             	movups %xmm2,%xmm0
45bec3:	66 0f 73 d8 04       	psrldq $0x4,%xmm0
45bec8:	66 0f eb d0          	por    %xmm0,%xmm2
45becc:	66 0f 7e d3          	movd   %xmm2,%ebx
45bed0:	3b fd                	cmp    %ebp,%edi
45bed2:	73 24                	jae    0x45bef8
45bed4:	8d 0c b8             	lea    (%eax,%edi,4),%ecx
45bed7:	2b ef                	sub    %edi,%ebp
45bed9:	8b 7c 24 14          	mov    0x14(%esp),%edi
45bedd:	0f 1f 00             	nopl   (%eax)
45bee0:	8b 04 11             	mov    (%ecx,%edx,1),%eax
45bee3:	8d 49 04             	lea    0x4(%ecx),%ecx
45bee6:	33 41 fc             	xor    -0x4(%ecx),%eax
45bee9:	0b d8                	or     %eax,%ebx
45beeb:	83 ed 01             	sub    $0x1,%ebp
45beee:	75 f0                	jne    0x45bee0
45bef0:	8b 4c 24 18          	mov    0x18(%esp),%ecx
45bef4:	8b 44 24 10          	mov    0x10(%esp),%eax
45bef8:	c1 e7 02             	shl    $0x2,%edi
45befb:	2b f7                	sub    %edi,%esi
45befd:	75 0d                	jne    0x45bf0c
45beff:	5f                   	pop    %edi
45bf00:	5e                   	pop    %esi
45bf01:	85 db                	test   %ebx,%ebx
45bf03:	5d                   	pop    %ebp
45bf04:	0f 94 c0             	sete   %al
45bf07:	5b                   	pop    %ebx
45bf08:	83 c4 0c             	add    $0xc,%esp
45bf0b:	c3                   	ret
45bf0c:	03 c7                	add    %edi,%eax
45bf0e:	8b d3                	mov    %ebx,%edx
45bf10:	89 44 24 10          	mov    %eax,0x10(%esp)
45bf14:	03 cf                	add    %edi,%ecx
45bf16:	c1 ea 18             	shr    $0x18,%edx
45bf19:	8b c3                	mov    %ebx,%eax
45bf1b:	c1 e8 10             	shr    $0x10,%eax
45bf1e:	33 ff                	xor    %edi,%edi
45bf20:	0a d0                	or     %al,%dl
45bf22:	8b c3                	mov    %ebx,%eax
45bf24:	c1 e8 08             	shr    $0x8,%eax
45bf27:	0a d0                	or     %al,%dl
45bf29:	0a d3                	or     %bl,%dl
45bf2b:	85 f6                	test   %esi,%esi
45bf2d:	0f 84 ad 00 00 00    	je     0x45bfe0
45bf33:	8b 6c 24 10          	mov    0x10(%esp),%ebp
45bf37:	8b d9                	mov    %ecx,%ebx
45bf39:	2b dd                	sub    %ebp,%ebx
45bf3b:	83 fe 20             	cmp    $0x20,%esi
45bf3e:	0f 82 87 00 00 00    	jb     0x45bfcb
45bf44:	8b c6                	mov    %esi,%eax
45bf46:	0f 57 db             	xorps  %xmm3,%xmm3
45bf49:	83 e0 e0             	and    $0xffffffe0,%eax
45bf4c:	0f 57 d2             	xorps  %xmm2,%xmm2
45bf4f:	89 44 24 18          	mov    %eax,0x18(%esp)
45bf53:	8d 45 10             	lea    0x10(%ebp),%eax
45bf56:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
45bf5d:	00 00 00
45bf60:	0f 10 40 f0          	movups -0x10(%eax),%xmm0
45bf64:	8d 40 20             	lea    0x20(%eax),%eax
45bf67:	0f 10 0c 0f          	movups (%edi,%ecx,1),%xmm1
45bf6b:	83 c7 20             	add    $0x20,%edi
45bf6e:	66 0f ef c8          	pxor   %xmm0,%xmm1
45bf72:	66 0f eb d9          	por    %xmm1,%xmm3
45bf76:	0f 10 4c 18 e0       	movups -0x20(%eax,%ebx,1),%xmm1
45bf7b:	0f 10 40 e0          	movups -0x20(%eax),%xmm0
45bf7f:	66 0f ef c8          	pxor   %xmm0,%xmm1
45bf83:	66 0f eb d1          	por    %xmm1,%xmm2
45bf87:	3b 7c 24 18          	cmp    0x18(%esp),%edi
45bf8b:	72 d3                	jb     0x45bf60
45bf8d:	66 0f eb d3          	por    %xmm3,%xmm2
45bf91:	0f 28 c2             	movaps %xmm2,%xmm0
45bf94:	66 0f 73 d8 08       	psrldq $0x8,%xmm0
45bf99:	66 0f eb d0          	por    %xmm0,%xmm2
45bf9d:	0f 10 c2             	movups %xmm2,%xmm0
45bfa0:	66 0f 73 d8 04       	psrldq $0x4,%xmm0
45bfa5:	66 0f eb d0          	por    %xmm0,%xmm2
45bfa9:	0f 10 c2             	movups %xmm2,%xmm0
45bfac:	66 0f 73 d8 02       	psrldq $0x2,%xmm0
45bfb1:	66 0f eb d0          	por    %xmm0,%xmm2
45bfb5:	0f 10 c2             	movups %xmm2,%xmm0
45bfb8:	66 0f 73 d8 01       	psrldq $0x1,%xmm0
45bfbd:	66 0f eb d0          	por    %xmm0,%xmm2
45bfc1:	66 0f 7e d0          	movd   %xmm2,%eax
45bfc5:	0a d0                	or     %al,%dl
45bfc7:	3b fe                	cmp    %esi,%edi
45bfc9:	73 15                	jae    0x45bfe0
45bfcb:	8d 0c 2f             	lea    (%edi,%ebp,1),%ecx
45bfce:	2b f7                	sub    %edi,%esi
45bfd0:	8a 04 19             	mov    (%ecx,%ebx,1),%al
45bfd3:	8d 49 01             	lea    0x1(%ecx),%ecx
45bfd6:	32 41 ff             	xor    -0x1(%ecx),%al
45bfd9:	0a d0                	or     %al,%dl
45bfdb:	83 ee 01             	sub    $0x1,%esi
45bfde:	75 f0                	jne    0x45bfd0
45bfe0:	5f                   	pop    %edi
45bfe1:	5e                   	pop    %esi
45bfe2:	84 d2                	test   %dl,%dl
45bfe4:	5d                   	pop    %ebp
45bfe5:	0f 94 c0             	sete   %al
45bfe8:	5b                   	pop    %ebx
45bfe9:	83 c4 0c             	add    $0xc,%esp
45bfec:	c3                   	ret
45bfed:	cc                   	int3
45bfee:	cc                   	int3
45bfef:	cc                   	int3
45bff0:	83 ec 0c             	sub    $0xc,%esp
45bff3:	56                   	push   %esi
45bff4:	57                   	push   %edi
45bff5:	8b f9                	mov    %ecx,%edi
45bff7:	6a 10                	push   $0x10
45bff9:	57                   	push   %edi
45bffa:	e8 7b 9f 03 00       	call   0x495f7a
45bfff:	83 c4 08             	add    $0x8,%esp
45c002:	85 c0                	test   %eax,%eax
45c004:	75 32                	jne    0x45c038
45c006:	6a 00                	push   $0x0
45c008:	e8 29 98 03 00       	call   0x495836
45c00d:	8b f0                	mov    %eax,%esi
45c00f:	83 c4 04             	add    $0x4,%esp
45c012:	85 f6                	test   %esi,%esi
45c014:	74 28                	je     0x45c03e
45c016:	56                   	push   %esi
45c017:	e8 1a 98 03 00       	call   0x495836
45c01c:	83 c4 04             	add    $0x4,%esp
45c01f:	8b ce                	mov    %esi,%ecx
45c021:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45c027:	ff d6                	call   *%esi
45c029:	6a 10                	push   $0x10
45c02b:	57                   	push   %edi
45c02c:	e8 49 9f 03 00       	call   0x495f7a
45c031:	83 c4 08             	add    $0x8,%esp
45c034:	85 c0                	test   %eax,%eax
45c036:	74 ce                	je     0x45c006
45c038:	5f                   	pop    %edi
45c039:	5e                   	pop    %esi
45c03a:	83 c4 0c             	add    $0xc,%esp
45c03d:	c3                   	ret
45c03e:	8d 4c 24 08          	lea    0x8(%esp),%ecx
45c042:	e8 e9 bc fc ff       	call   0x427d30
45c047:	68 3c 20 4c 00       	push   $0x4c203c
45c04c:	8d 44 24 0c          	lea    0xc(%esp),%eax
45c050:	50                   	push   %eax
45c051:	e8 58 f5 00 00       	call   0x46b5ae
45c056:	cc                   	int3
45c057:	cc                   	int3
45c058:	cc                   	int3
45c059:	cc                   	int3
45c05a:	cc                   	int3
45c05b:	cc                   	int3
45c05c:	cc                   	int3
45c05d:	cc                   	int3
45c05e:	cc                   	int3
45c05f:	cc                   	int3
45c060:	83 ec 0c             	sub    $0xc,%esp
45c063:	56                   	push   %esi
45c064:	57                   	push   %edi
45c065:	8b f9                	mov    %ecx,%edi
45c067:	57                   	push   %edi
45c068:	e8 94 d6 01 00       	call   0x479701
45c06d:	83 c4 04             	add    $0x4,%esp
45c070:	85 c0                	test   %eax,%eax
45c072:	75 30                	jne    0x45c0a4
45c074:	6a 00                	push   $0x0
45c076:	e8 bb 97 03 00       	call   0x495836
45c07b:	8b f0                	mov    %eax,%esi
45c07d:	83 c4 04             	add    $0x4,%esp
45c080:	85 f6                	test   %esi,%esi
45c082:	74 26                	je     0x45c0aa
45c084:	56                   	push   %esi
45c085:	e8 ac 97 03 00       	call   0x495836
45c08a:	83 c4 04             	add    $0x4,%esp
45c08d:	8b ce                	mov    %esi,%ecx
45c08f:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45c095:	ff d6                	call   *%esi
45c097:	57                   	push   %edi
45c098:	e8 64 d6 01 00       	call   0x479701
45c09d:	83 c4 04             	add    $0x4,%esp
45c0a0:	85 c0                	test   %eax,%eax
45c0a2:	74 d0                	je     0x45c074
45c0a4:	5f                   	pop    %edi
45c0a5:	5e                   	pop    %esi
45c0a6:	83 c4 0c             	add    $0xc,%esp
45c0a9:	c3                   	ret
45c0aa:	8d 4c 24 08          	lea    0x8(%esp),%ecx
45c0ae:	e8 7d bc fc ff       	call   0x427d30
45c0b3:	68 3c 20 4c 00       	push   $0x4c203c
45c0b8:	8d 44 24 0c          	lea    0xc(%esp),%eax
45c0bc:	50                   	push   %eax
45c0bd:	e8 ec f4 00 00       	call   0x46b5ae
45c0c2:	cc                   	int3
45c0c3:	cc                   	int3
45c0c4:	cc                   	int3
45c0c5:	cc                   	int3
45c0c6:	cc                   	int3
45c0c7:	cc                   	int3
45c0c8:	cc                   	int3
45c0c9:	cc                   	int3
45c0ca:	cc                   	int3
45c0cb:	cc                   	int3
45c0cc:	cc                   	int3
45c0cd:	cc                   	int3
45c0ce:	cc                   	int3
45c0cf:	cc                   	int3
45c0d0:	55                   	push   %ebp
45c0d1:	8d ac 24 74 ff ff ff 	lea    -0x8c(%esp),%ebp
45c0d8:	81 ec 8c 00 00 00    	sub    $0x8c,%esp
45c0de:	6a ff                	push   $0xffffffff
45c0e0:	68 ad c1 49 00       	push   $0x49c1ad
45c0e5:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45c0eb:	50                   	push   %eax
45c0ec:	83 ec 08             	sub    $0x8,%esp
45c0ef:	a1 14 40 4c 00       	mov    0x4c4014,%eax
45c0f4:	33 c5                	xor    %ebp,%eax
45c0f6:	89 85 88 00 00 00    	mov    %eax,0x88(%ebp)
45c0fc:	53                   	push   %ebx
45c0fd:	56                   	push   %esi
45c0fe:	57                   	push   %edi
45c0ff:	50                   	push   %eax
45c100:	8d 45 f4             	lea    -0xc(%ebp),%eax
45c103:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45c109:	8b d9                	mov    %ecx,%ebx
45c10b:	8b bd 94 00 00 00    	mov    0x94(%ebp),%edi
45c111:	8d 43 18             	lea    0x18(%ebx),%eax
45c114:	50                   	push   %eax
45c115:	68 84 53 4c 00       	push   $0x4c5384
45c11a:	68 40 64 4b 00       	push   $0x4b6440
45c11f:	8b 17                	mov    (%edi),%edx
45c121:	8b 72 04             	mov    0x4(%edx),%esi
45c124:	8b ce                	mov    %esi,%ecx
45c126:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45c12c:	8b cf                	mov    %edi,%ecx
45c12e:	ff d6                	call   *%esi
45c130:	84 c0                	test   %al,%al
45c132:	0f 84 1c 01 00 00    	je     0x45c254
45c138:	8d 73 20             	lea    0x20(%ebx),%esi
45c13b:	56                   	push   %esi
45c13c:	68 84 17 4b 00       	push   $0x4b1784
45c141:	51                   	push   %ecx
45c142:	8b cf                	mov    %edi,%ecx
45c144:	e8 a7 4b fe ff       	call   0x440cf0
45c149:	8b 06                	mov    (%esi),%eax
45c14b:	48                   	dec    %eax
45c14c:	83 f8 06             	cmp    $0x6,%eax
45c14f:	0f 87 e6 00 00 00    	ja     0x45c23b
45c155:	8b 07                	mov    (%edi),%eax
45c157:	8d 4d ef             	lea    -0x11(%ebp),%ecx
45c15a:	51                   	push   %ecx
45c15b:	68 fc 53 4c 00       	push   $0x4c53fc
45c160:	68 54 64 4b 00       	push   $0x4b6454
45c165:	8b 70 04             	mov    0x4(%eax),%esi
45c168:	8b ce                	mov    %esi,%ecx
45c16a:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45c170:	8b cf                	mov    %edi,%ecx
45c172:	ff d6                	call   *%esi
45c174:	84 c0                	test   %al,%al
45c176:	74 2f                	je     0x45c1a7
45c178:	8b 07                	mov    (%edi),%eax
45c17a:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45c17d:	51                   	push   %ecx
45c17e:	68 9c 51 4c 00       	push   $0x4c519c
45c183:	68 b8 6f 4b 00       	push   $0x4b6fb8
45c188:	8b 70 04             	mov    0x4(%eax),%esi
45c18b:	8b ce                	mov    %esi,%ecx
45c18d:	c6 45 f0 01          	movb   $0x1,-0x10(%ebp)
45c191:	ff 15 d4 e2 49 00    	call   *0x49e2d4
45c197:	8b cf                	mov    %edi,%ecx
45c199:	ff d6                	call   *%esi
45c19b:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
45c19f:	74 06                	je     0x45c1a7
45c1a1:	0f b6 45 ef          	movzbl -0x11(%ebp),%eax
45c1a5:	eb 03                	jmp    0x45c1aa
45c1a7:	83 c8 ff             	or     $0xffffffff,%eax
45c1aa:	8b 73 20             	mov    0x20(%ebx),%esi
45c1ad:	b9 08 00 00 00       	mov    $0x8,%ecx
45c1b2:	89 43 1c             	mov    %eax,0x1c(%ebx)
45c1b5:	8b c1                	mov    %ecx,%eax
45c1b7:	99                   	cltd
45c1b8:	f7 fe                	idiv   %esi
45c1ba:	c7 43 2c 00 00 00 00 	movl   $0x0,0x2c(%ebx)
45c1c1:	c7 43 28 00 00 00 00 	movl   $0x0,0x28(%ebx)
45c1c8:	85 d2                	test   %edx,%edx
45c1ca:	74 10                	je     0x45c1dc
45c1cc:	0f 1f 40 00          	nopl   0x0(%eax)
45c1d0:	83 c1 08             	add    $0x8,%ecx
45c1d3:	8b c1                	mov    %ecx,%eax
45c1d5:	99                   	cltd
45c1d6:	f7 fe                	idiv   %esi
45c1d8:	85 d2                	test   %edx,%edx
45c1da:	75 f4                	jne    0x45c1d0
45c1dc:	8b c1                	mov    %ecx,%eax
45c1de:	99                   	cltd
45c1df:	f7 fe                	idiv   %esi
45c1e1:	8b f0                	mov    %eax,%esi
45c1e3:	89 73 24             	mov    %esi,0x24(%ebx)
45c1e6:	8b 4b 34             	mov    0x34(%ebx),%ecx