52ad95:	e8 66 b7 fd ff       	call   0x506500
52ad9a:	83 c4 14             	add    $0x14,%esp
52ad9d:	8b d0                	mov    %eax,%edx
52ad9f:	eb 36                	jmp    0x52add7
52ada1:	8b 7d cc             	mov    -0x34(%ebp),%edi
52ada4:	8d 42 01             	lea    0x1(%edx),%eax
52ada7:	89 46 6c             	mov    %eax,0x6c(%esi)
52adaa:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
52adad:	8b 46 68             	mov    0x68(%esi),%eax
52adb0:	c7 04 88 0b 00 00 00 	movl   $0xb,(%eax,%ecx,4)
52adb7:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
52adbe:	00
52adbf:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
52adc6:	00
52adc7:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
52adce:	00
52adcf:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
52add6:	00
52add7:	8d 42 01             	lea    0x1(%edx),%eax
52adda:	89 85 60 ff ff ff    	mov    %eax,-0xa0(%ebp)
52ade0:	8b 55 20             	mov    0x20(%ebp),%edx
52ade3:	85 d2                	test   %edx,%edx
52ade5:	74 5e                	je     0x52ae45
52ade7:	8b 4e 6c             	mov    0x6c(%esi),%ecx
52adea:	39 4e 70             	cmp    %ecx,0x70(%esi)
52aded:	7f 12                	jg     0x52ae01
52adef:	52                   	push   %edx
52adf0:	57                   	push   %edi
52adf1:	ff 75 1c             	push   0x1c(%ebp)
52adf4:	6a 35                	push   $0x35
52adf6:	56                   	push   %esi
52adf7:	e8 04 b7 fd ff       	call   0x506500
52adfc:	83 c4 14             	add    $0x14,%esp
52adff:	eb 2d                	jmp    0x52ae2e
52ae01:	8b 7d 1c             	mov    0x1c(%ebp),%edi
52ae04:	8d 41 01             	lea    0x1(%ecx),%eax
52ae07:	89 46 6c             	mov    %eax,0x6c(%esi)
52ae0a:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
52ae0d:	8b 46 68             	mov    0x68(%esi),%eax
52ae10:	89 7c 88 04          	mov    %edi,0x4(%eax,%ecx,4)
52ae14:	8b 7d cc             	mov    -0x34(%ebp),%edi
52ae17:	c7 04 88 35 00 00 00 	movl   $0x35,(%eax,%ecx,4)
52ae1e:	89 7c 88 08          	mov    %edi,0x8(%eax,%ecx,4)
52ae22:	89 54 88 0c          	mov    %edx,0xc(%eax,%ecx,4)
52ae26:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
52ae2d:	00
52ae2e:	8b 46 6c             	mov    0x6c(%esi),%eax
52ae31:	85 c0                	test   %eax,%eax
52ae33:	7e 10                	jle    0x52ae45
52ae35:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
52ae38:	ba 90 00 00 00       	mov    $0x90,%edx
52ae3d:	8b 46 68             	mov    0x68(%esi),%eax
52ae40:	66 89 54 88 ee       	mov    %dx,-0x12(%eax,%ecx,4)
52ae45:	8b 4e 6c             	mov    0x6c(%esi),%ecx
52ae48:	39 4e 70             	cmp    %ecx,0x70(%esi)
52ae4b:	7f 17                	jg     0x52ae64
52ae4d:	ff 75 1c             	push   0x1c(%ebp)
52ae50:	57                   	push   %edi
52ae51:	ff 75 14             	push   0x14(%ebp)
52ae54:	6a 20                	push   $0x20
52ae56:	56                   	push   %esi
52ae57:	e8 a4 b6 fd ff       	call   0x506500
52ae5c:	8b 55 14             	mov    0x14(%ebp),%edx
52ae5f:	83 c4 14             	add    $0x14,%esp
52ae62:	eb 30                	jmp    0x52ae94
52ae64:	8b 55 14             	mov    0x14(%ebp),%edx
52ae67:	8d 41 01             	lea    0x1(%ecx),%eax
52ae6a:	89 46 6c             	mov    %eax,0x6c(%esi)
52ae6d:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
52ae70:	8b 46 68             	mov    0x68(%esi),%eax
52ae73:	89 7c 88 08          	mov    %edi,0x8(%eax,%ecx,4)
52ae77:	8b 7d 1c             	mov    0x1c(%ebp),%edi
52ae7a:	89 7c 88 0c          	mov    %edi,0xc(%eax,%ecx,4)
52ae7e:	8b 7d cc             	mov    -0x34(%ebp),%edi
52ae81:	c7 04 88 20 00 00 00 	movl   $0x20,(%eax,%ecx,4)
52ae88:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
52ae8c:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
52ae93:	00
52ae94:	8d 43 ff             	lea    -0x1(%ebx),%eax
52ae97:	83 f8 05             	cmp    $0x5,%eax
52ae9a:	0f 87 0e 01 00 00    	ja     0x52afae
52aea0:	ff 24 85 18 c5 52 00 	jmp    *0x52c518(,%eax,4)
52aea7:	83 7d c8 00          	cmpl   $0x0,-0x38(%ebp)
52aeab:	74 57                	je     0x52af04
52aead:	8b 5d dc             	mov    -0x24(%ebp),%ebx
52aeb0:	8b cb                	mov    %ebx,%ecx
52aeb2:	6a ff                	push   $0xffffffff
52aeb4:	6a 01                	push   $0x1
52aeb6:	6a 05                	push   $0x5
52aeb8:	8b 43 74             	mov    0x74(%ebx),%eax
52aebb:	85 c0                	test   %eax,%eax
52aebd:	6a 00                	push   $0x0
52aebf:	6a 01                	push   $0x1
52aec1:	ff 75 1c             	push   0x1c(%ebp)
52aec4:	0f 45 c8             	cmovne %eax,%ecx
52aec7:	ff 75 18             	push   0x18(%ebp)
52aeca:	52                   	push   %edx
52aecb:	ff 75 9c             	push   -0x64(%ebp)
52aece:	c6 41 14 01          	movb   $0x1,0x14(%ecx)
52aed2:	ff 75 d8             	push   -0x28(%ebp)
52aed5:	53                   	push   %ebx
52aed6:	e8 c5 18 00 00       	call   0x52c7a0
52aedb:	6a 01                	push   $0x1
52aedd:	ff 75 c8             	push   -0x38(%ebp)
52aee0:	6a 52                	push   $0x52
52aee2:	56                   	push   %esi
52aee3:	e8 f8 6b 01 00       	call   0x541ae0
52aee8:	83 c4 3c             	add    $0x3c,%esp
52aeeb:	c7 85 68 ff ff ff 01 	movl   $0x1,-0x98(%ebp)
52aef2:	00 00 00
52aef5:	c7 85 70 ff ff ff 01 	movl   $0x1,-0x90(%ebp)
52aefc:	00 00 00
52aeff:	e9 f3 01 00 00       	jmp    0x52b0f7
52af04:	8b 5d d8             	mov    -0x28(%ebp),%ebx
52af07:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
52af0b:	74 25                	je     0x52af32
52af0d:	8b 55 dc             	mov    -0x24(%ebp),%edx
52af10:	8b ca                	mov    %edx,%ecx
52af12:	6a ff                	push   $0xffffffff
52af14:	6a 00                	push   $0x0
52af16:	ff 75 18             	push   0x18(%ebp)
52af19:	8b 42 74             	mov    0x74(%edx),%eax
52af1c:	85 c0                	test   %eax,%eax
52af1e:	ff 75 14             	push   0x14(%ebp)
52af21:	0f 45 c8             	cmovne %eax,%ecx
52af24:	53                   	push   %ebx
52af25:	52                   	push   %edx
52af26:	c6 41 14 01          	movb   $0x1,0x14(%ecx)
52af2a:	e8 21 1c 00 00       	call   0x52cb50
52af2f:	83 c4 18             	add    $0x18,%esp
52af32:	c7 85 70 ff ff ff 01 	movl   $0x1,-0x90(%ebp)
52af39:	00 00 00
52af3c:	e9 b6 01 00 00       	jmp    0x52b0f7
52af41:	52                   	push   %edx
52af42:	6a 00                	push   $0x0
52af44:	ff 75 d8             	push   -0x28(%ebp)
52af47:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
52af4d:	ff 75 dc             	push   -0x24(%ebp)
52af50:	e8 ab 60 01 00       	call   0x541000
52af55:	83 c4 14             	add    $0x14,%esp
52af58:	8b 4e 6c             	mov    0x6c(%esi),%ecx
52af5b:	39 4e 70             	cmp    %ecx,0x70(%esi)
52af5e:	7f 17                	jg     0x52af77
52af60:	6a 00                	push   $0x0
52af62:	ff 75 2c             	push   0x2c(%ebp)
52af65:	6a 00                	push   $0x0
52af67:	6a 0b                	push   $0xb
52af69:	56                   	push   %esi
52af6a:	e8 91 b5 fd ff       	call   0x506500
52af6f:	83 c4 14             	add    $0x14,%esp
52af72:	e9 80 01 00 00       	jmp    0x52b0f7
52af77:	8b 55 2c             	mov    0x2c(%ebp),%edx
52af7a:	8d 41 01             	lea    0x1(%ecx),%eax
52af7d:	89 46 6c             	mov    %eax,0x6c(%esi)
52af80:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
52af83:	8b 46 68             	mov    0x68(%esi),%eax
52af86:	c7 04 88 0b 00 00 00 	movl   $0xb,(%eax,%ecx,4)
52af8d:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
52af94:	00
52af95:	89 54 88 08          	mov    %edx,0x8(%eax,%ecx,4)
52af99:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
52afa0:	00
52afa1:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
52afa8:	00
52afa9:	e9 49 01 00 00       	jmp    0x52b0f7
52afae:	bb 02 00 00 00       	mov    $0x2,%ebx
52afb3:	8b 55 d8             	mov    -0x28(%ebp),%edx
52afb6:	0f b7 42 28          	movzwl 0x28(%edx),%eax
52afba:	66 85 c0             	test   %ax,%ax
52afbd:	78 27                	js     0x52afe6
52afbf:	98                   	cwtl
52afc0:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
52afc3:	8b 42 04             	mov    0x4(%edx),%eax
52afc6:	ff 34 88             	push   (%eax,%ecx,4)
52afc9:	8b 45 dc             	mov    -0x24(%ebp),%eax
52afcc:	ff 32                	push   (%edx)
52afce:	68 24 9d 6b 00       	push   $0x6b9d24
52afd3:	ff 30                	push   (%eax)
52afd5:	e8 66 5f 00 00       	call   0x530f40
52afda:	83 c4 10             	add    $0x10,%esp
52afdd:	c7 45 c0 13 06 00 00 	movl   $0x613,-0x40(%ebp)
52afe4:	eb 1b                	jmp    0x52b001
52afe6:	ff 32                	push   (%edx)
52afe8:	8b 45 dc             	mov    -0x24(%ebp),%eax
52afeb:	68 08 a7 6b 00       	push   $0x6ba708
52aff0:	ff 30                	push   (%eax)
52aff2:	e8 49 5f 00 00       	call   0x530f40
52aff7:	83 c4 0c             	add    $0xc,%esp
52affa:	c7 45 c0 13 0a 00 00 	movl   $0xa13,-0x40(%ebp)
52b001:	8b 4d dc             	mov    -0x24(%ebp),%ecx
52b004:	89 45 c4             	mov    %eax,-0x3c(%ebp)
52b007:	8b 79 08             	mov    0x8(%ecx),%edi
52b00a:	85 ff                	test   %edi,%edi
52b00c:	75 1f                	jne    0x52b02d
52b00e:	39 79 74             	cmp    %edi,0x74(%ecx)
52b011:	75 0c                	jne    0x52b01f
52b013:	8b 01                	mov    (%ecx),%eax
52b015:	f6 40 4c 08          	testb  $0x8,0x4c(%eax)
52b019:	75 04                	jne    0x52b01f
52b01b:	c6 41 17 01          	movb   $0x1,0x17(%ecx)
52b01f:	51                   	push   %ecx
52b020:	e8 eb 73 01 00       	call   0x542410
52b025:	8b 4d dc             	mov    -0x24(%ebp),%ecx
52b028:	83 c4 04             	add    $0x4,%esp
52b02b:	8b f8                	mov    %eax,%edi
52b02d:	83 fb 02             	cmp    $0x2,%ebx
52b030:	75 0c                	jne    0x52b03e
52b032:	8b 41 74             	mov    0x74(%ecx),%eax
52b035:	85 c0                	test   %eax,%eax
52b037:	0f 45 c8             	cmovne %eax,%ecx
52b03a:	c6 41 15 01          	movb   $0x1,0x15(%ecx)
52b03e:	8b 57 6c             	mov    0x6c(%edi),%edx
52b041:	89 55 a8             	mov    %edx,-0x58(%ebp)
52b044:	39 57 70             	cmp    %edx,0x70(%edi)
52b047:	7f 15                	jg     0x52b05e
52b049:	6a 00                	push   $0x0
52b04b:	53                   	push   %ebx
52b04c:	ff 75 c0             	push   -0x40(%ebp)
52b04f:	6a 44                	push   $0x44
52b051:	57                   	push   %edi
52b052:	e8 a9 b4 fd ff       	call   0x506500
52b057:	83 c4 14             	add    $0x14,%esp
52b05a:	8b d0                	mov    %eax,%edx
52b05c:	eb 31                	jmp    0x52b08f
52b05e:	8d 42 01             	lea    0x1(%edx),%eax
52b061:	89 47 6c             	mov    %eax,0x6c(%edi)
52b064:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
52b067:	8b 47 68             	mov    0x68(%edi),%eax
52b06a:	8b 55 c0             	mov    -0x40(%ebp),%edx
52b06d:	89 54 88 04          	mov    %edx,0x4(%eax,%ecx,4)
52b071:	8b 55 a8             	mov    -0x58(%ebp),%edx
52b074:	c7 04 88 44 00 00 00 	movl   $0x44,(%eax,%ecx,4)
52b07b:	89 5c 88 08          	mov    %ebx,0x8(%eax,%ecx,4)
52b07f:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
52b086:	00
52b087:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
52b08e:	00
52b08f:	8b 07                	mov    (%edi),%eax
52b091:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
52b095:	74 11                	je     0x52b0a8
52b097:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
52b09a:	51                   	push   %ecx
52b09b:	6a f9                	push   $0xfffffff9
52b09d:	50                   	push   %eax
52b09e:	e8 0d 8c fd ff       	call   0x503cb0
52b0a3:	83 c4 0c             	add    $0xc,%esp
52b0a6:	eb 35                	jmp    0x52b0dd
52b0a8:	85 d2                	test   %edx,%edx
52b0aa:	79 04                	jns    0x52b0b0
52b0ac:	8b 57 6c             	mov    0x6c(%edi),%edx
52b0af:	4a                   	dec    %edx
52b0b0:	8b 47 68             	mov    0x68(%edi),%eax
52b0b3:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
52b0b6:	80 7c 88 01 00       	cmpb   $0x0,0x1(%eax,%ecx,4)
52b0bb:	8d 04 88             	lea    (%eax,%ecx,4),%eax
52b0be:	8b 4d c4             	mov    -0x3c(%ebp),%ecx
52b0c1:	75 0d                	jne    0x52b0d0
52b0c3:	85 c9                	test   %ecx,%ecx
52b0c5:	74 16                	je     0x52b0dd
52b0c7:	89 48 10             	mov    %ecx,0x10(%eax)
52b0ca:	c6 40 01 f9          	movb   $0xf9,0x1(%eax)
52b0ce:	eb 0d                	jmp    0x52b0dd
52b0d0:	6a f9                	push   $0xfffffff9
52b0d2:	51                   	push   %ecx
52b0d3:	50                   	push   %eax
52b0d4:	57                   	push   %edi
52b0d5:	e8 66 eb 02 00       	call   0x559c40
52b0da:	83 c4 10             	add    $0x10,%esp
52b0dd:	8b 47 6c             	mov    0x6c(%edi),%eax
52b0e0:	85 c0                	test   %eax,%eax
52b0e2:	7e 10                	jle    0x52b0f4
52b0e4:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
52b0e7:	ba 02 00 00 00       	mov    $0x2,%edx
52b0ec:	8b 47 68             	mov    0x68(%edi),%eax
52b0ef:	66 89 54 88 ee       	mov    %dx,-0x12(%eax,%ecx,4)
52b0f4:	8b 7d cc             	mov    -0x34(%ebp),%edi
52b0f7:	8b 4e 0c             	mov    0xc(%esi),%ecx
52b0fa:	f7 d7                	not    %edi
52b0fc:	8b 41 3c             	mov    0x3c(%ecx),%eax
52b0ff:	03 41 38             	add    0x38(%ecx),%eax
52b102:	79 0d                	jns    0x52b111
52b104:	57                   	push   %edi
52b105:	56                   	push   %esi
52b106:	51                   	push   %ecx
52b107:	e8 94 86 fe ff       	call   0x5137a0
52b10c:	83 c4 0c             	add    $0xc,%esp
52b10f:	eb 09                	jmp    0x52b11a
52b111:	8b 49 40             	mov    0x40(%ecx),%ecx
52b114:	8b 46 6c             	mov    0x6c(%esi),%eax
52b117:	89 04 b9             	mov    %eax,(%ecx,%edi,4)
52b11a:	8b bd 60 ff ff ff    	mov    -0xa0(%ebp),%edi
52b120:	85 ff                	test   %edi,%edi
52b122:	74 7c                	je     0x52b1a0
52b124:	8b 5e 6c             	mov    0x6c(%esi),%ebx
52b127:	89 5d 88             	mov    %ebx,-0x78(%ebp)
52b12a:	39 5e 70             	cmp    %ebx,0x70(%esi)
52b12d:	7f 16                	jg     0x52b145
52b12f:	6a 00                	push   $0x0
52b131:	6a 00                	push   $0x0
52b133:	6a 00                	push   $0x0
52b135:	6a 0b                	push   $0xb
52b137:	56                   	push   %esi
52b138:	e8 c3 b3 fd ff       	call   0x506500
52b13d:	83 c4 14             	add    $0x14,%esp
52b140:	89 45 88             	mov    %eax,-0x78(%ebp)
52b143:	eb 33                	jmp    0x52b178
52b145:	8d 43 01             	lea    0x1(%ebx),%eax
52b148:	89 46 6c             	mov    %eax,0x6c(%esi)
52b14b:	8d 0c 9b             	lea    (%ebx,%ebx,4),%ecx
52b14e:	8b 46 68             	mov    0x68(%esi),%eax
52b151:	c7 04 88 0b 00 00 00 	movl   $0xb,(%eax,%ecx,4)
52b158:	c7 44 88 04 00 00 00 	movl   $0x0,0x4(%eax,%ecx,4)
52b15f:	00
52b160:	c7 44 88 08 00 00 00 	movl   $0x0,0x8(%eax,%ecx,4)
52b167:	00
52b168:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
52b16f:	00
52b170:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
52b177:	00
52b178:	8b 56 6c             	mov    0x6c(%esi),%edx
52b17b:	8d 4f ff             	lea    -0x1(%edi),%ecx
52b17e:	85 c9                	test   %ecx,%ecx
52b180:	79 03                	jns    0x52b185
52b182:	8d 4a ff             	lea    -0x1(%edx),%ecx
52b185:	8b 06                	mov    (%esi),%eax
52b187:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
52b18b:	74 07                	je     0x52b194
52b18d:	b8 ec 02 73 00       	mov    $0x7302ec,%eax
52b192:	eb 09                	jmp    0x52b19d
52b194:	8b 46 68             	mov    0x68(%esi),%eax
52b197:	8d 0c 89             	lea    (%ecx,%ecx,4),%ecx
52b19a:	8d 04 88             	lea    (%eax,%ecx,4),%eax
52b19d:	89 50 08             	mov    %edx,0x8(%eax)
52b1a0:	8b 4d d8             	mov    -0x28(%ebp),%ecx
52b1a3:	8b 45 8c             	mov    -0x74(%ebp),%eax
52b1a6:	8b d8                	mov    %eax,%ebx
52b1a8:	c7 45 d4 00 00 00 00 	movl   $0x0,-0x2c(%ebp)
52b1af:	89 5d 94             	mov    %ebx,-0x6c(%ebp)
52b1b2:	8b 79 08             	mov    0x8(%ecx),%edi
52b1b5:	89 7d d0             	mov    %edi,-0x30(%ebp)
52b1b8:	85 ff                	test   %edi,%edi
52b1ba:	0f 84 7b 0f 00 00    	je     0x52c13b
52b1c0:	8b 55 b8             	mov    -0x48(%ebp),%edx
52b1c3:	89 45 94             	mov    %eax,-0x6c(%ebp)
52b1c6:	33 c0                	xor    %eax,%eax
52b1c8:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
52b1cf:	00
52b1d0:	83 3c 82 00          	cmpl   $0x0,(%edx,%eax,4)
52b1d4:	0f 84 4c 0f 00 00    	je     0x52c126
52b1da:	8b 95 78 ff ff ff    	mov    -0x88(%ebp),%edx