43bfd5:	c3                   	ret
43bfd6:	cc                   	int3
43bfd7:	cc                   	int3
43bfd8:	cc                   	int3
43bfd9:	cc                   	int3
43bfda:	cc                   	int3
43bfdb:	cc                   	int3
43bfdc:	cc                   	int3
43bfdd:	cc                   	int3
43bfde:	cc                   	int3
43bfdf:	cc                   	int3
43bfe0:	8b ff                	mov    %edi,%edi
43bfe2:	55                   	push   %ebp
43bfe3:	8b ec                	mov    %esp,%ebp
43bfe5:	81 ec 1c 01 00 00    	sub    $0x11c,%esp
43bfeb:	a1 08 a0 46 00       	mov    0x46a008,%eax
43bff0:	33 c5                	xor    %ebp,%eax
43bff2:	89 45 fc             	mov    %eax,-0x4(%ebp)
43bff5:	8b 4d 08             	mov    0x8(%ebp),%ecx
43bff8:	8b 55 0c             	mov    0xc(%ebp),%edx
43bffb:	89 8d fc fe ff ff    	mov    %ecx,-0x104(%ebp)
43c001:	56                   	push   %esi
43c002:	8b 75 14             	mov    0x14(%ebp),%esi
43c005:	89 b5 00 ff ff ff    	mov    %esi,-0x100(%ebp)
43c00b:	57                   	push   %edi
43c00c:	8b 7d 10             	mov    0x10(%ebp),%edi
43c00f:	89 bd 04 ff ff ff    	mov    %edi,-0xfc(%ebp)
43c015:	85 c9                	test   %ecx,%ecx
43c017:	75 24                	jne    0x43c03d
43c019:	85 d2                	test   %edx,%edx
43c01b:	74 20                	je     0x43c03d
43c01d:	e8 14 7e ff ff       	call   0x433e36
43c022:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
43c028:	e8 4d 7d ff ff       	call   0x433d7a
43c02d:	5f                   	pop    %edi
43c02e:	5e                   	pop    %esi
43c02f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43c032:	33 cd                	xor    %ebp,%ecx
43c034:	e8 fd 1d ff ff       	call   0x42de36
43c039:	8b e5                	mov    %ebp,%esp
43c03b:	5d                   	pop    %ebp
43c03c:	c3                   	ret
43c03d:	85 ff                	test   %edi,%edi
43c03f:	74 dc                	je     0x43c01d
43c041:	85 f6                	test   %esi,%esi
43c043:	74 d8                	je     0x43c01d
43c045:	c7 85 f8 fe ff ff 00 	movl   $0x0,-0x108(%ebp)
43c04c:	00 00 00
43c04f:	83 fa 02             	cmp    $0x2,%edx
43c052:	0f 82 12 03 00 00    	jb     0x43c36a
43c058:	4a                   	dec    %edx
43c059:	0f af d7             	imul   %edi,%edx
43c05c:	53                   	push   %ebx
43c05d:	03 d1                	add    %ecx,%edx
43c05f:	89 95 08 ff ff ff    	mov    %edx,-0xf8(%ebp)
43c065:	8b c2                	mov    %edx,%eax
43c067:	33 d2                	xor    %edx,%edx
43c069:	2b c1                	sub    %ecx,%eax
43c06b:	f7 f7                	div    %edi
43c06d:	8d 58 01             	lea    0x1(%eax),%ebx
43c070:	83 fb 08             	cmp    $0x8,%ebx
43c073:	77 16                	ja     0x43c08b
43c075:	56                   	push   %esi
43c076:	57                   	push   %edi
43c077:	ff b5 08 ff ff ff    	push   -0xf8(%ebp)
43c07d:	51                   	push   %ecx
43c07e:	e8 bd fe ff ff       	call   0x43bf40
43c083:	83 c4 10             	add    $0x10,%esp
43c086:	e9 b7 02 00 00       	jmp    0x43c342
43c08b:	d1 eb                	shr    $1,%ebx
43c08d:	0f af df             	imul   %edi,%ebx
43c090:	03 d9                	add    %ecx,%ebx
43c092:	53                   	push   %ebx
43c093:	51                   	push   %ecx
43c094:	8b ce                	mov    %esi,%ecx
43c096:	89 9d f0 fe ff ff    	mov    %ebx,-0x110(%ebp)
43c09c:	ff 15 d0 b3 44 00    	call   *0x44b3d0
43c0a2:	ff d6                	call   *%esi
43c0a4:	83 c4 08             	add    $0x8,%esp
43c0a7:	85 c0                	test   %eax,%eax
43c0a9:	7e 10                	jle    0x43c0bb
43c0ab:	57                   	push   %edi
43c0ac:	53                   	push   %ebx
43c0ad:	ff b5 fc fe ff ff    	push   -0x104(%ebp)
43c0b3:	e8 88 e1 00 00       	call   0x44a240
43c0b8:	83 c4 0c             	add    $0xc,%esp
43c0bb:	ff b5 08 ff ff ff    	push   -0xf8(%ebp)
43c0c1:	8b ce                	mov    %esi,%ecx
43c0c3:	ff b5 fc fe ff ff    	push   -0x104(%ebp)
43c0c9:	ff 15 d0 b3 44 00    	call   *0x44b3d0
43c0cf:	ff d6                	call   *%esi
43c0d1:	83 c4 08             	add    $0x8,%esp
43c0d4:	85 c0                	test   %eax,%eax
43c0d6:	7e 15                	jle    0x43c0ed
43c0d8:	57                   	push   %edi
43c0d9:	ff b5 08 ff ff ff    	push   -0xf8(%ebp)
43c0df:	ff b5 fc fe ff ff    	push   -0x104(%ebp)
43c0e5:	e8 56 e1 00 00       	call   0x44a240
43c0ea:	83 c4 0c             	add    $0xc,%esp
43c0ed:	ff b5 08 ff ff ff    	push   -0xf8(%ebp)
43c0f3:	8b ce                	mov    %esi,%ecx
43c0f5:	53                   	push   %ebx
43c0f6:	ff 15 d0 b3 44 00    	call   *0x44b3d0
43c0fc:	ff d6                	call   *%esi
43c0fe:	83 c4 08             	add    $0x8,%esp
43c101:	85 c0                	test   %eax,%eax
43c103:	7e 10                	jle    0x43c115
43c105:	57                   	push   %edi
43c106:	ff b5 08 ff ff ff    	push   -0xf8(%ebp)
43c10c:	53                   	push   %ebx
43c10d:	e8 2e e1 00 00       	call   0x44a240
43c112:	83 c4 0c             	add    $0xc,%esp
43c115:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
43c11b:	8b f8                	mov    %eax,%edi
43c11d:	8b b5 fc fe ff ff    	mov    -0x104(%ebp),%esi
43c123:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
43c129:	89 85 ec fe ff ff    	mov    %eax,-0x114(%ebp)
43c12f:	90                   	nop
43c130:	3b de                	cmp    %esi,%ebx
43c132:	76 37                	jbe    0x43c16b
43c134:	03 f2                	add    %edx,%esi
43c136:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
43c13c:	3b f3                	cmp    %ebx,%esi
43c13e:	73 25                	jae    0x43c165
43c140:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
43c146:	53                   	push   %ebx
43c147:	56                   	push   %esi
43c148:	ff 15 d0 b3 44 00    	call   *0x44b3d0
43c14e:	ff 95 00 ff ff ff    	call   *-0x100(%ebp)
43c154:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
43c15a:	83 c4 08             	add    $0x8,%esp
43c15d:	85 c0                	test   %eax,%eax
43c15f:	7e d3                	jle    0x43c134
43c161:	3b de                	cmp    %esi,%ebx
43c163:	77 3d                	ja     0x43c1a2
43c165:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
43c16b:	8b bd 00 ff ff ff    	mov    -0x100(%ebp),%edi
43c171:	03 f2                	add    %edx,%esi
43c173:	3b f0                	cmp    %eax,%esi
43c175:	77 1f                	ja     0x43c196
43c177:	53                   	push   %ebx
43c178:	56                   	push   %esi
43c179:	8b cf                	mov    %edi,%ecx
43c17b:	ff 15 d0 b3 44 00    	call   *0x44b3d0
43c181:	ff d7                	call   *%edi
43c183:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
43c189:	83 c4 08             	add    $0x8,%esp
43c18c:	85 c0                	test   %eax,%eax
43c18e:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
43c194:	7e db                	jle    0x43c171
43c196:	8b bd ec fe ff ff    	mov    -0x114(%ebp),%edi
43c19c:	89 b5 f4 fe ff ff    	mov    %esi,-0x10c(%ebp)
43c1a2:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
43c1a8:	eb 06                	jmp    0x43c1b0
43c1aa:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
43c1b0:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
43c1b6:	2b fa                	sub    %edx,%edi
43c1b8:	3b fb                	cmp    %ebx,%edi
43c1ba:	76 19                	jbe    0x43c1d5
43c1bc:	53                   	push   %ebx
43c1bd:	57                   	push   %edi
43c1be:	8b ce                	mov    %esi,%ecx
43c1c0:	ff 15 d0 b3 44 00    	call   *0x44b3d0
43c1c6:	ff d6                	call   *%esi
43c1c8:	83 c4 08             	add    $0x8,%esp
43c1cb:	85 c0                	test   %eax,%eax
43c1cd:	7f e1                	jg     0x43c1b0
43c1cf:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
43c1d5:	8b b5 f4 fe ff ff    	mov    -0x10c(%ebp),%esi
43c1db:	89 bd ec fe ff ff    	mov    %edi,-0x114(%ebp)
43c1e1:	3b fe                	cmp    %esi,%edi
43c1e3:	72 5e                	jb     0x43c243
43c1e5:	89 95 e8 fe ff ff    	mov    %edx,-0x118(%ebp)
43c1eb:	89 bd e4 fe ff ff    	mov    %edi,-0x11c(%ebp)
43c1f1:	3b f7                	cmp    %edi,%esi
43c1f3:	74 33                	je     0x43c228
43c1f5:	8b de                	mov    %esi,%ebx
43c1f7:	8b d7                	mov    %edi,%edx
43c1f9:	8b b5 e8 fe ff ff    	mov    -0x118(%ebp),%esi
43c1ff:	2b df                	sub    %edi,%ebx
43c201:	8a 02                	mov    (%edx),%al
43c203:	8d 52 01             	lea    0x1(%edx),%edx
43c206:	8a 4c 13 ff          	mov    -0x1(%ebx,%edx,1),%cl
43c20a:	88 44 13 ff          	mov    %al,-0x1(%ebx,%edx,1)
43c20e:	88 4a ff             	mov    %cl,-0x1(%edx)
43c211:	83 ee 01             	sub    $0x1,%esi
43c214:	75 eb                	jne    0x43c201
43c216:	8b b5 f4 fe ff ff    	mov    -0x10c(%ebp),%esi
43c21c:	8b 9d f0 fe ff ff    	mov    -0x110(%ebp),%ebx
43c222:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
43c228:	8b 85 08 ff ff ff    	mov    -0xf8(%ebp),%eax
43c22e:	3b df                	cmp    %edi,%ebx
43c230:	0f 85 fa fe ff ff    	jne    0x43c130
43c236:	8b de                	mov    %esi,%ebx
43c238:	89 9d f0 fe ff ff    	mov    %ebx,-0x110(%ebp)
43c23e:	e9 ed fe ff ff       	jmp    0x43c130
43c243:	03 fa                	add    %edx,%edi
43c245:	3b df                	cmp    %edi,%ebx
43c247:	73 32                	jae    0x43c27b
43c249:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
43c250:	2b fa                	sub    %edx,%edi
43c252:	3b fb                	cmp    %ebx,%edi
43c254:	76 25                	jbe    0x43c27b
43c256:	8b 8d 00 ff ff ff    	mov    -0x100(%ebp),%ecx
43c25c:	53                   	push   %ebx
43c25d:	57                   	push   %edi
43c25e:	ff 15 d0 b3 44 00    	call   *0x44b3d0
43c264:	ff 95 00 ff ff ff    	call   *-0x100(%ebp)
43c26a:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
43c270:	83 c4 08             	add    $0x8,%esp
43c273:	85 c0                	test   %eax,%eax
43c275:	74 d9                	je     0x43c250
43c277:	3b df                	cmp    %edi,%ebx
43c279:	72 2f                	jb     0x43c2aa
43c27b:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
43c281:	2b fa                	sub    %edx,%edi
43c283:	3b bd fc fe ff ff    	cmp    -0x104(%ebp),%edi
43c289:	76 19                	jbe    0x43c2a4
43c28b:	53                   	push   %ebx
43c28c:	57                   	push   %edi
43c28d:	8b ce                	mov    %esi,%ecx
43c28f:	ff 15 d0 b3 44 00    	call   *0x44b3d0
43c295:	ff d6                	call   *%esi
43c297:	8b 95 04 ff ff ff    	mov    -0xfc(%ebp),%edx
43c29d:	83 c4 08             	add    $0x8,%esp
43c2a0:	85 c0                	test   %eax,%eax
43c2a2:	74 dd                	je     0x43c281
43c2a4:	8b b5 f4 fe ff ff    	mov    -0x10c(%ebp),%esi
43c2aa:	8b 95 08 ff ff ff    	mov    -0xf8(%ebp),%edx
43c2b0:	8b c7                	mov    %edi,%eax
43c2b2:	8b 9d fc fe ff ff    	mov    -0x104(%ebp),%ebx
43c2b8:	8b ca                	mov    %edx,%ecx
43c2ba:	2b ce                	sub    %esi,%ecx
43c2bc:	2b c3                	sub    %ebx,%eax
43c2be:	3b c1                	cmp    %ecx,%eax
43c2c0:	7c 39                	jl     0x43c2fb
43c2c2:	3b df                	cmp    %edi,%ebx
43c2c4:	73 18                	jae    0x43c2de
43c2c6:	8b 85 f8 fe ff ff    	mov    -0x108(%ebp),%eax
43c2cc:	89 9c 85 0c ff ff ff 	mov    %ebx,-0xf4(%ebp,%eax,4)
43c2d3:	89 7c 85 84          	mov    %edi,-0x7c(%ebp,%eax,4)
43c2d7:	40                   	inc    %eax
43c2d8:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
43c2de:	8b bd 04 ff ff ff    	mov    -0xfc(%ebp),%edi
43c2e4:	3b f2                	cmp    %edx,%esi
43c2e6:	73 4c                	jae    0x43c334
43c2e8:	8b ce                	mov    %esi,%ecx
43c2ea:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
43c2f0:	89 8d fc fe ff ff    	mov    %ecx,-0x104(%ebp)
43c2f6:	e9 6a fd ff ff       	jmp    0x43c065
43c2fb:	3b f2                	cmp    %edx,%esi
43c2fd:	73 18                	jae    0x43c317
43c2ff:	8b 85 f8 fe ff ff    	mov    -0x108(%ebp),%eax
43c305:	89 b4 85 0c ff ff ff 	mov    %esi,-0xf4(%ebp,%eax,4)
43c30c:	89 54 85 84          	mov    %edx,-0x7c(%ebp,%eax,4)
43c310:	40                   	inc    %eax
43c311:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
43c317:	8b 8d fc fe ff ff    	mov    -0x104(%ebp),%ecx
43c31d:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
43c323:	3b cf                	cmp    %edi,%ecx
43c325:	73 15                	jae    0x43c33c
43c327:	8b d7                	mov    %edi,%edx
43c329:	8b bd 04 ff ff ff    	mov    -0xfc(%ebp),%edi
43c32f:	e9 2b fd ff ff       	jmp    0x43c05f
43c334:	8b b5 00 ff ff ff    	mov    -0x100(%ebp),%esi
43c33a:	eb 06                	jmp    0x43c342
43c33c:	8b bd 04 ff ff ff    	mov    -0xfc(%ebp),%edi
43c342:	8b 85 f8 fe ff ff    	mov    -0x108(%ebp),%eax
43c348:	83 e8 01             	sub    $0x1,%eax
43c34b:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
43c351:	78 16                	js     0x43c369
43c353:	8b 8c 85 0c ff ff ff 	mov    -0xf4(%ebp,%eax,4),%ecx
43c35a:	8b 54 85 84          	mov    -0x7c(%ebp,%eax,4),%edx
43c35e:	89 8d fc fe ff ff    	mov    %ecx,-0x104(%ebp)
43c364:	e9 f6 fc ff ff       	jmp    0x43c05f
43c369:	5b                   	pop    %ebx
43c36a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43c36d:	5f                   	pop    %edi
43c36e:	33 cd                	xor    %ebp,%ecx
43c370:	5e                   	pop    %esi
43c371:	e8 c0 1a ff ff       	call   0x42de36
43c376:	8b e5                	mov    %ebp,%esp
43c378:	5d                   	pop    %ebp
43c379:	c3                   	ret
43c37a:	cc                   	int3
43c37b:	cc                   	int3
43c37c:	cc                   	int3
43c37d:	cc                   	int3
43c37e:	cc                   	int3
43c37f:	cc                   	int3
43c380:	55                   	push   %ebp
43c381:	8b ec                	mov    %esp,%ebp
43c383:	56                   	push   %esi
43c384:	33 c0                	xor    %eax,%eax
43c386:	50                   	push   %eax
43c387:	50                   	push   %eax
43c388:	50                   	push   %eax
43c389:	50                   	push   %eax
43c38a:	50                   	push   %eax
43c38b:	50                   	push   %eax
43c38c:	50                   	push   %eax
43c38d:	50                   	push   %eax
43c38e:	8b 55 0c             	mov    0xc(%ebp),%edx
43c391:	8d 49 00             	lea    0x0(%ecx),%ecx
43c394:	8a 02                	mov    (%edx),%al
43c396:	0a c0                	or     %al,%al
43c398:	74 09                	je     0x43c3a3
43c39a:	83 c2 01             	add    $0x1,%edx
43c39d:	0f ab 04 24          	bts    %eax,(%esp)
43c3a1:	eb f1                	jmp    0x43c394
43c3a3:	8b 75 08             	mov    0x8(%ebp),%esi
43c3a6:	8b ff                	mov    %edi,%edi
43c3a8:	8a 06                	mov    (%esi),%al
43c3aa:	0a c0                	or     %al,%al
43c3ac:	74 0c                	je     0x43c3ba
43c3ae:	83 c6 01             	add    $0x1,%esi
43c3b1:	0f a3 04 24          	bt     %eax,(%esp)
43c3b5:	73 f1                	jae    0x43c3a8
43c3b7:	8d 46 ff             	lea    -0x1(%esi),%eax
43c3ba:	83 c4 20             	add    $0x20,%esp
43c3bd:	5e                   	pop    %esi
43c3be:	c9                   	leave
43c3bf:	c3                   	ret
43c3c0:	e8 dc be ff ff       	call   0x4382a1
43c3c5:	33 c9                	xor    %ecx,%ecx
43c3c7:	84 c0                	test   %al,%al
43c3c9:	0f 94 c1             	sete   %cl
43c3cc:	8b c1                	mov    %ecx,%eax
43c3ce:	c3                   	ret
43c3cf:	8b ff                	mov    %edi,%edi
43c3d1:	55                   	push   %ebp
43c3d2:	8b ec                	mov    %esp,%ebp
43c3d4:	83 ec 10             	sub    $0x10,%esp
43c3d7:	53                   	push   %ebx
43c3d8:	56                   	push   %esi
43c3d9:	57                   	push   %edi
43c3da:	33 ff                	xor    %edi,%edi
43c3dc:	bb e3 00 00 00       	mov    $0xe3,%ebx
43c3e1:	89 7d f4             	mov    %edi,-0xc(%ebp)
43c3e4:	89 5d f8             	mov    %ebx,-0x8(%ebp)
43c3e7:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
43c3ea:	c7 45 fc 55 00 00 00 	movl   $0x55,-0x4(%ebp)
43c3f1:	99                   	cltd
43c3f2:	2b c2                	sub    %edx,%eax
43c3f4:	8b c8                	mov    %eax,%ecx
43c3f6:	d1 f9                	sar    $1,%ecx
43c3f8:	6a 41                	push   $0x41
43c3fa:	5f                   	pop    %edi
43c3fb:	89 4d f0             	mov    %ecx,-0x10(%ebp)
43c3fe:	8b 34 cd 78 45 46 00 	mov    0x464578(,%ecx,8),%esi