5fdf49:	cc                   	int3
5fdf4a:	8b ff                	mov    %edi,%edi
5fdf4c:	55                   	push   %ebp
5fdf4d:	8b ec                	mov    %esp,%ebp
5fdf4f:	83 ec 28             	sub    $0x28,%esp
5fdf52:	53                   	push   %ebx
5fdf53:	56                   	push   %esi
5fdf54:	57                   	push   %edi
5fdf55:	33 ff                	xor    %edi,%edi
5fdf57:	8d 4d d8             	lea    -0x28(%ebp),%ecx
5fdf5a:	57                   	push   %edi
5fdf5b:	e8 2d fc fe ff       	call   0x5edb8d
5fdf60:	8b 45 dc             	mov    -0x24(%ebp),%eax
5fdf63:	be 64 01 00 00       	mov    $0x164,%esi
5fdf68:	89 7d f0             	mov    %edi,-0x10(%ebp)
5fdf6b:	8b d7                	mov    %edi,%edx
5fdf6d:	89 7d f8             	mov    %edi,-0x8(%ebp)
5fdf70:	8b 88 9c 00 00 00    	mov    0x9c(%eax),%ecx
5fdf76:	8b c7                	mov    %edi,%eax
5fdf78:	89 4d fc             	mov    %ecx,-0x4(%ebp)
5fdf7b:	89 45 f4             	mov    %eax,-0xc(%ebp)
5fdf7e:	83 fa 01             	cmp    $0x1,%edx
5fdf81:	75 2b                	jne    0x5fdfae
5fdf83:	56                   	push   %esi
5fdf84:	e8 6c 7e 00 00       	call   0x605df5
5fdf89:	89 45 f4             	mov    %eax,-0xc(%ebp)
5fdf8c:	59                   	pop    %ecx
5fdf8d:	85 c0                	test   %eax,%eax
5fdf8f:	0f 84 8f 06 00 00    	je     0x5fe624
5fdf95:	56                   	push   %esi
5fdf96:	57                   	push   %edi
5fdf97:	50                   	push   %eax
5fdf98:	e8 63 5a fe ff       	call   0x5e3a00
5fdf9d:	8b 45 f4             	mov    -0xc(%ebp),%eax
5fdfa0:	83 c4 0c             	add    $0xc,%esp
5fdfa3:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5fdfa6:	89 75 f0             	mov    %esi,-0x10(%ebp)
5fdfa9:	be 64 01 00 00       	mov    $0x164,%esi
5fdfae:	8b d7                	mov    %edi,%edx
5fdfb0:	89 45 ec             	mov    %eax,-0x14(%ebp)
5fdfb3:	29 4d ec             	sub    %ecx,-0x14(%ebp)
5fdfb6:	8b d9                	mov    %ecx,%ebx
5fdfb8:	89 55 e8             	mov    %edx,-0x18(%ebp)
5fdfbb:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
5fdfbf:	75 25                	jne    0x5fdfe6
5fdfc1:	8d 0c 30             	lea    (%eax,%esi,1),%ecx
5fdfc4:	8b 45 ec             	mov    -0x14(%ebp),%eax
5fdfc7:	89 0c 18             	mov    %ecx,(%eax,%ebx,1)
5fdfca:	ff 33                	push   (%ebx)
5fdfcc:	8b 45 f0             	mov    -0x10(%ebp),%eax
5fdfcf:	2b c6                	sub    %esi,%eax
5fdfd1:	50                   	push   %eax
5fdfd2:	51                   	push   %ecx
5fdfd3:	e8 33 a9 ff ff       	call   0x5f890b
5fdfd8:	83 c4 0c             	add    $0xc,%esp
5fdfdb:	85 c0                	test   %eax,%eax
5fdfdd:	0f 85 58 06 00 00    	jne    0x5fe63b
5fdfe3:	8b 55 e8             	mov    -0x18(%ebp),%edx
5fdfe6:	8b 0b                	mov    (%ebx),%ecx
5fdfe8:	8d 41 01             	lea    0x1(%ecx),%eax
5fdfeb:	89 45 e8             	mov    %eax,-0x18(%ebp)
5fdfee:	8a 01                	mov    (%ecx),%al
5fdff0:	41                   	inc    %ecx
5fdff1:	84 c0                	test   %al,%al
5fdff3:	75 f9                	jne    0x5fdfee
5fdff5:	2b 4d e8             	sub    -0x18(%ebp),%ecx
5fdff8:	46                   	inc    %esi
5fdff9:	8b 45 f4             	mov    -0xc(%ebp),%eax
5fdffc:	03 f1                	add    %ecx,%esi
5fdffe:	42                   	inc    %edx
5fdfff:	83 c3 04             	add    $0x4,%ebx
5fe002:	89 55 e8             	mov    %edx,-0x18(%ebp)
5fe005:	83 fa 07             	cmp    $0x7,%edx
5fe008:	72 b1                	jb     0x5fdfbb
5fe00a:	8b 5d fc             	mov    -0x4(%ebp),%ebx
5fe00d:	8b d7                	mov    %edi,%edx
5fe00f:	89 55 e8             	mov    %edx,-0x18(%ebp)
5fe012:	83 c3 1c             	add    $0x1c,%ebx
5fe015:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
5fe019:	75 27                	jne    0x5fe042
5fe01b:	8b 45 ec             	mov    -0x14(%ebp),%eax
5fe01e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5fe021:	03 ce                	add    %esi,%ecx
5fe023:	89 0c 03             	mov    %ecx,(%ebx,%eax,1)
5fe026:	ff 33                	push   (%ebx)
5fe028:	8b 45 f0             	mov    -0x10(%ebp),%eax
5fe02b:	2b c6                	sub    %esi,%eax
5fe02d:	50                   	push   %eax
5fe02e:	51                   	push   %ecx
5fe02f:	e8 d7 a8 ff ff       	call   0x5f890b
5fe034:	83 c4 0c             	add    $0xc,%esp
5fe037:	85 c0                	test   %eax,%eax
5fe039:	0f 85 fc 05 00 00    	jne    0x5fe63b
5fe03f:	8b 55 e8             	mov    -0x18(%ebp),%edx
5fe042:	8b 0b                	mov    (%ebx),%ecx
5fe044:	8d 41 01             	lea    0x1(%ecx),%eax
5fe047:	89 45 e8             	mov    %eax,-0x18(%ebp)
5fe04a:	8a 01                	mov    (%ecx),%al
5fe04c:	41                   	inc    %ecx
5fe04d:	84 c0                	test   %al,%al
5fe04f:	75 f9                	jne    0x5fe04a
5fe051:	2b 4d e8             	sub    -0x18(%ebp),%ecx
5fe054:	46                   	inc    %esi
5fe055:	03 f1                	add    %ecx,%esi
5fe057:	83 c3 04             	add    $0x4,%ebx
5fe05a:	42                   	inc    %edx
5fe05b:	89 55 e8             	mov    %edx,-0x18(%ebp)
5fe05e:	83 fa 07             	cmp    $0x7,%edx
5fe061:	72 b2                	jb     0x5fe015
5fe063:	8b 5d fc             	mov    -0x4(%ebp),%ebx
5fe066:	8b d7                	mov    %edi,%edx
5fe068:	89 55 e8             	mov    %edx,-0x18(%ebp)
5fe06b:	83 c3 38             	add    $0x38,%ebx
5fe06e:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
5fe072:	75 27                	jne    0x5fe09b
5fe074:	8b 45 ec             	mov    -0x14(%ebp),%eax
5fe077:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5fe07a:	03 ce                	add    %esi,%ecx
5fe07c:	89 0c 03             	mov    %ecx,(%ebx,%eax,1)
5fe07f:	ff 33                	push   (%ebx)
5fe081:	8b 45 f0             	mov    -0x10(%ebp),%eax
5fe084:	2b c6                	sub    %esi,%eax
5fe086:	50                   	push   %eax
5fe087:	51                   	push   %ecx
5fe088:	e8 7e a8 ff ff       	call   0x5f890b
5fe08d:	83 c4 0c             	add    $0xc,%esp
5fe090:	85 c0                	test   %eax,%eax
5fe092:	0f 85 a3 05 00 00    	jne    0x5fe63b
5fe098:	8b 55 e8             	mov    -0x18(%ebp),%edx
5fe09b:	8b 0b                	mov    (%ebx),%ecx
5fe09d:	8d 41 01             	lea    0x1(%ecx),%eax
5fe0a0:	89 45 e8             	mov    %eax,-0x18(%ebp)
5fe0a3:	8a 01                	mov    (%ecx),%al
5fe0a5:	41                   	inc    %ecx
5fe0a6:	84 c0                	test   %al,%al
5fe0a8:	75 f9                	jne    0x5fe0a3
5fe0aa:	2b 4d e8             	sub    -0x18(%ebp),%ecx
5fe0ad:	46                   	inc    %esi
5fe0ae:	03 f1                	add    %ecx,%esi
5fe0b0:	83 c3 04             	add    $0x4,%ebx
5fe0b3:	42                   	inc    %edx
5fe0b4:	89 55 e8             	mov    %edx,-0x18(%ebp)
5fe0b7:	83 fa 0c             	cmp    $0xc,%edx
5fe0ba:	72 b2                	jb     0x5fe06e
5fe0bc:	8b 5d fc             	mov    -0x4(%ebp),%ebx
5fe0bf:	8b d7                	mov    %edi,%edx
5fe0c1:	89 55 e8             	mov    %edx,-0x18(%ebp)
5fe0c4:	83 c3 68             	add    $0x68,%ebx
5fe0c7:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
5fe0cb:	75 27                	jne    0x5fe0f4
5fe0cd:	8b 45 ec             	mov    -0x14(%ebp),%eax
5fe0d0:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5fe0d3:	03 ce                	add    %esi,%ecx
5fe0d5:	89 0c 03             	mov    %ecx,(%ebx,%eax,1)
5fe0d8:	ff 33                	push   (%ebx)
5fe0da:	8b 45 f0             	mov    -0x10(%ebp),%eax
5fe0dd:	2b c6                	sub    %esi,%eax
5fe0df:	50                   	push   %eax
5fe0e0:	51                   	push   %ecx
5fe0e1:	e8 25 a8 ff ff       	call   0x5f890b
5fe0e6:	83 c4 0c             	add    $0xc,%esp
5fe0e9:	85 c0                	test   %eax,%eax
5fe0eb:	0f 85 4a 05 00 00    	jne    0x5fe63b
5fe0f1:	8b 55 e8             	mov    -0x18(%ebp),%edx
5fe0f4:	8b 0b                	mov    (%ebx),%ecx
5fe0f6:	8d 41 01             	lea    0x1(%ecx),%eax
5fe0f9:	89 45 e8             	mov    %eax,-0x18(%ebp)
5fe0fc:	8a 01                	mov    (%ecx),%al
5fe0fe:	41                   	inc    %ecx
5fe0ff:	84 c0                	test   %al,%al
5fe101:	75 f9                	jne    0x5fe0fc
5fe103:	2b 4d e8             	sub    -0x18(%ebp),%ecx
5fe106:	46                   	inc    %esi
5fe107:	03 f1                	add    %ecx,%esi
5fe109:	83 c3 04             	add    $0x4,%ebx
5fe10c:	42                   	inc    %edx
5fe10d:	89 55 e8             	mov    %edx,-0x18(%ebp)
5fe110:	83 fa 0c             	cmp    $0xc,%edx
5fe113:	72 b2                	jb     0x5fe0c7
5fe115:	8b 5d fc             	mov    -0x4(%ebp),%ebx
5fe118:	8b d7                	mov    %edi,%edx
5fe11a:	89 55 e8             	mov    %edx,-0x18(%ebp)
5fe11d:	81 c3 98 00 00 00    	add    $0x98,%ebx
5fe123:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
5fe127:	75 27                	jne    0x5fe150
5fe129:	8b 45 ec             	mov    -0x14(%ebp),%eax
5fe12c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5fe12f:	03 ce                	add    %esi,%ecx
5fe131:	89 0c 03             	mov    %ecx,(%ebx,%eax,1)
5fe134:	ff 33                	push   (%ebx)
5fe136:	8b 45 f0             	mov    -0x10(%ebp),%eax
5fe139:	2b c6                	sub    %esi,%eax
5fe13b:	50                   	push   %eax
5fe13c:	51                   	push   %ecx
5fe13d:	e8 c9 a7 ff ff       	call   0x5f890b
5fe142:	83 c4 0c             	add    $0xc,%esp
5fe145:	85 c0                	test   %eax,%eax
5fe147:	0f 85 ee 04 00 00    	jne    0x5fe63b
5fe14d:	8b 55 e8             	mov    -0x18(%ebp),%edx
5fe150:	8b 0b                	mov    (%ebx),%ecx
5fe152:	8d 41 01             	lea    0x1(%ecx),%eax
5fe155:	89 45 e8             	mov    %eax,-0x18(%ebp)
5fe158:	8a 01                	mov    (%ecx),%al
5fe15a:	41                   	inc    %ecx
5fe15b:	84 c0                	test   %al,%al
5fe15d:	75 f9                	jne    0x5fe158
5fe15f:	2b 4d e8             	sub    -0x18(%ebp),%ecx
5fe162:	46                   	inc    %esi
5fe163:	03 f1                	add    %ecx,%esi
5fe165:	83 c3 04             	add    $0x4,%ebx
5fe168:	42                   	inc    %edx
5fe169:	89 55 e8             	mov    %edx,-0x18(%ebp)
5fe16c:	83 fa 02             	cmp    $0x2,%edx
5fe16f:	72 b2                	jb     0x5fe123
5fe171:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
5fe175:	8b 5d f4             	mov    -0xc(%ebp),%ebx
5fe178:	75 29                	jne    0x5fe1a3
5fe17a:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe17d:	8d 0c 33             	lea    (%ebx,%esi,1),%ecx
5fe180:	89 8b a0 00 00 00    	mov    %ecx,0xa0(%ebx)
5fe186:	ff b0 a0 00 00 00    	push   0xa0(%eax)
5fe18c:	8b 45 f0             	mov    -0x10(%ebp),%eax
5fe18f:	2b c6                	sub    %esi,%eax
5fe191:	50                   	push   %eax
5fe192:	51                   	push   %ecx
5fe193:	e8 73 a7 ff ff       	call   0x5f890b
5fe198:	83 c4 0c             	add    $0xc,%esp
5fe19b:	85 c0                	test   %eax,%eax
5fe19d:	0f 85 98 04 00 00    	jne    0x5fe63b
5fe1a3:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe1a6:	8b 88 a0 00 00 00    	mov    0xa0(%eax),%ecx
5fe1ac:	8d 51 01             	lea    0x1(%ecx),%edx
5fe1af:	8a 01                	mov    (%ecx),%al
5fe1b1:	41                   	inc    %ecx
5fe1b2:	84 c0                	test   %al,%al
5fe1b4:	75 f9                	jne    0x5fe1af
5fe1b6:	2b ca                	sub    %edx,%ecx
5fe1b8:	46                   	inc    %esi
5fe1b9:	03 f1                	add    %ecx,%esi
5fe1bb:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
5fe1bf:	75 29                	jne    0x5fe1ea
5fe1c1:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe1c4:	8d 0c 33             	lea    (%ebx,%esi,1),%ecx
5fe1c7:	89 8b a4 00 00 00    	mov    %ecx,0xa4(%ebx)
5fe1cd:	ff b0 a4 00 00 00    	push   0xa4(%eax)
5fe1d3:	8b 45 f0             	mov    -0x10(%ebp),%eax
5fe1d6:	2b c6                	sub    %esi,%eax
5fe1d8:	50                   	push   %eax
5fe1d9:	51                   	push   %ecx
5fe1da:	e8 2c a7 ff ff       	call   0x5f890b
5fe1df:	83 c4 0c             	add    $0xc,%esp
5fe1e2:	85 c0                	test   %eax,%eax
5fe1e4:	0f 85 51 04 00 00    	jne    0x5fe63b
5fe1ea:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe1ed:	8b 88 a4 00 00 00    	mov    0xa4(%eax),%ecx
5fe1f3:	8d 51 01             	lea    0x1(%ecx),%edx
5fe1f6:	8a 01                	mov    (%ecx),%al
5fe1f8:	41                   	inc    %ecx
5fe1f9:	84 c0                	test   %al,%al
5fe1fb:	75 f9                	jne    0x5fe1f6
5fe1fd:	2b ca                	sub    %edx,%ecx
5fe1ff:	46                   	inc    %esi
5fe200:	03 f1                	add    %ecx,%esi
5fe202:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
5fe206:	75 29                	jne    0x5fe231
5fe208:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe20b:	8d 0c 33             	lea    (%ebx,%esi,1),%ecx
5fe20e:	89 8b a8 00 00 00    	mov    %ecx,0xa8(%ebx)
5fe214:	ff b0 a8 00 00 00    	push   0xa8(%eax)
5fe21a:	8b 45 f0             	mov    -0x10(%ebp),%eax
5fe21d:	2b c6                	sub    %esi,%eax
5fe21f:	50                   	push   %eax
5fe220:	51                   	push   %ecx
5fe221:	e8 e5 a6 ff ff       	call   0x5f890b
5fe226:	83 c4 0c             	add    $0xc,%esp
5fe229:	85 c0                	test   %eax,%eax
5fe22b:	0f 85 0a 04 00 00    	jne    0x5fe63b
5fe231:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe234:	8b 88 a8 00 00 00    	mov    0xa8(%eax),%ecx
5fe23a:	8d 51 01             	lea    0x1(%ecx),%edx
5fe23d:	8a 01                	mov    (%ecx),%al
5fe23f:	41                   	inc    %ecx
5fe240:	84 c0                	test   %al,%al
5fe242:	75 f9                	jne    0x5fe23d
5fe244:	2b ca                	sub    %edx,%ecx
5fe246:	8b 55 f8             	mov    -0x8(%ebp),%edx
5fe249:	8d 59 01             	lea    0x1(%ecx),%ebx
5fe24c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5fe24f:	03 de                	add    %esi,%ebx
5fe251:	83 fa 01             	cmp    $0x1,%edx
5fe254:	75 15                	jne    0x5fe26b
5fe256:	8b 45 fc             	mov    -0x4(%ebp),%eax
5fe259:	8b 80 ac 00 00 00    	mov    0xac(%eax),%eax
5fe25f:	89 81 ac 00 00 00    	mov    %eax,0xac(%ecx)
5fe265:	89 b9 b0 00 00 00    	mov    %edi,0xb0(%ecx)
5fe26b:	8b 75 fc             	mov    -0x4(%ebp),%esi
5fe26e:	89 7d e8             	mov    %edi,-0x18(%ebp)
5fe271:	81 c6 b4 00 00 00    	add    $0xb4,%esi
5fe277:	eb 01                	jmp    0x5fe27a
5fe279:	43                   	inc    %ebx
5fe27a:	f6 c3 01             	test   $0x1,%bl
5fe27d:	75 fa                	jne    0x5fe279
5fe27f:	83 fa 01             	cmp    $0x1,%edx
5fe282:	75 28                	jne    0x5fe2ac
5fe284:	8b c3                	mov    %ebx,%eax
5fe286:	d1 e8                	shr    $1,%eax
5fe288:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx
5fe28b:	8b 45 ec             	mov    -0x14(%ebp),%eax
5fe28e:	89 0c 06             	mov    %ecx,(%esi,%eax,1)
5fe291:	8b 45 f0             	mov    -0x10(%ebp),%eax
5fe294:	ff 36                	push   (%esi)
5fe296:	2b c3                	sub    %ebx,%eax
5fe298:	d1 e8                	shr    $1,%eax
5fe29a:	50                   	push   %eax
5fe29b:	51                   	push   %ecx
5fe29c:	e8 73 84 ff ff       	call   0x5f6714
5fe2a1:	83 c4 0c             	add    $0xc,%esp
5fe2a4:	85 c0                	test   %eax,%eax
5fe2a6:	0f 85 8f 03 00 00    	jne    0x5fe63b
5fe2ac:	8b 0e                	mov    (%esi),%ecx
5fe2ae:	8d 51 02             	lea    0x2(%ecx),%edx
5fe2b1:	66 8b 01             	mov    (%ecx),%ax
5fe2b4:	83 c1 02             	add    $0x2,%ecx
5fe2b7:	66 3b c7             	cmp    %di,%ax
5fe2ba:	75 f5                	jne    0x5fe2b1
5fe2bc:	8b 45 e8             	mov    -0x18(%ebp),%eax
5fe2bf:	2b ca                	sub    %edx,%ecx
5fe2c1:	8b 55 f8             	mov    -0x8(%ebp),%edx
5fe2c4:	83 c6 04             	add    $0x4,%esi
5fe2c7:	d1 f9                	sar    $1,%ecx
5fe2c9:	8d 1c 4b             	lea    (%ebx,%ecx,2),%ebx
5fe2cc:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5fe2cf:	83 c3 02             	add    $0x2,%ebx
5fe2d2:	40                   	inc    %eax
5fe2d3:	89 45 e8             	mov    %eax,-0x18(%ebp)
5fe2d6:	83 f8 07             	cmp    $0x7,%eax
5fe2d9:	72 9f                	jb     0x5fe27a
5fe2db:	8b 75 fc             	mov    -0x4(%ebp),%esi
5fe2de:	89 7d e8             	mov    %edi,-0x18(%ebp)
5fe2e1:	81 c6 d0 00 00 00    	add    $0xd0,%esi
5fe2e7:	eb 01                	jmp    0x5fe2ea
5fe2e9:	43                   	inc    %ebx
5fe2ea:	f6 c3 01             	test   $0x1,%bl
5fe2ed:	75 fa                	jne    0x5fe2e9
5fe2ef:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
5fe2f3:	75 2b                	jne    0x5fe320
5fe2f5:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5fe2f8:	8b c3                	mov    %ebx,%eax
5fe2fa:	d1 e8                	shr    $1,%eax
5fe2fc:	8d 0c 41             	lea    (%ecx,%eax,2),%ecx