5feda0:	50                   	push   %eax
5feda1:	56                   	push   %esi
5feda2:	8b cb                	mov    %ebx,%ecx
5feda4:	ff 15 e0 24 68 00    	call   *0x6824e0
5fedaa:	ff d3                	call   *%ebx
5fedac:	83 c4 08             	add    $0x8,%esp
5fedaf:	85 c0                	test   %eax,%eax
5fedb1:	7e 0a                	jle    0x5fedbd
5fedb3:	8b c6                	mov    %esi,%eax
5fedb5:	89 85 08 ff ff ff    	mov    %eax,-0xf8(%ebp)
5fedbb:	eb 06                	jmp    0x5fedc3
5fedbd:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
5fedc3:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
5fedc9:	03 f7                	add    %edi,%esi
5fedcb:	3b f1                	cmp    %ecx,%esi
5fedcd:	76 d1                	jbe    0x5feda0
5fedcf:	8b d1                	mov    %ecx,%edx
5fedd1:	3b c1                	cmp    %ecx,%eax
5fedd3:	74 34                	je     0x5fee09
5fedd5:	2b c1                	sub    %ecx,%eax
5fedd7:	8b df                	mov    %edi,%ebx
5fedd9:	89 85 08 ff ff ff    	mov    %eax,-0xf8(%ebp)
5feddf:	90                   	nop
5fede0:	8a 0c 10             	mov    (%eax,%edx,1),%cl
5fede3:	8d 52 01             	lea    0x1(%edx),%edx
5fede6:	8b b5 08 ff ff ff    	mov    -0xf8(%ebp),%esi
5fedec:	8a 42 ff             	mov    -0x1(%edx),%al
5fedef:	88 44 16 ff          	mov    %al,-0x1(%esi,%edx,1)
5fedf3:	8b c6                	mov    %esi,%eax
5fedf5:	88 4a ff             	mov    %cl,-0x1(%edx)
5fedf8:	83 eb 01             	sub    $0x1,%ebx
5fedfb:	75 e3                	jne    0x5fede0
5fedfd:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
5fee03:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
5fee09:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
5fee0f:	2b cf                	sub    %edi,%ecx
5fee11:	8b 95 ec fe ff ff    	mov    -0x114(%ebp),%edx
5fee17:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
5fee1d:	3b ce                	cmp    %esi,%ecx
5fee1f:	0f 87 6b ff ff ff    	ja     0x5fed90
5fee25:	8b 8d f4 fe ff ff    	mov    -0x10c(%ebp),%ecx
5fee2b:	8b c1                	mov    %ecx,%eax
5fee2d:	49                   	dec    %ecx
5fee2e:	89 8d f4 fe ff ff    	mov    %ecx,-0x10c(%ebp)
5fee34:	85 c0                	test   %eax,%eax
5fee36:	0f 8e f2 fe ff ff    	jle    0x5fed2e
5fee3c:	8b 74 8d 84          	mov    -0x7c(%ebp,%ecx,4),%esi
5fee40:	8b 8c 8d 0c ff ff ff 	mov    -0xf4(%ebp,%ecx,4),%ecx
5fee47:	89 b5 fc fe ff ff    	mov    %esi,-0x104(%ebp)
5fee4d:	e9 0a ff ff ff       	jmp    0x5fed5c
5fee52:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
5fee58:	8b cb                	mov    %ebx,%ecx
5fee5a:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
5fee60:	d1 ef                	shr    $1,%edi
5fee62:	0f af fe             	imul   %esi,%edi
5fee65:	03 f8                	add    %eax,%edi
5fee67:	57                   	push   %edi
5fee68:	50                   	push   %eax
5fee69:	ff 15 e0 24 68 00    	call   *0x6824e0
5fee6f:	ff d3                	call   *%ebx
5fee71:	83 c4 08             	add    $0x8,%esp
5fee74:	85 c0                	test   %eax,%eax
5fee76:	7e 10                	jle    0x5fee88
5fee78:	56                   	push   %esi
5fee79:	57                   	push   %edi
5fee7a:	ff b5 fc fe ff ff    	push   -0x104(%ebp)
5fee80:	e8 1b fe ff ff       	call   0x5feca0
5fee85:	83 c4 0c             	add    $0xc,%esp
5fee88:	ff b5 04 ff ff ff    	push   -0xfc(%ebp)
5fee8e:	8b cb                	mov    %ebx,%ecx
5fee90:	ff b5 fc fe ff ff    	push   -0x104(%ebp)
5fee96:	ff 15 e0 24 68 00    	call   *0x6824e0
5fee9c:	ff d3                	call   *%ebx
5fee9e:	83 c4 08             	add    $0x8,%esp
5feea1:	85 c0                	test   %eax,%eax
5feea3:	7e 15                	jle    0x5feeba
5feea5:	56                   	push   %esi
5feea6:	ff b5 04 ff ff ff    	push   -0xfc(%ebp)
5feeac:	ff b5 fc fe ff ff    	push   -0x104(%ebp)
5feeb2:	e8 e9 fd ff ff       	call   0x5feca0
5feeb7:	83 c4 0c             	add    $0xc,%esp
5feeba:	ff b5 04 ff ff ff    	push   -0xfc(%ebp)
5feec0:	8b cb                	mov    %ebx,%ecx
5feec2:	57                   	push   %edi
5feec3:	ff 15 e0 24 68 00    	call   *0x6824e0
5feec9:	ff d3                	call   *%ebx
5feecb:	83 c4 08             	add    $0x8,%esp
5feece:	85 c0                	test   %eax,%eax
5feed0:	7e 10                	jle    0x5feee2
5feed2:	56                   	push   %esi
5feed3:	ff b5 04 ff ff ff    	push   -0xfc(%ebp)
5feed9:	57                   	push   %edi
5feeda:	e8 c1 fd ff ff       	call   0x5feca0
5feedf:	83 c4 0c             	add    $0xc,%esp
5feee2:	8b 85 04 ff ff ff    	mov    -0xfc(%ebp),%eax
5feee8:	8b d8                	mov    %eax,%ebx
5feeea:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
5feef0:	8b 95 00 ff ff ff    	mov    -0x100(%ebp),%edx
5feef6:	89 85 08 ff ff ff    	mov    %eax,-0xf8(%ebp)
5feefc:	8d 64 24 00          	lea    0x0(%esp),%esp
5fef00:	3b fe                	cmp    %esi,%edi
5fef02:	76 37                	jbe    0x5fef3b
5fef04:	03 f2                	add    %edx,%esi
5fef06:	89 b5 f0 fe ff ff    	mov    %esi,-0x110(%ebp)
5fef0c:	3b f7                	cmp    %edi,%esi
5fef0e:	73 25                	jae    0x5fef35
5fef10:	8b 8d f8 fe ff ff    	mov    -0x108(%ebp),%ecx
5fef16:	57                   	push   %edi
5fef17:	56                   	push   %esi
5fef18:	ff 15 e0 24 68 00    	call   *0x6824e0
5fef1e:	ff 95 f8 fe ff ff    	call   *-0x108(%ebp)
5fef24:	8b 95 00 ff ff ff    	mov    -0x100(%ebp),%edx
5fef2a:	83 c4 08             	add    $0x8,%esp
5fef2d:	85 c0                	test   %eax,%eax
5fef2f:	7e d3                	jle    0x5fef04
5fef31:	3b fe                	cmp    %esi,%edi
5fef33:	77 3d                	ja     0x5fef72
5fef35:	8b 85 04 ff ff ff    	mov    -0xfc(%ebp),%eax
5fef3b:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
5fef41:	03 f2                	add    %edx,%esi
5fef43:	3b f0                	cmp    %eax,%esi
5fef45:	77 1f                	ja     0x5fef66
5fef47:	57                   	push   %edi
5fef48:	56                   	push   %esi
5fef49:	8b cb                	mov    %ebx,%ecx
5fef4b:	ff 15 e0 24 68 00    	call   *0x6824e0
5fef51:	ff d3                	call   *%ebx
5fef53:	8b 95 00 ff ff ff    	mov    -0x100(%ebp),%edx
5fef59:	83 c4 08             	add    $0x8,%esp
5fef5c:	85 c0                	test   %eax,%eax
5fef5e:	8b 85 04 ff ff ff    	mov    -0xfc(%ebp),%eax
5fef64:	7e db                	jle    0x5fef41
5fef66:	8b 9d 08 ff ff ff    	mov    -0xf8(%ebp),%ebx
5fef6c:	89 b5 f0 fe ff ff    	mov    %esi,-0x110(%ebp)
5fef72:	8b b5 f8 fe ff ff    	mov    -0x108(%ebp),%esi
5fef78:	eb 06                	jmp    0x5fef80
5fef7a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
5fef80:	8b 95 00 ff ff ff    	mov    -0x100(%ebp),%edx
5fef86:	8b c3                	mov    %ebx,%eax
5fef88:	2b da                	sub    %edx,%ebx
5fef8a:	89 85 08 ff ff ff    	mov    %eax,-0xf8(%ebp)
5fef90:	3b df                	cmp    %edi,%ebx
5fef92:	76 1f                	jbe    0x5fefb3
5fef94:	57                   	push   %edi
5fef95:	53                   	push   %ebx
5fef96:	8b ce                	mov    %esi,%ecx
5fef98:	ff 15 e0 24 68 00    	call   *0x6824e0
5fef9e:	ff d6                	call   *%esi
5fefa0:	83 c4 08             	add    $0x8,%esp
5fefa3:	85 c0                	test   %eax,%eax
5fefa5:	7f d9                	jg     0x5fef80
5fefa7:	8b 95 00 ff ff ff    	mov    -0x100(%ebp),%edx
5fefad:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
5fefb3:	8b b5 f0 fe ff ff    	mov    -0x110(%ebp),%esi
5fefb9:	89 9d 08 ff ff ff    	mov    %ebx,-0xf8(%ebp)
5fefbf:	3b de                	cmp    %esi,%ebx
5fefc1:	72 59                	jb     0x5ff01c
5fefc3:	89 95 e4 fe ff ff    	mov    %edx,-0x11c(%ebp)
5fefc9:	89 9d e8 fe ff ff    	mov    %ebx,-0x118(%ebp)
5fefcf:	74 36                	je     0x5ff007
5fefd1:	2b f3                	sub    %ebx,%esi
5fefd3:	8b d3                	mov    %ebx,%edx
5fefd5:	8b 9d e4 fe ff ff    	mov    -0x11c(%ebp),%ebx
5fefdb:	eb 03                	jmp    0x5fefe0
5fefdd:	8d 49 00             	lea    0x0(%ecx),%ecx
5fefe0:	8a 02                	mov    (%edx),%al
5fefe2:	8d 52 01             	lea    0x1(%edx),%edx
5fefe5:	8a 4c 16 ff          	mov    -0x1(%esi,%edx,1),%cl
5fefe9:	88 44 16 ff          	mov    %al,-0x1(%esi,%edx,1)
5fefed:	88 4a ff             	mov    %cl,-0x1(%edx)
5feff0:	83 eb 01             	sub    $0x1,%ebx
5feff3:	75 eb                	jne    0x5fefe0
5feff5:	8b b5 f0 fe ff ff    	mov    -0x110(%ebp),%esi
5feffb:	8b 9d 08 ff ff ff    	mov    -0xf8(%ebp),%ebx
5ff001:	8b 95 00 ff ff ff    	mov    -0x100(%ebp),%edx
5ff007:	8b 85 04 ff ff ff    	mov    -0xfc(%ebp),%eax
5ff00d:	3b fb                	cmp    %ebx,%edi
5ff00f:	0f 85 eb fe ff ff    	jne    0x5fef00
5ff015:	8b fe                	mov    %esi,%edi
5ff017:	e9 e4 fe ff ff       	jmp    0x5fef00
5ff01c:	3b f8                	cmp    %eax,%edi
5ff01e:	73 35                	jae    0x5ff055
5ff020:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
5ff026:	2b c2                	sub    %edx,%eax
5ff028:	89 85 08 ff ff ff    	mov    %eax,-0xf8(%ebp)
5ff02e:	3b c7                	cmp    %edi,%eax
5ff030:	76 23                	jbe    0x5ff055
5ff032:	57                   	push   %edi
5ff033:	50                   	push   %eax
5ff034:	8b cb                	mov    %ebx,%ecx
5ff036:	ff 15 e0 24 68 00    	call   *0x6824e0
5ff03c:	ff d3                	call   *%ebx
5ff03e:	8b 95 00 ff ff ff    	mov    -0x100(%ebp),%edx
5ff044:	83 c4 08             	add    $0x8,%esp
5ff047:	85 c0                	test   %eax,%eax
5ff049:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
5ff04f:	74 d5                	je     0x5ff026
5ff051:	3b f8                	cmp    %eax,%edi
5ff053:	72 3b                	jb     0x5ff090
5ff055:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
5ff05b:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
5ff061:	2b c6                	sub    %esi,%eax
5ff063:	89 85 08 ff ff ff    	mov    %eax,-0xf8(%ebp)
5ff069:	3b 85 fc fe ff ff    	cmp    -0x104(%ebp),%eax
5ff06f:	76 19                	jbe    0x5ff08a
5ff071:	57                   	push   %edi
5ff072:	50                   	push   %eax
5ff073:	8b cb                	mov    %ebx,%ecx
5ff075:	ff 15 e0 24 68 00    	call   *0x6824e0
5ff07b:	ff d3                	call   *%ebx
5ff07d:	83 c4 08             	add    $0x8,%esp
5ff080:	85 c0                	test   %eax,%eax
5ff082:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
5ff088:	74 d7                	je     0x5ff061
5ff08a:	8b b5 f0 fe ff ff    	mov    -0x110(%ebp),%esi
5ff090:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
5ff096:	8b ca                	mov    %edx,%ecx
5ff098:	8b bd fc fe ff ff    	mov    -0x104(%ebp),%edi
5ff09e:	2b ce                	sub    %esi,%ecx
5ff0a0:	2b c7                	sub    %edi,%eax
5ff0a2:	3b c1                	cmp    %ecx,%eax
5ff0a4:	7c 41                	jl     0x5ff0e7
5ff0a6:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
5ff0ac:	3b f8                	cmp    %eax,%edi
5ff0ae:	73 18                	jae    0x5ff0c8
5ff0b0:	8b 8d f4 fe ff ff    	mov    -0x10c(%ebp),%ecx
5ff0b6:	89 7c 8d 84          	mov    %edi,-0x7c(%ebp,%ecx,4)
5ff0ba:	89 84 8d 0c ff ff ff 	mov    %eax,-0xf4(%ebp,%ecx,4)
5ff0c1:	41                   	inc    %ecx
5ff0c2:	89 8d f4 fe ff ff    	mov    %ecx,-0x10c(%ebp)
5ff0c8:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
5ff0ce:	8b bd 00 ff ff ff    	mov    -0x100(%ebp),%edi
5ff0d4:	3b f1                	cmp    %ecx,%esi
5ff0d6:	0f 83 49 fd ff ff    	jae    0x5fee25
5ff0dc:	89 b5 fc fe ff ff    	mov    %esi,-0x104(%ebp)
5ff0e2:	e9 7b fc ff ff       	jmp    0x5fed62
5ff0e7:	3b f2                	cmp    %edx,%esi
5ff0e9:	73 18                	jae    0x5ff103
5ff0eb:	8b 85 f4 fe ff ff    	mov    -0x10c(%ebp),%eax
5ff0f1:	89 74 85 84          	mov    %esi,-0x7c(%ebp,%eax,4)
5ff0f5:	89 94 85 0c ff ff ff 	mov    %edx,-0xf4(%ebp,%eax,4)
5ff0fc:	40                   	inc    %eax
5ff0fd:	89 85 f4 fe ff ff    	mov    %eax,-0x10c(%ebp)
5ff103:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
5ff109:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
5ff10f:	8b bd 00 ff ff ff    	mov    -0x100(%ebp),%edi
5ff115:	3b f0                	cmp    %eax,%esi
5ff117:	0f 83 08 fd ff ff    	jae    0x5fee25
5ff11d:	8b c8                	mov    %eax,%ecx
5ff11f:	e9 38 fc ff ff       	jmp    0x5fed5c
5ff124:	cc                   	int3
5ff125:	cc                   	int3
5ff126:	cc                   	int3
5ff127:	cc                   	int3
5ff128:	cc                   	int3
5ff129:	cc                   	int3
5ff12a:	cc                   	int3
5ff12b:	cc                   	int3
5ff12c:	cc                   	int3
5ff12d:	cc                   	int3
5ff12e:	cc                   	int3
5ff12f:	cc                   	int3
5ff130:	8b 54 24 04          	mov    0x4(%esp),%edx
5ff134:	8b 4c 24 08          	mov    0x8(%esp),%ecx
5ff138:	f7 c2 03 00 00 00    	test   $0x3,%edx
5ff13e:	75 40                	jne    0x5ff180
5ff140:	8b 02                	mov    (%edx),%eax
5ff142:	3a 01                	cmp    (%ecx),%al
5ff144:	75 32                	jne    0x5ff178
5ff146:	84 c0                	test   %al,%al
5ff148:	74 26                	je     0x5ff170
5ff14a:	3a 61 01             	cmp    0x1(%ecx),%ah
5ff14d:	75 29                	jne    0x5ff178
5ff14f:	84 e4                	test   %ah,%ah
5ff151:	74 1d                	je     0x5ff170
5ff153:	c1 e8 10             	shr    $0x10,%eax
5ff156:	3a 41 02             	cmp    0x2(%ecx),%al
5ff159:	75 1d                	jne    0x5ff178
5ff15b:	84 c0                	test   %al,%al
5ff15d:	74 11                	je     0x5ff170
5ff15f:	3a 61 03             	cmp    0x3(%ecx),%ah
5ff162:	75 14                	jne    0x5ff178
5ff164:	83 c1 04             	add    $0x4,%ecx
5ff167:	83 c2 04             	add    $0x4,%edx
5ff16a:	84 e4                	test   %ah,%ah
5ff16c:	75 d2                	jne    0x5ff140
5ff16e:	8b ff                	mov    %edi,%edi
5ff170:	33 c0                	xor    %eax,%eax
5ff172:	c3                   	ret
5ff173:	eb 03                	jmp    0x5ff178
5ff175:	cc                   	int3
5ff176:	cc                   	int3
5ff177:	cc                   	int3
5ff178:	1b c0                	sbb    %eax,%eax
5ff17a:	83 c8 01             	or     $0x1,%eax
5ff17d:	c3                   	ret
5ff17e:	8b ff                	mov    %edi,%edi
5ff180:	f7 c2 01 00 00 00    	test   $0x1,%edx
5ff186:	74 18                	je     0x5ff1a0
5ff188:	8a 02                	mov    (%edx),%al
5ff18a:	83 c2 01             	add    $0x1,%edx
5ff18d:	3a 01                	cmp    (%ecx),%al
5ff18f:	75 e7                	jne    0x5ff178
5ff191:	83 c1 01             	add    $0x1,%ecx
5ff194:	84 c0                	test   %al,%al
5ff196:	74 d8                	je     0x5ff170
5ff198:	f7 c2 02 00 00 00    	test   $0x2,%edx
5ff19e:	74 a0                	je     0x5ff140
5ff1a0:	66 8b 02             	mov    (%edx),%ax
5ff1a3:	83 c2 02             	add    $0x2,%edx
5ff1a6:	3a 01                	cmp    (%ecx),%al
5ff1a8:	75 ce                	jne    0x5ff178
5ff1aa:	84 c0                	test   %al,%al
5ff1ac:	74 c2                	je     0x5ff170
5ff1ae:	3a 61 01             	cmp    0x1(%ecx),%ah
5ff1b1:	75 c5                	jne    0x5ff178
5ff1b3:	84 e4                	test   %ah,%ah
5ff1b5:	74 b9                	je     0x5ff170
5ff1b7:	83 c1 02             	add    $0x2,%ecx
5ff1ba:	eb 84                	jmp    0x5ff140
5ff1bc:	8b ff                	mov    %edi,%edi
5ff1be:	55                   	push   %ebp
5ff1bf:	8b ec                	mov    %esp,%ebp
5ff1c1:	51                   	push   %ecx
5ff1c2:	51                   	push   %ecx
5ff1c3:	8b 4d 08             	mov    0x8(%ebp),%ecx
5ff1c6:	33 c0                	xor    %eax,%eax
5ff1c8:	53                   	push   %ebx
5ff1c9:	8b 5d 0c             	mov    0xc(%ebp),%ebx
5ff1cc:	56                   	push   %esi
5ff1cd:	57                   	push   %edi
5ff1ce:	89 5d fc             	mov    %ebx,-0x4(%ebp)
5ff1d1:	89 45 f8             	mov    %eax,-0x8(%ebp)
5ff1d4:	38 45 18             	cmp    %al,0x18(%ebp)
5ff1d7:	74 14                	je     0x5ff1ed
5ff1d9:	6a 2d                	push   $0x2d
5ff1db:	58                   	pop    %eax
5ff1dc:	66 89 03             	mov    %ax,(%ebx)
5ff1df:	8d 43 02             	lea    0x2(%ebx),%eax
5ff1e2:	89 45 fc             	mov    %eax,-0x4(%ebp)
5ff1e5:	33 c0                	xor    %eax,%eax
5ff1e7:	40                   	inc    %eax
5ff1e8:	f7 d9                	neg    %ecx
5ff1ea:	89 45 f8             	mov    %eax,-0x8(%ebp)
5ff1ed:	8b 5d fc             	mov    -0x4(%ebp),%ebx
5ff1f0:	8b 75 f8             	mov    -0x8(%ebp),%esi
5ff1f3:	89 5d fc             	mov    %ebx,-0x4(%ebp)
5ff1f6:	33 d2                	xor    %edx,%edx
5ff1f8:	8b c1                	mov    %ecx,%eax
5ff1fa:	f7 75 14             	divl   0x14(%ebp)