52be4d:	6a 32                	push   $0x32
52be4f:	56                   	push   %esi
52be50:	e8 ab a6 fd ff       	call   0x506500
52be55:	8b 55 94             	mov    -0x6c(%ebp),%edx
52be58:	83 c4 14             	add    $0x14,%esp
52be5b:	eb 31                	jmp    0x52be8e
52be5d:	8b 55 a8             	mov    -0x58(%ebp),%edx
52be60:	8d 41 01             	lea    0x1(%ecx),%eax
52be63:	89 46 6c             	mov    %eax,0x6c(%esi)
52be66:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
52be69:	8b 46 68             	mov    0x68(%esi),%eax
52be6c:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
52be70:	8b 55 94             	mov    -0x6c(%ebp),%edx
52be73:	c7 04 88 32 00 00 00 	movl   $0x32,(%eax,%ecx,4)
52be7a:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
52be7e:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
52be85:	00
52be86:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
52be8d:	00
52be8e:	85 ff                	test   %edi,%edi
52be90:	0f 8e 51 01 00 00    	jle    0x52bfe7
52be96:	8b 45 bc             	mov    -0x44(%ebp),%eax
52be99:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
52bea0:	8b c8                	mov    %eax,%ecx
52bea2:	85 c0                	test   %eax,%eax
52bea4:	79 04                	jns    0x52beaa
52bea6:	8b 4e 6c             	mov    0x6c(%esi),%ecx
52bea9:	49                   	dec    %ecx
52beaa:	8b 06                	mov    (%esi),%eax
52beac:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
52beb0:	74 07                	je     0x52beb9
52beb2:	bf ec 02 73 00       	mov    $0x7302ec,%edi
52beb7:	eb 09                	jmp    0x52bec2
52beb9:	8b 46 68             	mov    0x68(%esi),%eax
52bebc:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
52bebf:	8d 3c 88             	lea    (%eax,%ecx,4),%edi
52bec2:	0f 10 07             	movups (%edi),%xmm0
52bec5:	8b 7f 10             	mov    0x10(%edi),%edi
52bec8:	66 0f 7e c0          	movd   %xmm0,%eax
52becc:	0f 11 45 e8          	movups %xmm0,-0x18(%ebp)
52bed0:	3c 86                	cmp    $0x86,%al
52bed2:	0f 84 f3 00 00 00    	je     0x52bfcb
52bed8:	0f b6 c8             	movzbl %al,%ecx
52bedb:	89 4d a8             	mov    %ecx,-0x58(%ebp)
52bede:	f6 81 20 2b 6b 00 01 	testb  $0x1,0x6b2b20(%ecx)
52bee5:	8b 4d f0             	mov    -0x10(%ebp),%ecx
52bee8:	0f 45 ca             	cmovne %edx,%ecx
52beeb:	8b 56 6c             	mov    0x6c(%esi),%edx
52beee:	c1 e8 08             	shr    $0x8,%eax
52bef1:	89 8d 58 ff ff ff    	mov    %ecx,-0xa8(%ebp)
52bef7:	0f be d8             	movsbl %al,%ebx
52befa:	39 56 70             	cmp    %edx,0x70(%esi)
52befd:	7f 18                	jg     0x52bf17
52beff:	ff 75 f4             	push   -0xc(%ebp)
52bf02:	8b 45 a8             	mov    -0x58(%ebp),%eax
52bf05:	51                   	push   %ecx
52bf06:	ff 75 ec             	push   -0x14(%ebp)
52bf09:	50                   	push   %eax
52bf0a:	56                   	push   %esi
52bf0b:	e8 f0 a5 fd ff       	call   0x506500
52bf10:	83 c4 14             	add    $0x14,%esp
52bf13:	8b d0                	mov    %eax,%edx
52bf15:	eb 3c                	jmp    0x52bf53
52bf17:	8d 42 01             	lea    0x1(%edx),%eax
52bf1a:	89 46 6c             	mov    %eax,0x6c(%esi)
52bf1d:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
52bf20:	8b 46 68             	mov    0x68(%esi),%eax
52bf23:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
52bf2a:	00
52bf2b:	c6 44 88 01 00       	movb   $0x0,0x1(%eax,%ecx,4)
52bf30:	8d 0c 88             	lea    (%eax,%ecx,4),%ecx
52bf33:	8b 45 a8             	mov    -0x58(%ebp),%eax
52bf36:	88 01                	mov    %al,(%ecx)
52bf38:	33 c0                	xor    %eax,%eax
52bf3a:	66 89 41 02          	mov    %ax,0x2(%ecx)
52bf3e:	8b 45 ec             	mov    -0x14(%ebp),%eax
52bf41:	89 41 04             	mov    %eax,0x4(%ecx)
52bf44:	8b 85 58 ff ff ff    	mov    -0xa8(%ebp),%eax
52bf4a:	89 41 08             	mov    %eax,0x8(%ecx)
52bf4d:	8b 45 f4             	mov    -0xc(%ebp),%eax
52bf50:	89 41 0c             	mov    %eax,0xc(%ecx)
52bf53:	8b 06                	mov    (%esi),%eax
52bf55:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
52bf59:	74 12                	je     0x52bf6d
52bf5b:	83 fb f4             	cmp    $0xfffffff4,%ebx
52bf5e:	74 55                	je     0x52bfb5
52bf60:	57                   	push   %edi
52bf61:	53                   	push   %ebx
52bf62:	50                   	push   %eax
52bf63:	e8 48 7d fd ff       	call   0x503cb0
52bf68:	83 c4 0c             	add    $0xc,%esp
52bf6b:	eb 48                	jmp    0x52bfb5
52bf6d:	85 d2                	test   %edx,%edx
52bf6f:	79 04                	jns    0x52bf75
52bf71:	8b 56 6c             	mov    0x6c(%esi),%edx
52bf74:	4a                   	dec    %edx
52bf75:	8b 46 68             	mov    0x68(%esi),%eax
52bf78:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
52bf7b:	8d 04 88             	lea    (%eax,%ecx,4),%eax
52bf7e:	85 db                	test   %ebx,%ebx
52bf80:	79 27                	jns    0x52bfa9
52bf82:	80 78 01 00          	cmpb   $0x0,0x1(%eax)
52bf86:	75 21                	jne    0x52bfa9
52bf88:	83 fb fd             	cmp    $0xfffffffd,%ebx
52bf8b:	75 08                	jne    0x52bf95
52bf8d:	89 78 10             	mov    %edi,0x10(%eax)
52bf90:	88 58 01             	mov    %bl,0x1(%eax)
52bf93:	eb 20                	jmp    0x52bfb5
52bf95:	85 ff                	test   %edi,%edi
52bf97:	74 1c                	je     0x52bfb5
52bf99:	89 78 10             	mov    %edi,0x10(%eax)
52bf9c:	88 58 01             	mov    %bl,0x1(%eax)
52bf9f:	83 fb f4             	cmp    $0xfffffff4,%ebx
52bfa2:	75 11                	jne    0x52bfb5
52bfa4:	ff 47 0c             	incl   0xc(%edi)
52bfa7:	eb 0c                	jmp    0x52bfb5
52bfa9:	53                   	push   %ebx
52bfaa:	57                   	push   %edi
52bfab:	50                   	push   %eax
52bfac:	56                   	push   %esi
52bfad:	e8 8e dc 02 00       	call   0x559c40
52bfb2:	83 c4 10             	add    $0x10,%esp
52bfb5:	8b 46 6c             	mov    0x6c(%esi),%eax
52bfb8:	85 c0                	test   %eax,%eax
52bfba:	7e 0f                	jle    0x52bfcb
52bfbc:	8b 4e 68             	mov    0x68(%esi),%ecx
52bfbf:	8d 14 80             	lea    (%eax,%eax,4),%edx
52bfc2:	66 8b 45 ea          	mov    -0x16(%ebp),%ax
52bfc6:	66 89 44 91 ee       	mov    %ax,-0x12(%ecx,%edx,4)
52bfcb:	8b 7d b4             	mov    -0x4c(%ebp),%edi
52bfce:	8b 45 bc             	mov    -0x44(%ebp),%eax
52bfd1:	4f                   	dec    %edi
52bfd2:	8b 55 94             	mov    -0x6c(%ebp),%edx
52bfd5:	40                   	inc    %eax
52bfd6:	89 7d b4             	mov    %edi,-0x4c(%ebp)
52bfd9:	89 45 bc             	mov    %eax,-0x44(%ebp)
52bfdc:	85 ff                	test   %edi,%edi
52bfde:	0f 8f bc fe ff ff    	jg     0x52bea0
52bfe4:	8b 5d dc             	mov    -0x24(%ebp),%ebx
52bfe7:	ff 75 d0             	push   -0x30(%ebp)
52bfea:	6a 02                	push   $0x2
52bfec:	53                   	push   %ebx
52bfed:	e8 8e 27 01 00       	call   0x53e780
52bff2:	8b 4d a0             	mov    -0x60(%ebp),%ecx
52bff5:	83 c4 0c             	add    $0xc,%esp
52bff8:	8b 56 6c             	mov    0x6c(%esi),%edx
52bffb:	85 c9                	test   %ecx,%ecx
52bffd:	79 03                	jns    0x52c002
52bfff:	8d 4a ff             	lea    -0x1(%edx),%ecx
52c002:	8b 06                	mov    (%esi),%eax
52c004:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
52c008:	74 07                	je     0x52c011
52c00a:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
52c00f:	eb 09                	jmp    0x52c01a
52c011:	8b 46 68             	mov    0x68(%esi),%eax
52c014:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
52c017:	8d 04 88             	lea    (%eax,%ecx,4),%eax
52c01a:	89 50 08             	mov    %edx,0x8(%eax)
52c01d:	c7 85 70 ff ff ff 01 	movl   $0x1,-0x90(%ebp)
52c024:	00 00 00
52c027:	8b 85 78 ff ff ff    	mov    -0x88(%ebp),%eax
52c02d:	3b 45 d0             	cmp    -0x30(%ebp),%eax
52c030:	0f 85 83 00 00 00    	jne    0x52c0b9
52c036:	8b 95 74 ff ff ff    	mov    -0x8c(%ebp),%edx
52c03c:	8b 4e 6c             	mov    0x6c(%esi),%ecx
52c03f:	42                   	inc    %edx
52c040:	39 4e 70             	cmp    %ecx,0x70(%esi)
52c043:	7f 12                	jg     0x52c057
52c045:	6a 00                	push   $0x0
52c047:	52                   	push   %edx
52c048:	6a 00                	push   $0x0
52c04a:	6a 0b                	push   $0xb
52c04c:	56                   	push   %esi
52c04d:	e8 ae a4 fd ff       	call   0x506500
52c052:	83 c4 14             	add    $0x14,%esp
52c055:	eb 2f                	jmp    0x52c086
52c057:	8d 41 01             	lea    0x1(%ecx),%eax
52c05a:	89 46 6c             	mov    %eax,0x6c(%esi)
52c05d:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
52c060:	8b 46 68             	mov    0x68(%esi),%eax
52c063:	c7 04 88 0b 00 00 00 	movl   $0xb,(%eax,%ecx,4)
52c06a:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
52c071:	00
52c072:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
52c076:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
52c07d:	00
52c07e:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
52c085:	00
52c086:	8b 85 64 ff ff ff    	mov    -0x9c(%ebp),%eax
52c08c:	8b c8                	mov    %eax,%ecx
52c08e:	8b 56 6c             	mov    0x6c(%esi),%edx
52c091:	85 c0                	test   %eax,%eax
52c093:	79 03                	jns    0x52c098
52c095:	8d 4a ff             	lea    -0x1(%edx),%ecx
52c098:	8b 06                	mov    (%esi),%eax
52c09a:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
52c09e:	74 0a                	je     0x52c0aa
52c0a0:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
52c0a5:	89 50 08             	mov    %edx,0x8(%eax)
52c0a8:	eb 35                	jmp    0x52c0df
52c0aa:	8b 46 68             	mov    0x68(%esi),%eax
52c0ad:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
52c0b0:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
52c0b4:	8d 04 88             	lea    (%eax,%ecx,4),%eax
52c0b7:	eb 26                	jmp    0x52c0df
52c0b9:	8b 4e 0c             	mov    0xc(%esi),%ecx
52c0bc:	8b 55 a4             	mov    -0x5c(%ebp),%edx
52c0bf:	f7 d2                	not    %edx
52c0c1:	8b 41 3c             	mov    0x3c(%ecx),%eax
52c0c4:	03 41 38             	add    0x38(%ecx),%eax
52c0c7:	79 0d                	jns    0x52c0d6
52c0c9:	52                   	push   %edx
52c0ca:	56                   	push   %esi
52c0cb:	51                   	push   %ecx
52c0cc:	e8 cf 76 fe ff       	call   0x5137a0
52c0d1:	83 c4 0c             	add    $0xc,%esp
52c0d4:	eb 09                	jmp    0x52c0df
52c0d6:	8b 49 40             	mov    0x40(%ecx),%ecx
52c0d9:	8b 46 6c             	mov    0x6c(%esi),%eax
52c0dc:	89 04 91             	mov    %eax,(%ecx,%edx,4)
52c0df:	8b 4d 98             	mov    -0x68(%ebp),%ecx
52c0e2:	3b 4d cc             	cmp    -0x34(%ebp),%ecx
52c0e5:	74 33                	je     0x52c11a
52c0e7:	8b 45 84             	mov    -0x7c(%ebp),%eax
52c0ea:	83 f8 01             	cmp    $0x1,%eax
52c0ed:	75 20                	jne    0x52c10f
52c0ef:	85 c9                	test   %ecx,%ecx
52c0f1:	74 27                	je     0x52c11a
52c0f3:	8a 43 13             	mov    0x13(%ebx),%al
52c0f6:	8b 7d d0             	mov    -0x30(%ebp),%edi
52c0f9:	8b 55 b8             	mov    -0x48(%ebp),%edx
52c0fc:	3c 08                	cmp    $0x8,%al
52c0fe:	73 20                	jae    0x52c120
52c100:	0f b6 c0             	movzbl %al,%eax
52c103:	89 8c 83 94 00 00 00 	mov    %ecx,0x94(%ebx,%eax,4)
52c10a:	fe 43 13             	incb   0x13(%ebx)
52c10d:	eb 11                	jmp    0x52c120
52c10f:	3b 43 1c             	cmp    0x1c(%ebx),%eax
52c112:	7e 06                	jle    0x52c11a
52c114:	89 43 1c             	mov    %eax,0x1c(%ebx)
52c117:	89 4b 20             	mov    %ecx,0x20(%ebx)
52c11a:	8b 55 b8             	mov    -0x48(%ebp),%edx
52c11d:	8b 7d d0             	mov    -0x30(%ebp),%edi
52c120:	8b 45 d4             	mov    -0x2c(%ebp),%eax
52c123:	8b 4d d8             	mov    -0x28(%ebp),%ecx
52c126:	8b 7f 14             	mov    0x14(%edi),%edi
52c129:	40                   	inc    %eax
52c12a:	89 7d d0             	mov    %edi,-0x30(%ebp)
52c12d:	89 45 d4             	mov    %eax,-0x2c(%ebp)
52c130:	85 ff                	test   %edi,%edi
52c132:	0f 85 98 f0 ff ff    	jne    0x52b1d0
52c138:	8b 5d 94             	mov    -0x6c(%ebp),%ebx
52c13b:	8b 95 60 ff ff ff    	mov    -0xa0(%ebp),%edx
52c141:	85 d2                	test   %edx,%edx
52c143:	74 71                	je     0x52c1b6
52c145:	8b 4e 6c             	mov    0x6c(%esi),%ecx
52c148:	39 4e 70             	cmp    %ecx,0x70(%esi)
52c14b:	7f 12                	jg     0x52c15f
52c14d:	6a 00                	push   $0x0
52c14f:	52                   	push   %edx
52c150:	6a 00                	push   $0x0
52c152:	6a 0b                	push   $0xb
52c154:	56                   	push   %esi
52c155:	e8 a6 a3 fd ff       	call   0x506500
52c15a:	83 c4 14             	add    $0x14,%esp
52c15d:	eb 2f                	jmp    0x52c18e
52c15f:	8d 41 01             	lea    0x1(%ecx),%eax
52c162:	89 46 6c             	mov    %eax,0x6c(%esi)
52c165:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
52c168:	8b 46 68             	mov    0x68(%esi),%eax
52c16b:	c7 04 88 0b 00 00 00 	movl   $0xb,(%eax,%ecx,4)
52c172:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
52c179:	00
52c17a:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
52c17e:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
52c185:	00
52c186:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
52c18d:	00
52c18e:	8b 4d 88             	mov    -0x78(%ebp),%ecx
52c191:	8b 56 6c             	mov    0x6c(%esi),%edx
52c194:	85 c9                	test   %ecx,%ecx
52c196:	79 03                	jns    0x52c19b
52c198:	8d 4a ff             	lea    -0x1(%edx),%ecx
52c19b:	8b 06                	mov    (%esi),%eax
52c19d:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
52c1a1:	74 07                	je     0x52c1aa
52c1a3:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
52c1a8:	eb 09                	jmp    0x52c1b3
52c1aa:	8b 46 68             	mov    0x68(%esi),%eax
52c1ad:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
52c1b0:	8d 04 88             	lea    (%eax,%ecx,4),%eax
52c1b3:	89 50 08             	mov    %edx,0x8(%eax)
52c1b6:	83 bd 68 ff ff ff 00 	cmpl   $0x0,-0x98(%ebp)
52c1bd:	0f 84 b2 02 00 00    	je     0x52c475
52c1c3:	8b 4e 6c             	mov    0x6c(%esi),%ecx
52c1c6:	39 4e 70             	cmp    %ecx,0x70(%esi)
52c1c9:	7f 13                	jg     0x52c1de
52c1cb:	6a 00                	push   $0x0
52c1cd:	53                   	push   %ebx
52c1ce:	ff 75 c8             	push   -0x38(%ebp)
52c1d1:	6a 14                	push   $0x14
52c1d3:	56                   	push   %esi
52c1d4:	e8 27 a3 fd ff       	call   0x506500
52c1d9:	83 c4 14             	add    $0x14,%esp
52c1dc:	eb 2e                	jmp    0x52c20c
52c1de:	8b 55 c8             	mov    -0x38(%ebp),%edx
52c1e1:	8d 41 01             	lea    0x1(%ecx),%eax
52c1e4:	89 46 6c             	mov    %eax,0x6c(%esi)
52c1e7:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
52c1ea:	8b 46 68             	mov    0x68(%esi),%eax
52c1ed:	c7 04 88 14 00 00 00 	movl   $0x14,(%eax,%ecx,4)
52c1f4:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
52c1f8:	89 5c 88 08          	mov    %ebx,0x8(%eax,%ecx,4)
52c1fc:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
52c203:	00
52c204:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
52c20b:	00
52c20c:	83 7d b0 00          	cmpl   $0x0,-0x50(%ebp)
52c210:	8b 7d 8c             	mov    -0x74(%ebp),%edi
52c213:	0f 85 f0 01 00 00    	jne    0x52c409
52c219:	8b 55 20             	mov    0x20(%ebp),%edx
52c21c:	85 d2                	test   %edx,%edx
52c21e:	74 5b                	je     0x52c27b
52c220:	8b 4e 6c             	mov    0x6c(%esi),%ecx
52c223:	39 4e 70             	cmp    %ecx,0x70(%esi)
52c226:	7f 12                	jg     0x52c23a
52c228:	52                   	push   %edx
52c229:	57                   	push   %edi
52c22a:	ff 75 1c             	push   0x1c(%ebp)
52c22d:	6a 35                	push   $0x35
52c22f:	56                   	push   %esi
52c230:	e8 cb a2 fd ff       	call   0x506500
52c235:	83 c4 14             	add    $0x14,%esp
52c238:	eb 2a                	jmp    0x52c264
52c23a:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
52c23d:	8d 41 01             	lea    0x1(%ecx),%eax
52c240:	89 46 6c             	mov    %eax,0x6c(%esi)
52c243:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
52c246:	8b 46 68             	mov    0x68(%esi),%eax
52c249:	c7 04 88 35 00 00 00 	movl   $0x35,(%eax,%ecx,4)
52c250:	89 5c 88 04          	mov    %ebx,0x4(%eax,%ecx,4)
52c254:	89 7c 88 08          	mov    %edi,0x8(%eax,%ecx,4)
52c258:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
52c25c:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
52c263:	00
52c264:	8b 46 6c             	mov    0x6c(%esi),%eax
52c267:	85 c0                	test   %eax,%eax
52c269:	7e 10                	jle    0x52c27b
52c26b:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
52c26e:	ba 90 00 00 00       	mov    $0x90,%edx