5f1ddc:	c3                   	ret
5f1ddd:	8b ff                	mov    %edi,%edi
5f1ddf:	55                   	push   %ebp
5f1de0:	8b ec                	mov    %esp,%ebp
5f1de2:	83 ec 10             	sub    $0x10,%esp
5f1de5:	53                   	push   %ebx
5f1de6:	56                   	push   %esi
5f1de7:	8b 75 08             	mov    0x8(%ebp),%esi
5f1dea:	85 f6                	test   %esi,%esi
5f1dec:	75 13                	jne    0x5f1e01
5f1dee:	e8 95 8e fe ff       	call   0x5dac88
5f1df3:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f1df9:	83 c8 ff             	or     $0xffffffff,%eax
5f1dfc:	e9 2d 02 00 00       	jmp    0x5f202e
5f1e01:	57                   	push   %edi
5f1e02:	6a 3d                	push   $0x3d
5f1e04:	56                   	push   %esi
5f1e05:	8b fe                	mov    %esi,%edi
5f1e07:	e8 64 15 fe ff       	call   0x5d3370
5f1e0c:	89 45 f0             	mov    %eax,-0x10(%ebp)
5f1e0f:	59                   	pop    %ecx
5f1e10:	59                   	pop    %ecx
5f1e11:	85 c0                	test   %eax,%eax
5f1e13:	0f 84 ff 01 00 00    	je     0x5f2018
5f1e19:	3b c6                	cmp    %esi,%eax
5f1e1b:	0f 84 f7 01 00 00    	je     0x5f2018
5f1e21:	8a 40 01             	mov    0x1(%eax),%al
5f1e24:	88 45 ff             	mov    %al,-0x1(%ebp)
5f1e27:	e8 0a 06 00 00       	call   0x5f2436
5f1e2c:	33 db                	xor    %ebx,%ebx
5f1e2e:	39 1d 68 6f 71 00    	cmp    %ebx,0x716f68
5f1e34:	75 7c                	jne    0x5f1eb2
5f1e36:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
5f1e39:	74 2c                	je     0x5f1e67
5f1e3b:	39 1d 6c 6f 71 00    	cmp    %ebx,0x716f6c
5f1e41:	74 24                	je     0x5f1e67
5f1e43:	e8 63 74 ff ff       	call   0x5e92ab
5f1e48:	85 c0                	test   %eax,%eax
5f1e4a:	75 14                	jne    0x5f1e60
5f1e4c:	e8 37 8e fe ff       	call   0x5dac88
5f1e51:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f1e57:	83 cb ff             	or     $0xffffffff,%ebx
5f1e5a:	56                   	push   %esi
5f1e5b:	e9 9e 01 00 00       	jmp    0x5f1ffe
5f1e60:	e8 d1 05 00 00       	call   0x5f2436
5f1e65:	eb 4b                	jmp    0x5f1eb2
5f1e67:	38 5d ff             	cmp    %bl,-0x1(%ebp)
5f1e6a:	74 ee                	je     0x5f1e5a
5f1e6c:	6a 04                	push   $0x4
5f1e6e:	6a 01                	push   $0x1
5f1e70:	e8 ce a6 ff ff       	call   0x5ec543
5f1e75:	53                   	push   %ebx
5f1e76:	a3 68 6f 71 00       	mov    %eax,0x716f68
5f1e7b:	e8 a2 93 ff ff       	call   0x5eb222
5f1e80:	83 c4 0c             	add    $0xc,%esp
5f1e83:	39 1d 68 6f 71 00    	cmp    %ebx,0x716f68
5f1e89:	74 cc                	je     0x5f1e57
5f1e8b:	39 1d 6c 6f 71 00    	cmp    %ebx,0x716f6c
5f1e91:	75 1f                	jne    0x5f1eb2
5f1e93:	6a 04                	push   $0x4
5f1e95:	6a 01                	push   $0x1
5f1e97:	e8 a7 a6 ff ff       	call   0x5ec543
5f1e9c:	53                   	push   %ebx
5f1e9d:	a3 6c 6f 71 00       	mov    %eax,0x716f6c
5f1ea2:	e8 7b 93 ff ff       	call   0x5eb222
5f1ea7:	83 c4 0c             	add    $0xc,%esp
5f1eaa:	39 1d 6c 6f 71 00    	cmp    %ebx,0x716f6c
5f1eb0:	74 a5                	je     0x5f1e57
5f1eb2:	a1 68 6f 71 00       	mov    0x716f68,%eax
5f1eb7:	89 45 f8             	mov    %eax,-0x8(%ebp)
5f1eba:	85 c0                	test   %eax,%eax
5f1ebc:	74 99                	je     0x5f1e57
5f1ebe:	8b 45 f0             	mov    -0x10(%ebp),%eax
5f1ec1:	2b c6                	sub    %esi,%eax
5f1ec3:	50                   	push   %eax
5f1ec4:	56                   	push   %esi
5f1ec5:	e8 a0 05 00 00       	call   0x5f246a
5f1eca:	89 45 f4             	mov    %eax,-0xc(%ebp)
5f1ecd:	59                   	pop    %ecx
5f1ece:	59                   	pop    %ecx
5f1ecf:	8b 4d f8             	mov    -0x8(%ebp),%ecx
5f1ed2:	85 c0                	test   %eax,%eax
5f1ed4:	78 4f                	js     0x5f1f25
5f1ed6:	39 19                	cmp    %ebx,(%ecx)
5f1ed8:	74 4b                	je     0x5f1f25
5f1eda:	ff 34 81             	push   (%ecx,%eax,4)
5f1edd:	e8 40 93 ff ff       	call   0x5eb222
5f1ee2:	59                   	pop    %ecx
5f1ee3:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5f1ee6:	38 5d ff             	cmp    %bl,-0x1(%ebp)
5f1ee9:	75 30                	jne    0x5f1f1b
5f1eeb:	8b 55 f8             	mov    -0x8(%ebp),%edx
5f1eee:	eb 08                	jmp    0x5f1ef8
5f1ef0:	8b 44 8a 04          	mov    0x4(%edx,%ecx,4),%eax
5f1ef4:	89 04 8a             	mov    %eax,(%edx,%ecx,4)
5f1ef7:	41                   	inc    %ecx
5f1ef8:	39 1c 8a             	cmp    %ebx,(%edx,%ecx,4)
5f1efb:	75 f3                	jne    0x5f1ef0
5f1efd:	6a 04                	push   $0x4
5f1eff:	51                   	push   %ecx
5f1f00:	52                   	push   %edx
5f1f01:	e8 27 06 00 00       	call   0x5f252d
5f1f06:	53                   	push   %ebx
5f1f07:	89 45 f4             	mov    %eax,-0xc(%ebp)
5f1f0a:	e8 13 93 ff ff       	call   0x5eb222
5f1f0f:	8b 45 f4             	mov    -0xc(%ebp),%eax
5f1f12:	83 c4 10             	add    $0x10,%esp
5f1f15:	85 c0                	test   %eax,%eax
5f1f17:	74 62                	je     0x5f1f7b
5f1f19:	eb 5b                	jmp    0x5f1f76
5f1f1b:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f1f1e:	8b fb                	mov    %ebx,%edi
5f1f20:	89 34 88             	mov    %esi,(%eax,%ecx,4)
5f1f23:	eb 56                	jmp    0x5f1f7b
5f1f25:	38 5d ff             	cmp    %bl,-0x1(%ebp)
5f1f28:	0f 84 2c ff ff ff    	je     0x5f1e5a
5f1f2e:	f7 d8                	neg    %eax
5f1f30:	89 45 f4             	mov    %eax,-0xc(%ebp)
5f1f33:	8d 50 02             	lea    0x2(%eax),%edx
5f1f36:	3b d0                	cmp    %eax,%edx
5f1f38:	0f 82 19 ff ff ff    	jb     0x5f1e57
5f1f3e:	81 fa ff ff ff 3f    	cmp    $0x3fffffff,%edx
5f1f44:	0f 83 0d ff ff ff    	jae    0x5f1e57
5f1f4a:	6a 04                	push   $0x4
5f1f4c:	52                   	push   %edx
5f1f4d:	51                   	push   %ecx
5f1f4e:	e8 da 05 00 00       	call   0x5f252d
5f1f53:	53                   	push   %ebx
5f1f54:	89 45 f8             	mov    %eax,-0x8(%ebp)
5f1f57:	e8 c6 92 ff ff       	call   0x5eb222
5f1f5c:	8b 45 f8             	mov    -0x8(%ebp),%eax
5f1f5f:	83 c4 10             	add    $0x10,%esp
5f1f62:	85 c0                	test   %eax,%eax
5f1f64:	0f 84 ed fe ff ff    	je     0x5f1e57
5f1f6a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5f1f6d:	8b fb                	mov    %ebx,%edi
5f1f6f:	89 34 88             	mov    %esi,(%eax,%ecx,4)
5f1f72:	89 5c 88 04          	mov    %ebx,0x4(%eax,%ecx,4)
5f1f76:	a3 68 6f 71 00       	mov    %eax,0x716f68
5f1f7b:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
5f1f7e:	0f 84 8a 00 00 00    	je     0x5f200e
5f1f84:	8d 4e 01             	lea    0x1(%esi),%ecx
5f1f87:	8a 06                	mov    (%esi),%al
5f1f89:	46                   	inc    %esi
5f1f8a:	84 c0                	test   %al,%al
5f1f8c:	75 f9                	jne    0x5f1f87
5f1f8e:	2b f1                	sub    %ecx,%esi
5f1f90:	6a 01                	push   $0x1
5f1f92:	8d 46 02             	lea    0x2(%esi),%eax
5f1f95:	50                   	push   %eax
5f1f96:	89 45 f4             	mov    %eax,-0xc(%ebp)
5f1f99:	e8 a5 a5 ff ff       	call   0x5ec543
5f1f9e:	8b f0                	mov    %eax,%esi
5f1fa0:	59                   	pop    %ecx
5f1fa1:	59                   	pop    %ecx
5f1fa2:	85 f6                	test   %esi,%esi
5f1fa4:	75 08                	jne    0x5f1fae
5f1fa6:	53                   	push   %ebx
5f1fa7:	e8 76 92 ff ff       	call   0x5eb222
5f1fac:	eb 4e                	jmp    0x5f1ffc
5f1fae:	ff 75 08             	push   0x8(%ebp)
5f1fb1:	ff 75 f4             	push   -0xc(%ebp)
5f1fb4:	56                   	push   %esi
5f1fb5:	e8 48 82 ff ff       	call   0x5ea202
5f1fba:	83 c4 0c             	add    $0xc,%esp
5f1fbd:	85 c0                	test   %eax,%eax
5f1fbf:	75 71                	jne    0x5f2032
5f1fc1:	8b 55 f0             	mov    -0x10(%ebp),%edx
5f1fc4:	8b c6                	mov    %esi,%eax
5f1fc6:	2b 45 08             	sub    0x8(%ebp),%eax
5f1fc9:	8d 4a 01             	lea    0x1(%edx),%ecx
5f1fcc:	03 c8                	add    %eax,%ecx
5f1fce:	88 1c 10             	mov    %bl,(%eax,%edx,1)
5f1fd1:	0f be 45 ff          	movsbl -0x1(%ebp),%eax
5f1fd5:	f7 d8                	neg    %eax
5f1fd7:	1b c0                	sbb    %eax,%eax
5f1fd9:	23 c1                	and    %ecx,%eax
5f1fdb:	50                   	push   %eax
5f1fdc:	56                   	push   %esi
5f1fdd:	e8 36 c9 ff ff       	call   0x5ee918
5f1fe2:	59                   	pop    %ecx
5f1fe3:	59                   	pop    %ecx
5f1fe4:	85 c0                	test   %eax,%eax
5f1fe6:	75 1f                	jne    0x5f2007
5f1fe8:	e8 9b 8c fe ff       	call   0x5dac88
5f1fed:	56                   	push   %esi
5f1fee:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
5f1ff4:	e8 29 92 ff ff       	call   0x5eb222
5f1ff9:	83 cb ff             	or     $0xffffffff,%ebx
5f1ffc:	59                   	pop    %ecx
5f1ffd:	57                   	push   %edi
5f1ffe:	e8 1f 92 ff ff       	call   0x5eb222
5f2003:	8b c3                	mov    %ebx,%eax
5f2005:	eb 25                	jmp    0x5f202c
5f2007:	56                   	push   %esi
5f2008:	e8 15 92 ff ff       	call   0x5eb222
5f200d:	59                   	pop    %ecx
5f200e:	57                   	push   %edi
5f200f:	e8 0e 92 ff ff       	call   0x5eb222
5f2014:	33 c0                	xor    %eax,%eax
5f2016:	eb 14                	jmp    0x5f202c
5f2018:	e8 6b 8c fe ff       	call   0x5dac88
5f201d:	56                   	push   %esi
5f201e:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f2024:	e8 f9 91 ff ff       	call   0x5eb222
5f2029:	83 c8 ff             	or     $0xffffffff,%eax
5f202c:	59                   	pop    %ecx
5f202d:	5f                   	pop    %edi
5f202e:	5e                   	pop    %esi
5f202f:	5b                   	pop    %ebx
5f2030:	c9                   	leave
5f2031:	c3                   	ret
5f2032:	53                   	push   %ebx
5f2033:	53                   	push   %ebx
5f2034:	53                   	push   %ebx
5f2035:	53                   	push   %ebx
5f2036:	53                   	push   %ebx
5f2037:	e8 d1 41 fe ff       	call   0x5d620d
5f203c:	cc                   	int3
5f203d:	8b ff                	mov    %edi,%edi
5f203f:	55                   	push   %ebp
5f2040:	8b ec                	mov    %esp,%ebp
5f2042:	83 ec 14             	sub    $0x14,%esp
5f2045:	53                   	push   %ebx
5f2046:	56                   	push   %esi
5f2047:	8b 75 08             	mov    0x8(%ebp),%esi
5f204a:	85 f6                	test   %esi,%esi
5f204c:	75 13                	jne    0x5f2061
5f204e:	e8 35 8c fe ff       	call   0x5dac88
5f2053:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f2059:	83 c8 ff             	or     $0xffffffff,%eax
5f205c:	e9 58 02 00 00       	jmp    0x5f22b9
5f2061:	57                   	push   %edi
5f2062:	6a 3d                	push   $0x3d
5f2064:	56                   	push   %esi
5f2065:	8b fe                	mov    %esi,%edi
5f2067:	e8 47 62 00 00       	call   0x5f82b3
5f206c:	89 45 f0             	mov    %eax,-0x10(%ebp)
5f206f:	59                   	pop    %ecx
5f2070:	59                   	pop    %ecx
5f2071:	85 c0                	test   %eax,%eax
5f2073:	0f 84 2a 02 00 00    	je     0x5f22a3
5f2079:	3b c6                	cmp    %esi,%eax
5f207b:	0f 84 22 02 00 00    	je     0x5f22a3
5f2081:	0f b7 48 02          	movzwl 0x2(%eax),%ecx
5f2085:	8b c1                	mov    %ecx,%eax
5f2087:	89 45 ec             	mov    %eax,-0x14(%ebp)
5f208a:	89 45 f4             	mov    %eax,-0xc(%ebp)
5f208d:	e8 be 03 00 00       	call   0x5f2450
5f2092:	a1 6c 6f 71 00       	mov    0x716f6c,%eax
5f2097:	33 db                	xor    %ebx,%ebx
5f2099:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f209c:	85 c0                	test   %eax,%eax
5f209e:	0f 85 96 00 00 00    	jne    0x5f213a
5f20a4:	a1 68 6f 71 00       	mov    0x716f68,%eax
5f20a9:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
5f20ac:	74 30                	je     0x5f20de
5f20ae:	85 c0                	test   %eax,%eax
5f20b0:	74 2c                	je     0x5f20de
5f20b2:	e8 f9 71 ff ff       	call   0x5e92b0
5f20b7:	85 c0                	test   %eax,%eax
5f20b9:	75 14                	jne    0x5f20cf
5f20bb:	e8 c8 8b fe ff       	call   0x5dac88
5f20c0:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
5f20c6:	83 cb ff             	or     $0xffffffff,%ebx
5f20c9:	56                   	push   %esi
5f20ca:	e9 ba 01 00 00       	jmp    0x5f2289
5f20cf:	e8 7c 03 00 00       	call   0x5f2450
5f20d4:	a1 6c 6f 71 00       	mov    0x716f6c,%eax
5f20d9:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f20dc:	eb 58                	jmp    0x5f2136
5f20de:	66 39 5d f4          	cmp    %bx,-0xc(%ebp)
5f20e2:	74 e5                	je     0x5f20c9
5f20e4:	85 c0                	test   %eax,%eax
5f20e6:	75 2b                	jne    0x5f2113
5f20e8:	6a 04                	push   $0x4
5f20ea:	6a 01                	push   $0x1
5f20ec:	e8 52 a4 ff ff       	call   0x5ec543
5f20f1:	53                   	push   %ebx
5f20f2:	a3 68 6f 71 00       	mov    %eax,0x716f68
5f20f7:	e8 26 91 ff ff       	call   0x5eb222
5f20fc:	83 c4 0c             	add    $0xc,%esp
5f20ff:	39 1d 68 6f 71 00    	cmp    %ebx,0x716f68
5f2105:	74 bf                	je     0x5f20c6
5f2107:	a1 6c 6f 71 00       	mov    0x716f6c,%eax
5f210c:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f210f:	85 c0                	test   %eax,%eax
5f2111:	75 27                	jne    0x5f213a
5f2113:	6a 04                	push   $0x4
5f2115:	6a 01                	push   $0x1
5f2117:	e8 27 a4 ff ff       	call   0x5ec543
5f211c:	53                   	push   %ebx
5f211d:	a3 6c 6f 71 00       	mov    %eax,0x716f6c
5f2122:	e8 fb 90 ff ff       	call   0x5eb222
5f2127:	a1 6c 6f 71 00       	mov    0x716f6c,%eax
5f212c:	83 c4 0c             	add    $0xc,%esp
5f212f:	89 45 fc             	mov    %eax,-0x4(%ebp)
5f2132:	85 c0                	test   %eax,%eax
5f2134:	74 90                	je     0x5f20c6
5f2136:	85 c0                	test   %eax,%eax
5f2138:	74 8c                	je     0x5f20c6
5f213a:	8b 45 f0             	mov    -0x10(%ebp),%eax
5f213d:	2b c6                	sub    %esi,%eax
5f213f:	d1 f8                	sar    $1,%eax
5f2141:	50                   	push   %eax
5f2142:	56                   	push   %esi
5f2143:	89 45 f0             	mov    %eax,-0x10(%ebp)
5f2146:	e8 74 03 00 00       	call   0x5f24bf
5f214b:	59                   	pop    %ecx
5f214c:	59                   	pop    %ecx
5f214d:	8b c8                	mov    %eax,%ecx
5f214f:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f2152:	89 4d f8             	mov    %ecx,-0x8(%ebp)
5f2155:	85 c9                	test   %ecx,%ecx
5f2157:	78 50                	js     0x5f21a9
5f2159:	39 18                	cmp    %ebx,(%eax)
5f215b:	74 4c                	je     0x5f21a9
5f215d:	ff 34 88             	push   (%eax,%ecx,4)
5f2160:	e8 bd 90 ff ff       	call   0x5eb222
5f2165:	8b 55 f8             	mov    -0x8(%ebp),%edx
5f2168:	59                   	pop    %ecx
5f2169:	66 39 5d f4          	cmp    %bx,-0xc(%ebp)
5f216d:	75 30                	jne    0x5f219f
5f216f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
5f2172:	eb 08                	jmp    0x5f217c
5f2174:	8b 44 91 04          	mov    0x4(%ecx,%edx,4),%eax
5f2178:	89 04 91             	mov    %eax,(%ecx,%edx,4)
5f217b:	42                   	inc    %edx
5f217c:	39 1c 91             	cmp    %ebx,(%ecx,%edx,4)
5f217f:	75 f3                	jne    0x5f2174
5f2181:	6a 04                	push   $0x4
5f2183:	52                   	push   %edx
5f2184:	51                   	push   %ecx
5f2185:	e8 a3 03 00 00       	call   0x5f252d
5f218a:	53                   	push   %ebx
5f218b:	89 45 f4             	mov    %eax,-0xc(%ebp)
5f218e:	e8 8f 90 ff ff       	call   0x5eb222
5f2193:	8b 45 f4             	mov    -0xc(%ebp),%eax
5f2196:	83 c4 10             	add    $0x10,%esp
5f2199:	85 c0                	test   %eax,%eax
5f219b:	74 63                	je     0x5f2200
5f219d:	eb 5c                	jmp    0x5f21fb
5f219f:	8b 45 fc             	mov    -0x4(%ebp),%eax
5f21a2:	8b fb                	mov    %ebx,%edi
5f21a4:	89 34 90             	mov    %esi,(%eax,%edx,4)
5f21a7:	eb 57                	jmp    0x5f2200
5f21a9:	66 39 5d f4          	cmp    %bx,-0xc(%ebp)
5f21ad:	0f 84 16 ff ff ff    	je     0x5f20c9
5f21b3:	f7 d9                	neg    %ecx
5f21b5:	89 4d f8             	mov    %ecx,-0x8(%ebp)