43ae82:	50                   	push   %eax
43ae83:	ff 15 3c f2 43 00    	call   *0x43f23c
43ae89:	ff d3                	call   *%ebx
43ae8b:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
43ae91:	83 c4 08             	add    $0x8,%esp
43ae94:	85 c0                	test   %eax,%eax
43ae96:	7e 49                	jle    0x43aee1
43ae98:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
43ae9e:	89 b5 ec fe ff ff    	mov    %esi,-0x114(%ebp)
43aea4:	8b f2                	mov    %edx,%esi
43aea6:	3b c2                	cmp    %edx,%eax
43aea8:	74 37                	je     0x43aee1
43aeaa:	8b 9d ec fe ff ff    	mov    -0x114(%ebp),%ebx
43aeb0:	2b c2                	sub    %edx,%eax
43aeb2:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
43aeb8:	8b d0                	mov    %eax,%edx
43aeba:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
43aec0:	8a 06                	mov    (%esi),%al
43aec2:	8d 76 01             	lea    0x1(%esi),%esi
43aec5:	8a 4c 32 ff          	mov    -0x1(%edx,%esi,1),%cl
43aec9:	88 44 32 ff          	mov    %al,-0x1(%edx,%esi,1)
43aecd:	88 4e ff             	mov    %cl,-0x1(%esi)
43aed0:	83 eb 01             	sub    $0x1,%ebx
43aed3:	75 eb                	jne    0x43aec0
43aed5:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
43aedb:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
43aee1:	52                   	push   %edx
43aee2:	57                   	push   %edi
43aee3:	8b cb                	mov    %ebx,%ecx
43aee5:	ff 15 3c f2 43 00    	call   *0x43f23c
43aeeb:	ff d3                	call   *%ebx
43aeed:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
43aef3:	83 c4 08             	add    $0x8,%esp
43aef6:	85 c0                	test   %eax,%eax
43aef8:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
43aefe:	7e 35                	jle    0x43af35
43af00:	8b d8                	mov    %eax,%ebx
43af02:	8b f2                	mov    %edx,%esi
43af04:	3b fa                	cmp    %edx,%edi
43af06:	74 2d                	je     0x43af35
43af08:	8b c7                	mov    %edi,%eax
43af0a:	2b c2                	sub    %edx,%eax
43af0c:	89 85 ec fe ff ff    	mov    %eax,-0x114(%ebp)
43af12:	8b d0                	mov    %eax,%edx
43af14:	8a 06                	mov    (%esi),%al
43af16:	8d 76 01             	lea    0x1(%esi),%esi
43af19:	8a 4c 32 ff          	mov    -0x1(%edx,%esi,1),%cl
43af1d:	88 44 32 ff          	mov    %al,-0x1(%edx,%esi,1)
43af21:	88 4e ff             	mov    %cl,-0x1(%esi)
43af24:	83 eb 01             	sub    $0x1,%ebx
43af27:	75 eb                	jne    0x43af14
43af29:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
43af2f:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
43af35:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
43af3b:	8b da                	mov    %edx,%ebx
43af3d:	89 95 04 ff ff ff    	mov    %edx,-0xfc(%ebp)
43af43:	3b fe                	cmp    %esi,%edi
43af45:	76 3e                	jbe    0x43af85
43af47:	eb 07                	jmp    0x43af50
43af49:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
43af50:	03 f0                	add    %eax,%esi
43af52:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
43af58:	3b f7                	cmp    %edi,%esi
43af5a:	73 23                	jae    0x43af7f
43af5c:	8b 8d f8 fe ff ff    	mov    -0x108(%ebp),%ecx
43af62:	57                   	push   %edi
43af63:	56                   	push   %esi
43af64:	ff 15 3c f2 43 00    	call   *0x43f23c
43af6a:	ff 95 f8 fe ff ff    	call   *-0x108(%ebp)
43af70:	83 c4 08             	add    $0x8,%esp
43af73:	85 c0                	test   %eax,%eax
43af75:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
43af7b:	7e d3                	jle    0x43af50
43af7d:	eb 42                	jmp    0x43afc1
43af7f:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
43af85:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
43af8b:	eb 03                	jmp    0x43af90
43af8d:	8d 49 00             	lea    0x0(%ecx),%ecx
43af90:	03 f0                	add    %eax,%esi
43af92:	3b f2                	cmp    %edx,%esi
43af94:	77 1f                	ja     0x43afb5
43af96:	57                   	push   %edi
43af97:	56                   	push   %esi
43af98:	8b cb                	mov    %ebx,%ecx
43af9a:	ff 15 3c f2 43 00    	call   *0x43f23c
43afa0:	ff d3                	call   *%ebx
43afa2:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
43afa8:	83 c4 08             	add    $0x8,%esp
43afab:	85 c0                	test   %eax,%eax
43afad:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
43afb3:	7e db                	jle    0x43af90
43afb5:	8b 9d 04 ff ff ff    	mov    -0xfc(%ebp),%ebx
43afbb:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
43afc1:	8b b5 f8 fe ff ff    	mov    -0x108(%ebp),%esi
43afc7:	eb 07                	jmp    0x43afd0
43afc9:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
43afd0:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
43afd6:	8b cb                	mov    %ebx,%ecx
43afd8:	2b d8                	sub    %eax,%ebx
43afda:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
43afe0:	3b df                	cmp    %edi,%ebx
43afe2:	76 1f                	jbe    0x43b003
43afe4:	57                   	push   %edi
43afe5:	53                   	push   %ebx
43afe6:	8b ce                	mov    %esi,%ecx
43afe8:	ff 15 3c f2 43 00    	call   *0x43f23c
43afee:	ff d6                	call   *%esi
43aff0:	83 c4 08             	add    $0x8,%esp
43aff3:	85 c0                	test   %eax,%eax
43aff5:	7f d9                	jg     0x43afd0
43aff7:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
43affd:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
43b003:	8b b5 f4 fe ff ff    	mov    -0x10c(%ebp),%esi
43b009:	89 9d 04 ff ff ff    	mov    %ebx,-0xfc(%ebp)
43b00f:	3b de                	cmp    %esi,%ebx
43b011:	72 4a                	jb     0x43b05d
43b013:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
43b019:	8b d3                	mov    %ebx,%edx
43b01b:	74 2b                	je     0x43b048
43b01d:	2b f3                	sub    %ebx,%esi
43b01f:	8b d8                	mov    %eax,%ebx
43b021:	8a 02                	mov    (%edx),%al
43b023:	8d 52 01             	lea    0x1(%edx),%edx
43b026:	8a 4c 16 ff          	mov    -0x1(%esi,%edx,1),%cl
43b02a:	88 44 16 ff          	mov    %al,-0x1(%esi,%edx,1)
43b02e:	88 4a ff             	mov    %cl,-0x1(%edx)
43b031:	83 eb 01             	sub    $0x1,%ebx
43b034:	75 eb                	jne    0x43b021
43b036:	8b b5 f4 fe ff ff    	mov    -0x10c(%ebp),%esi
43b03c:	8b 9d 04 ff ff ff    	mov    -0xfc(%ebp),%ebx
43b042:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
43b048:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
43b04e:	3b fb                	cmp    %ebx,%edi
43b050:	0f 85 ed fe ff ff    	jne    0x43af43
43b056:	8b fe                	mov    %esi,%edi
43b058:	e9 e6 fe ff ff       	jmp    0x43af43
43b05d:	3b f9                	cmp    %ecx,%edi
43b05f:	73 3c                	jae    0x43b09d
43b061:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
43b067:	eb 07                	jmp    0x43b070
43b069:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
43b070:	2b c8                	sub    %eax,%ecx
43b072:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
43b078:	3b cf                	cmp    %edi,%ecx
43b07a:	76 21                	jbe    0x43b09d
43b07c:	57                   	push   %edi
43b07d:	51                   	push   %ecx
43b07e:	8b cb                	mov    %ebx,%ecx
43b080:	ff 15 3c f2 43 00    	call   *0x43f23c
43b086:	ff d3                	call   *%ebx
43b088:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
43b08e:	83 c4 08             	add    $0x8,%esp
43b091:	85 c0                	test   %eax,%eax
43b093:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
43b099:	74 d5                	je     0x43b070
43b09b:	eb 44                	jmp    0x43b0e1
43b09d:	8b 9d f8 fe ff ff    	mov    -0x108(%ebp),%ebx
43b0a3:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
43b0a9:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
43b0b0:	2b c8                	sub    %eax,%ecx
43b0b2:	89 8d 04 ff ff ff    	mov    %ecx,-0xfc(%ebp)
43b0b8:	3b ce                	cmp    %esi,%ecx
43b0ba:	76 1f                	jbe    0x43b0db
43b0bc:	57                   	push   %edi
43b0bd:	51                   	push   %ecx
43b0be:	8b cb                	mov    %ebx,%ecx
43b0c0:	ff 15 3c f2 43 00    	call   *0x43f23c
43b0c6:	ff d3                	call   *%ebx
43b0c8:	8b 8d 04 ff ff ff    	mov    -0xfc(%ebp),%ecx
43b0ce:	83 c4 08             	add    $0x8,%esp
43b0d1:	85 c0                	test   %eax,%eax
43b0d3:	8b 85 00 ff ff ff    	mov    -0x100(%ebp),%eax
43b0d9:	74 d5                	je     0x43b0b0
43b0db:	8b b5 f4 fe ff ff    	mov    -0x10c(%ebp),%esi
43b0e1:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
43b0e7:	8b ca                	mov    %edx,%ecx
43b0e9:	8b bd 04 ff ff ff    	mov    -0xfc(%ebp),%edi
43b0ef:	2b ce                	sub    %esi,%ecx
43b0f1:	8b c7                	mov    %edi,%eax
43b0f3:	2b 85 fc fe ff ff    	sub    -0x104(%ebp),%eax
43b0f9:	3b c1                	cmp    %ecx,%eax
43b0fb:	7c 3d                	jl     0x43b13a
43b0fd:	8b 85 fc fe ff ff    	mov    -0x104(%ebp),%eax
43b103:	3b c7                	cmp    %edi,%eax
43b105:	73 18                	jae    0x43b11f
43b107:	8b 8d e8 fe ff ff    	mov    -0x118(%ebp),%ecx
43b10d:	89 44 8d 84          	mov    %eax,-0x7c(%ebp,%ecx,4)
43b111:	89 bc 8d 0c ff ff ff 	mov    %edi,-0xf4(%ebp,%ecx,4)
43b118:	41                   	inc    %ecx
43b119:	89 8d e8 fe ff ff    	mov    %ecx,-0x118(%ebp)
43b11f:	8b 8d 08 ff ff ff    	mov    -0xf8(%ebp),%ecx
43b125:	8b bd 00 ff ff ff    	mov    -0x100(%ebp),%edi
43b12b:	3b f1                	cmp    %ecx,%esi
43b12d:	73 44                	jae    0x43b173
43b12f:	89 b5 fc fe ff ff    	mov    %esi,-0x104(%ebp)
43b135:	e9 f8 fb ff ff       	jmp    0x43ad32
43b13a:	3b f2                	cmp    %edx,%esi
43b13c:	73 18                	jae    0x43b156
43b13e:	8b 85 e8 fe ff ff    	mov    -0x118(%ebp),%eax
43b144:	89 74 85 84          	mov    %esi,-0x7c(%ebp,%eax,4)
43b148:	89 94 85 0c ff ff ff 	mov    %edx,-0xf4(%ebp,%eax,4)
43b14f:	40                   	inc    %eax
43b150:	89 85 e8 fe ff ff    	mov    %eax,-0x118(%ebp)
43b156:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
43b15c:	3b f7                	cmp    %edi,%esi
43b15e:	73 0d                	jae    0x43b16d
43b160:	8b cf                	mov    %edi,%ecx
43b162:	8b bd 00 ff ff ff    	mov    -0x100(%ebp),%edi
43b168:	e9 bf fb ff ff       	jmp    0x43ad2c
43b16d:	8b bd 00 ff ff ff    	mov    -0x100(%ebp),%edi
43b173:	8b 85 e8 fe ff ff    	mov    -0x118(%ebp),%eax
43b179:	83 e8 01             	sub    $0x1,%eax
43b17c:	89 85 e8 fe ff ff    	mov    %eax,-0x118(%ebp)
43b182:	0f 88 76 fb ff ff    	js     0x43acfe
43b188:	8b 74 85 84          	mov    -0x7c(%ebp,%eax,4),%esi
43b18c:	8b 8c 85 0c ff ff ff 	mov    -0xf4(%ebp,%eax,4),%ecx
43b193:	89 b5 fc fe ff ff    	mov    %esi,-0x104(%ebp)
43b199:	e9 8e fb ff ff       	jmp    0x43ad2c
43b19e:	cc                   	int3
43b19f:	cc                   	int3
43b1a0:	55                   	push   %ebp
43b1a1:	8b ec                	mov    %esp,%ebp
43b1a3:	56                   	push   %esi
43b1a4:	33 c0                	xor    %eax,%eax
43b1a6:	50                   	push   %eax
43b1a7:	50                   	push   %eax
43b1a8:	50                   	push   %eax
43b1a9:	50                   	push   %eax
43b1aa:	50                   	push   %eax
43b1ab:	50                   	push   %eax
43b1ac:	50                   	push   %eax
43b1ad:	50                   	push   %eax
43b1ae:	8b 55 0c             	mov    0xc(%ebp),%edx
43b1b1:	8d 49 00             	lea    0x0(%ecx),%ecx
43b1b4:	8a 02                	mov    (%edx),%al
43b1b6:	0a c0                	or     %al,%al
43b1b8:	74 09                	je     0x43b1c3
43b1ba:	83 c2 01             	add    $0x1,%edx
43b1bd:	0f ab 04 24          	bts    %eax,(%esp)
43b1c1:	eb f1                	jmp    0x43b1b4
43b1c3:	8b 75 08             	mov    0x8(%ebp),%esi
43b1c6:	8b ff                	mov    %edi,%edi
43b1c8:	8a 06                	mov    (%esi),%al
43b1ca:	0a c0                	or     %al,%al
43b1cc:	74 0c                	je     0x43b1da
43b1ce:	83 c6 01             	add    $0x1,%esi
43b1d1:	0f a3 04 24          	bt     %eax,(%esp)
43b1d5:	73 f1                	jae    0x43b1c8
43b1d7:	8d 46 ff             	lea    -0x1(%esi),%eax
43b1da:	83 c4 20             	add    $0x20,%esp
43b1dd:	5e                   	pop    %esi
43b1de:	c9                   	leave
43b1df:	c3                   	ret
43b1e0:	e8 6b 89 ff ff       	call   0x433b50
43b1e5:	33 c9                	xor    %ecx,%ecx
43b1e7:	84 c0                	test   %al,%al
43b1e9:	0f 94 c1             	sete   %cl
43b1ec:	8b c1                	mov    %ecx,%eax
43b1ee:	c3                   	ret
43b1ef:	8b ff                	mov    %edi,%edi
43b1f1:	55                   	push   %ebp
43b1f2:	8b ec                	mov    %esp,%ebp
43b1f4:	83 3d fc 5c 45 00 00 	cmpl   $0x0,0x455cfc
43b1fb:	56                   	push   %esi
43b1fc:	75 48                	jne    0x43b246
43b1fe:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
43b202:	75 17                	jne    0x43b21b
43b204:	e8 37 b4 fe ff       	call   0x426640
43b209:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
43b20f:	e8 5b 58 fe ff       	call   0x420a6f
43b214:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
43b219:	eb 3e                	jmp    0x43b259
43b21b:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
43b21f:	74 e3                	je     0x43b204
43b221:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
43b226:	39 75 10             	cmp    %esi,0x10(%ebp)
43b229:	76 14                	jbe    0x43b23f
43b22b:	e8 10 b4 fe ff       	call   0x426640
43b230:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
43b236:	e8 34 58 fe ff       	call   0x420a6f
43b23b:	8b c6                	mov    %esi,%eax
43b23d:	eb 1a                	jmp    0x43b259
43b23f:	5e                   	pop    %esi
43b240:	5d                   	pop    %ebp
43b241:	e9 3b ce fe ff       	jmp    0x428081
43b246:	6a 00                	push   $0x0
43b248:	ff 75 10             	push   0x10(%ebp)
43b24b:	ff 75 0c             	push   0xc(%ebp)
43b24e:	ff 75 08             	push   0x8(%ebp)
43b251:	e8 06 00 00 00       	call   0x43b25c
43b256:	83 c4 10             	add    $0x10,%esp
43b259:	5e                   	pop    %esi
43b25a:	5d                   	pop    %ebp
43b25b:	c3                   	ret
43b25c:	8b ff                	mov    %edi,%edi
43b25e:	55                   	push   %ebp
43b25f:	8b ec                	mov    %esp,%ebp
43b261:	83 ec 10             	sub    $0x10,%esp
43b264:	57                   	push   %edi
43b265:	8b 7d 10             	mov    0x10(%ebp),%edi
43b268:	85 ff                	test   %edi,%edi
43b26a:	75 07                	jne    0x43b273
43b26c:	33 c0                	xor    %eax,%eax
43b26e:	e9 a6 00 00 00       	jmp    0x43b319
43b273:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
43b277:	75 1a                	jne    0x43b293
43b279:	e8 c2 b3 fe ff       	call   0x426640
43b27e:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
43b284:	e8 e6 57 fe ff       	call   0x420a6f
43b289:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
43b28e:	e9 86 00 00 00       	jmp    0x43b319
43b293:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
43b297:	74 e0                	je     0x43b279
43b299:	56                   	push   %esi
43b29a:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
43b29f:	3b fe                	cmp    %esi,%edi
43b2a1:	76 12                	jbe    0x43b2b5
43b2a3:	e8 98 b3 fe ff       	call   0x426640
43b2a8:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
43b2ae:	e8 bc 57 fe ff       	call   0x420a6f
43b2b3:	eb 61                	jmp    0x43b316
43b2b5:	ff 75 14             	push   0x14(%ebp)
43b2b8:	8d 4d f0             	lea    -0x10(%ebp),%ecx
43b2bb:	e8 31 9b fe ff       	call   0x424df1
43b2c0:	8b 45 f4             	mov    -0xc(%ebp),%eax
43b2c3:	57                   	push   %edi
43b2c4:	ff 75 0c             	push   0xc(%ebp)
43b2c7:	8b 80 a4 00 00 00    	mov    0xa4(%eax),%eax
43b2cd:	85 c0                	test   %eax,%eax
43b2cf:	75 0f                	jne    0x43b2e0
43b2d1:	ff 75 08             	push   0x8(%ebp)
43b2d4:	e8 a8 cd fe ff       	call   0x428081
43b2d9:	83 c4 0c             	add    $0xc,%esp
43b2dc:	8b f0                	mov    %eax,%esi
43b2de:	eb 26                	jmp    0x43b306
43b2e0:	57                   	push   %edi
43b2e1:	ff 75 08             	push   0x8(%ebp)
43b2e4:	68 01 10 00 00       	push   $0x1001
43b2e9:	50                   	push   %eax
43b2ea:	e8 69 08 00 00       	call   0x43bb58
43b2ef:	83 c4 18             	add    $0x18,%esp
43b2f2:	85 c0                	test   %eax,%eax
43b2f4:	75 0d                	jne    0x43b303
43b2f6:	e8 45 b3 fe ff       	call   0x426640
43b2fb:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
43b301:	eb 03                	jmp    0x43b306
43b303:	8d 70 fe             	lea    -0x2(%eax),%esi
43b306:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
43b30a:	74 0a                	je     0x43b316
43b30c:	8b 4d f0             	mov    -0x10(%ebp),%ecx