50cd4a:	89 b7 0c 01 00 00    	mov    %esi,0x10c(%edi)
50cd50:	8b b5 84 09 00 00    	mov    0x984(%ebp),%esi
50cd56:	56                   	push   %esi
50cd57:	ff b5 80 09 00 00    	push   0x980(%ebp)
50cd5d:	ff b7 08 01 00 00    	push   0x108(%edi)
50cd63:	e8 1a 79 f0 ff       	call   0x414682
50cd68:	83 c4 0c             	add    $0xc,%esp
50cd6b:	c7 07 04 1d bd 00    	movl   $0xbd1d04,(%edi)
50cd71:	81 c7 10 01 00 00    	add    $0x110,%edi
50cd77:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
50cd7b:	8d 8d 78 08 00 00    	lea    0x878(%ebp),%ecx
50cd81:	89 7d cc             	mov    %edi,-0x34(%ebp)
50cd84:	e8 6f 17 f0 ff       	call   0x40e4f8
50cd89:	8b 8d 70 08 00 00    	mov    0x870(%ebp),%ecx
50cd8f:	85 c9                	test   %ecx,%ecx
50cd91:	74 37                	je     0x50cdca
50cd93:	80 39 00             	cmpb   $0x0,(%ecx)
50cd96:	74 32                	je     0x50cdca
50cd98:	0f be 85 6c 08 00 00 	movsbl 0x86c(%ebp),%eax
50cd9f:	50                   	push   %eax
50cda0:	51                   	push   %ecx
50cda1:	89 8d 74 08 00 00    	mov    %ecx,0x874(%ebp)
50cda7:	e8 a7 7f f0 ff       	call   0x414d53
50cdac:	83 c4 08             	add    $0x8,%esp
50cdaf:	89 85 70 08 00 00    	mov    %eax,0x870(%ebp)
50cdb5:	85 c0                	test   %eax,%eax
50cdb7:	74 09                	je     0x50cdc2
50cdb9:	c6 00 00             	movb   $0x0,(%eax)
50cdbc:	ff 85 70 08 00 00    	incl   0x870(%ebp)
50cdc2:	8b b5 74 08 00 00    	mov    0x874(%ebp),%esi
50cdc8:	eb 08                	jmp    0x50cdd2
50cdca:	33 f6                	xor    %esi,%esi
50cdcc:	89 b5 74 08 00 00    	mov    %esi,0x874(%ebp)
50cdd2:	85 f6                	test   %esi,%esi
50cdd4:	0f 85 16 fd ff ff    	jne    0x50caf0
50cdda:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
50cddd:	8d 8d 60 06 00 00    	lea    0x660(%ebp),%ecx
50cde3:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
50cde7:	e8 00 77 f1 ff       	call   0x4244ec
50cdec:	8b 75 dc             	mov    -0x24(%ebp),%esi
50cdef:	c7 85 78 08 00 00 f8 	movl   $0xbd1cf8,0x878(%ebp)
50cdf6:	1c bd 00
50cdf9:	8d 95 7c 08 00 00    	lea    0x87c(%ebp),%edx
50cdff:	89 95 80 09 00 00    	mov    %edx,0x980(%ebp)
50ce05:	c7 85 84 09 00 00 04 	movl   $0x104,0x984(%ebp)
50ce0c:	01 00 00
50ce0f:	85 f6                	test   %esi,%esi
50ce11:	75 09                	jne    0x50ce1c
50ce13:	c6 85 7c 08 00 00 00 	movb   $0x0,0x87c(%ebp)
50ce1a:	eb 7a                	jmp    0x50ce96
50ce1c:	8b ce                	mov    %esi,%ecx
50ce1e:	8d 41 01             	lea    0x1(%ecx),%eax
50ce21:	89 45 ec             	mov    %eax,-0x14(%ebp)
50ce24:	8a 01                	mov    (%ecx),%al
50ce26:	41                   	inc    %ecx
50ce27:	84 c0                	test   %al,%al
50ce29:	75 f9                	jne    0x50ce24
50ce2b:	2b 4d ec             	sub    -0x14(%ebp),%ecx
50ce2e:	8d 41 01             	lea    0x1(%ecx),%eax
50ce31:	89 45 e8             	mov    %eax,-0x18(%ebp)
50ce34:	3d 04 01 00 00       	cmp    $0x104,%eax
50ce39:	76 4b                	jbe    0x50ce86
50ce3b:	50                   	push   %eax
50ce3c:	e8 56 89 f2 ff       	call   0x435797
50ce41:	ff b5 84 09 00 00    	push   0x984(%ebp)
50ce47:	89 45 ec             	mov    %eax,-0x14(%ebp)
50ce4a:	ff b5 80 09 00 00    	push   0x980(%ebp)
50ce50:	50                   	push   %eax
50ce51:	e8 2c 78 f0 ff       	call   0x414682
50ce56:	8b 85 80 09 00 00    	mov    0x980(%ebp),%eax
50ce5c:	8d 8d 7c 08 00 00    	lea    0x87c(%ebp),%ecx
50ce62:	83 c4 10             	add    $0x10,%esp
50ce65:	3b c1                	cmp    %ecx,%eax
50ce67:	74 09                	je     0x50ce72
50ce69:	50                   	push   %eax
50ce6a:	e8 a3 17 f3 ff       	call   0x43e612
50ce6f:	83 c4 04             	add    $0x4,%esp
50ce72:	8b 55 ec             	mov    -0x14(%ebp),%edx
50ce75:	8b 45 e8             	mov    -0x18(%ebp),%eax
50ce78:	89 95 80 09 00 00    	mov    %edx,0x980(%ebp)
50ce7e:	89 85 84 09 00 00    	mov    %eax,0x984(%ebp)
50ce84:	eb 05                	jmp    0x50ce8b
50ce86:	b8 04 01 00 00       	mov    $0x104,%eax
50ce8b:	56                   	push   %esi
50ce8c:	50                   	push   %eax
50ce8d:	52                   	push   %edx
50ce8e:	e8 fe 29 f3 ff       	call   0x43f891
50ce93:	83 c4 0c             	add    $0xc,%esp
50ce96:	c7 85 78 08 00 00 04 	movl   $0xbd1d04,0x878(%ebp)
50ce9d:	1d bd 00
50cea0:	8d 85 78 08 00 00    	lea    0x878(%ebp),%eax
50cea6:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
50ceaa:	3b c7                	cmp    %edi,%eax
50ceac:	0f 83 dd 00 00 00    	jae    0x50cf8f
50ceb2:	3b d8                	cmp    %eax,%ebx
50ceb4:	0f 87 d5 00 00 00    	ja     0x50cf8f
50ceba:	8b c8                	mov    %eax,%ecx
50cebc:	b8 79 78 78 78       	mov    $0x78787879,%eax
50cec1:	2b cb                	sub    %ebx,%ecx
50cec3:	f7 e9                	imul   %ecx
50cec5:	c1 fa 07             	sar    $0x7,%edx
50cec8:	8b f2                	mov    %edx,%esi
50ceca:	c1 ee 1f             	shr    $0x1f,%esi
50cecd:	03 f2                	add    %edx,%esi
50cecf:	3b 7d d4             	cmp    -0x2c(%ebp),%edi
50ced2:	75 19                	jne    0x50ceed
50ced4:	6a 01                	push   $0x1
50ced6:	8d 4d c8             	lea    -0x38(%ebp),%ecx
50ced9:	e8 9f 40 f0 ff       	call   0x410f7d
50cede:	8b 45 d0             	mov    -0x30(%ebp),%eax
50cee1:	8b 5d c8             	mov    -0x38(%ebp),%ebx
50cee4:	8b 7d cc             	mov    -0x34(%ebp),%edi
50cee7:	89 45 d4             	mov    %eax,-0x2c(%ebp)
50ceea:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
50ceed:	69 f6 10 01 00 00    	imul   $0x110,%esi,%esi
50cef3:	89 7d ec             	mov    %edi,-0x14(%ebp)
50cef6:	89 7d bc             	mov    %edi,-0x44(%ebp)
50cef9:	03 f3                	add    %ebx,%esi
50cefb:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
50ceff:	85 ff                	test   %edi,%edi
50cf01:	0f 84 4d 01 00 00    	je     0x50d054
50cf07:	c7 07 f8 1c bd 00    	movl   $0xbd1cf8,(%edi)
50cf0d:	8d 47 04             	lea    0x4(%edi),%eax
50cf10:	89 87 08 01 00 00    	mov    %eax,0x108(%edi)
50cf16:	c7 87 0c 01 00 00 04 	movl   $0x104,0x10c(%edi)
50cf1d:	01 00 00
50cf20:	3b fe                	cmp    %esi,%edi
50cf22:	0f 84 26 01 00 00    	je     0x50d04e
50cf28:	8b 86 0c 01 00 00    	mov    0x10c(%esi),%eax
50cf2e:	89 45 e8             	mov    %eax,-0x18(%ebp)
50cf31:	3d 04 01 00 00       	cmp    $0x104,%eax
50cf36:	76 46                	jbe    0x50cf7e
50cf38:	50                   	push   %eax
50cf39:	e8 59 88 f2 ff       	call   0x435797
50cf3e:	ff b7 0c 01 00 00    	push   0x10c(%edi)
50cf44:	89 45 ec             	mov    %eax,-0x14(%ebp)
50cf47:	ff b7 08 01 00 00    	push   0x108(%edi)
50cf4d:	50                   	push   %eax
50cf4e:	e8 2f 77 f0 ff       	call   0x414682
50cf53:	8b 97 08 01 00 00    	mov    0x108(%edi),%edx
50cf59:	8d 4f 04             	lea    0x4(%edi),%ecx
50cf5c:	83 c4 10             	add    $0x10,%esp
50cf5f:	3b d1                	cmp    %ecx,%edx
50cf61:	74 09                	je     0x50cf6c
50cf63:	52                   	push   %edx
50cf64:	e8 a9 16 f3 ff       	call   0x43e612
50cf69:	83 c4 04             	add    $0x4,%esp
50cf6c:	8b 45 ec             	mov    -0x14(%ebp),%eax
50cf6f:	89 87 08 01 00 00    	mov    %eax,0x108(%edi)
50cf75:	8b 45 e8             	mov    -0x18(%ebp),%eax
50cf78:	89 87 0c 01 00 00    	mov    %eax,0x10c(%edi)
50cf7e:	ff b6 0c 01 00 00    	push   0x10c(%esi)
50cf84:	ff b6 08 01 00 00    	push   0x108(%esi)
50cf8a:	e9 b1 00 00 00       	jmp    0x50d040
50cf8f:	3b 7d d4             	cmp    -0x2c(%ebp),%edi
50cf92:	75 19                	jne    0x50cfad
50cf94:	6a 01                	push   $0x1
50cf96:	8d 4d c8             	lea    -0x38(%ebp),%ecx
50cf99:	e8 df 3f f0 ff       	call   0x410f7d
50cf9e:	8b 45 d0             	mov    -0x30(%ebp),%eax
50cfa1:	8b 5d c8             	mov    -0x38(%ebp),%ebx
50cfa4:	8b 7d cc             	mov    -0x34(%ebp),%edi
50cfa7:	89 45 d4             	mov    %eax,-0x2c(%ebp)
50cfaa:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
50cfad:	89 7d bc             	mov    %edi,-0x44(%ebp)
50cfb0:	89 7d ec             	mov    %edi,-0x14(%ebp)
50cfb3:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
50cfb7:	85 ff                	test   %edi,%edi
50cfb9:	0f 84 95 00 00 00    	je     0x50d054
50cfbf:	8d 47 04             	lea    0x4(%edi),%eax
50cfc2:	c7 07 f8 1c bd 00    	movl   $0xbd1cf8,(%edi)
50cfc8:	89 87 08 01 00 00    	mov    %eax,0x108(%edi)
50cfce:	8d 85 78 08 00 00    	lea    0x878(%ebp),%eax
50cfd4:	c7 87 0c 01 00 00 04 	movl   $0x104,0x10c(%edi)
50cfdb:	01 00 00
50cfde:	3b f8                	cmp    %eax,%edi
50cfe0:	74 6c                	je     0x50d04e
50cfe2:	8b b5 84 09 00 00    	mov    0x984(%ebp),%esi
50cfe8:	81 fe 04 01 00 00    	cmp    $0x104,%esi
50cfee:	76 49                	jbe    0x50d039
50cff0:	56                   	push   %esi
50cff1:	e8 a1 87 f2 ff       	call   0x435797
50cff6:	ff b7 0c 01 00 00    	push   0x10c(%edi)
50cffc:	89 45 ec             	mov    %eax,-0x14(%ebp)
50cfff:	ff b7 08 01 00 00    	push   0x108(%edi)
50d005:	50                   	push   %eax
50d006:	e8 77 76 f0 ff       	call   0x414682
50d00b:	8b 97 08 01 00 00    	mov    0x108(%edi),%edx
50d011:	8d 4f 04             	lea    0x4(%edi),%ecx
50d014:	83 c4 10             	add    $0x10,%esp
50d017:	3b d1                	cmp    %ecx,%edx
50d019:	74 09                	je     0x50d024
50d01b:	52                   	push   %edx
50d01c:	e8 f1 15 f3 ff       	call   0x43e612
50d021:	83 c4 04             	add    $0x4,%esp
50d024:	8b 45 ec             	mov    -0x14(%ebp),%eax
50d027:	89 87 08 01 00 00    	mov    %eax,0x108(%edi)
50d02d:	89 b7 0c 01 00 00    	mov    %esi,0x10c(%edi)
50d033:	8b b5 84 09 00 00    	mov    0x984(%ebp),%esi
50d039:	56                   	push   %esi
50d03a:	ff b5 80 09 00 00    	push   0x980(%ebp)
50d040:	ff b7 08 01 00 00    	push   0x108(%edi)
50d046:	e8 37 76 f0 ff       	call   0x414682
50d04b:	83 c4 0c             	add    $0xc,%esp
50d04e:	c7 07 04 1d bd 00    	movl   $0xbd1d04,(%edi)
50d054:	81 c7 10 01 00 00    	add    $0x110,%edi
50d05a:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
50d05e:	8d 8d 78 08 00 00    	lea    0x878(%ebp),%ecx
50d064:	89 7d cc             	mov    %edi,-0x34(%ebp)
50d067:	e8 8c 14 f0 ff       	call   0x40e4f8
50d06c:	8b 85 9c 09 00 00    	mov    0x99c(%ebp),%eax
50d072:	8b f3                	mov    %ebx,%esi
50d074:	3b df                	cmp    %edi,%ebx
50d076:	74 36                	je     0x50d0ae
50d078:	ff 75 e4             	push   -0x1c(%ebp)
50d07b:	8b 4d d8             	mov    -0x28(%ebp),%ecx
50d07e:	6a 00                	push   $0x0
50d080:	6a 01                	push   $0x1
50d082:	50                   	push   %eax
50d083:	8d 45 ac             	lea    -0x54(%ebp),%eax
50d086:	50                   	push   %eax
50d087:	ff b6 08 01 00 00    	push   0x108(%esi)
50d08d:	e8 55 05 f2 ff       	call   0x42d5e7
50d092:	84 c0                	test   %al,%al
50d094:	8b 85 9c 09 00 00    	mov    0x99c(%ebp),%eax
50d09a:	74 08                	je     0x50d0a4
50d09c:	84 c0                	test   %al,%al
50d09e:	0f 85 ac 00 00 00    	jne    0x50d150
50d0a4:	81 c6 10 01 00 00    	add    $0x110,%esi
50d0aa:	3b f7                	cmp    %edi,%esi
50d0ac:	75 ca                	jne    0x50d078
50d0ae:	80 bd a0 09 00 00 00 	cmpb   $0x0,0x9a0(%ebp)
50d0b5:	74 3b                	je     0x50d0f2
50d0b7:	8b f3                	mov    %ebx,%esi
50d0b9:	3b df                	cmp    %edi,%ebx
50d0bb:	74 35                	je     0x50d0f2
50d0bd:	0f 1f 00             	nopl   (%eax)
50d0c0:	ff 75 e4             	push   -0x1c(%ebp)
50d0c3:	8b 4d d8             	mov    -0x28(%ebp),%ecx
50d0c6:	6a 01                	push   $0x1
50d0c8:	6a 00                	push   $0x0
50d0ca:	50                   	push   %eax
50d0cb:	8d 45 ac             	lea    -0x54(%ebp),%eax
50d0ce:	50                   	push   %eax
50d0cf:	ff b6 08 01 00 00    	push   0x108(%esi)
50d0d5:	e8 0d 05 f2 ff       	call   0x42d5e7
50d0da:	84 c0                	test   %al,%al
50d0dc:	8b 85 9c 09 00 00    	mov    0x99c(%ebp),%eax
50d0e2:	74 04                	je     0x50d0e8
50d0e4:	84 c0                	test   %al,%al
50d0e6:	75 68                	jne    0x50d150
50d0e8:	81 c6 10 01 00 00    	add    $0x110,%esi
50d0ee:	3b f7                	cmp    %edi,%esi
50d0f0:	75 ce                	jne    0x50d0c0
50d0f2:	80 bd a4 09 00 00 00 	cmpb   $0x0,0x9a4(%ebp)
50d0f9:	0f 84 e2 05 00 00    	je     0x50d6e1
50d0ff:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
50d102:	8b 01                	mov    (%ecx),%eax
50d104:	3b 41 04             	cmp    0x4(%ecx),%eax
50d107:	0f 85 48 01 00 00    	jne    0x50d255
50d10d:	8b 45 d8             	mov    -0x28(%ebp),%eax
50d110:	8b 75 dc             	mov    -0x24(%ebp),%esi
50d113:	83 b8 14 05 00 00 00 	cmpl   $0x0,0x514(%eax)
50d11a:	0f 84 ef 00 00 00    	je     0x50d20f
50d120:	c7 85 78 08 00 00 f8 	movl   $0xbd1cf8,0x878(%ebp)
50d127:	1c bd 00
50d12a:	8d 95 7c 08 00 00    	lea    0x87c(%ebp),%edx
50d130:	89 95 80 09 00 00    	mov    %edx,0x980(%ebp)
50d136:	c7 85 84 09 00 00 04 	movl   $0x104,0x984(%ebp)
50d13d:	01 00 00
50d140:	85 f6                	test   %esi,%esi
50d142:	75 15                	jne    0x50d159
50d144:	c6 85 7c 08 00 00 00 	movb   $0x0,0x87c(%ebp)
50d14b:	e9 86 00 00 00       	jmp    0x50d1d6
50d150:	c6 45 f3 01          	movb   $0x1,-0xd(%ebp)
50d154:	e9 97 05 00 00       	jmp    0x50d6f0
50d159:	8b ce                	mov    %esi,%ecx
50d15b:	8d 41 01             	lea    0x1(%ecx),%eax
50d15e:	89 45 ec             	mov    %eax,-0x14(%ebp)
50d161:	8a 01                	mov    (%ecx),%al
50d163:	41                   	inc    %ecx
50d164:	84 c0                	test   %al,%al
50d166:	75 f9                	jne    0x50d161
50d168:	2b 4d ec             	sub    -0x14(%ebp),%ecx
50d16b:	8d 41 01             	lea    0x1(%ecx),%eax
50d16e:	89 45 e8             	mov    %eax,-0x18(%ebp)
50d171:	3d 04 01 00 00       	cmp    $0x104,%eax
50d176:	76 4b                	jbe    0x50d1c3
50d178:	50                   	push   %eax
50d179:	e8 19 86 f2 ff       	call   0x435797
50d17e:	ff b5 84 09 00 00    	push   0x984(%ebp)
50d184:	89 45 ec             	mov    %eax,-0x14(%ebp)
50d187:	ff b5 80 09 00 00    	push   0x980(%ebp)
50d18d:	50                   	push   %eax
50d18e:	e8 ef 74 f0 ff       	call   0x414682
50d193:	8b 85 80 09 00 00    	mov    0x980(%ebp),%eax
50d199:	8d 8d 7c 08 00 00    	lea    0x87c(%ebp),%ecx
50d19f:	83 c4 10             	add    $0x10,%esp
50d1a2:	3b c1                	cmp    %ecx,%eax
50d1a4:	74 09                	je     0x50d1af
50d1a6:	50                   	push   %eax
50d1a7:	e8 66 14 f3 ff       	call   0x43e612
50d1ac:	83 c4 04             	add    $0x4,%esp
50d1af:	8b 55 ec             	mov    -0x14(%ebp),%edx
50d1b2:	8b 45 e8             	mov    -0x18(%ebp),%eax
50d1b5:	89 95 80 09 00 00    	mov    %edx,0x980(%ebp)
50d1bb:	89 85 84 09 00 00    	mov    %eax,0x984(%ebp)
50d1c1:	eb 05                	jmp    0x50d1c8
50d1c3:	b8 04 01 00 00       	mov    $0x104,%eax
50d1c8:	56                   	push   %esi
50d1c9:	50                   	push   %eax
50d1ca:	52                   	push   %edx
50d1cb:	e8 c1 26 f3 ff       	call   0x43f891
50d1d0:	8b 45 d8             	mov    -0x28(%ebp),%eax
50d1d3:	83 c4 0c             	add    $0xc,%esp
50d1d6:	c7 85 78 08 00 00 04 	movl   $0xbd1d04,0x878(%ebp)
50d1dd:	1d bd 00
50d1e0:	8b 4d e0             	mov    -0x20(%ebp),%ecx
50d1e3:	8d 95 78 08 00 00    	lea    0x878(%ebp),%edx
50d1e9:	ff 75 c0             	push   -0x40(%ebp)
50d1ec:	83 c9 02             	or     $0x2,%ecx
50d1ef:	c6 45 fc 0d          	movb   $0xd,-0x4(%ebp)
50d1f3:	89 4d e0             	mov    %ecx,-0x20(%ebp)
50d1f6:	89 4d ec             	mov    %ecx,-0x14(%ebp)
50d1f9:	8b 88 14 05 00 00    	mov    0x514(%eax),%ecx
50d1ff:	52                   	push   %edx
50d200:	8b 01                	mov    (%ecx),%eax
50d202:	8b 40 04             	mov    0x4(%eax),%eax
50d205:	ff d0                	call   *%eax
50d207:	c6 45 f3 01          	movb   $0x1,-0xd(%ebp)
50d20b:	84 c0                	test   %al,%al
50d20d:	75 04                	jne    0x50d213
50d20f:	c6 45 f3 00          	movb   $0x0,-0xd(%ebp)
50d213:	f6 45 e0 02          	testb  $0x2,-0x20(%ebp)
50d217:	c7 45 fc 05 00 00 00 	movl   $0x5,-0x4(%ebp)
50d21e:	74 0b                	je     0x50d22b
50d220:	8d 8d 78 08 00 00    	lea    0x878(%ebp),%ecx
50d226:	e8 cd 12 f0 ff       	call   0x40e4f8
50d22b:	80 7d f3 00          	cmpb   $0x0,-0xd(%ebp)
50d22f:	0f 84 ac 04 00 00    	je     0x50d6e1
50d235:	ff 75 e4             	push   -0x1c(%ebp)
50d238:	8b 85 9c 09 00 00    	mov    0x99c(%ebp),%eax
50d23e:	8b 4d d8             	mov    -0x28(%ebp),%ecx
50d241:	6a 00                	push   $0x0
50d243:	6a 01                	push   $0x1
50d245:	50                   	push   %eax
50d246:	8d 45 ac             	lea    -0x54(%ebp),%eax
50d249:	50                   	push   %eax
50d24a:	56                   	push   %esi
50d24b:	e8 97 03 f2 ff       	call   0x42d5e7