436372:	e9 58 ff ff ff       	jmp    0x4362cf
436377:	83 f8 01             	cmp    $0x1,%eax
43637a:	75 16                	jne    0x436392
43637c:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
436380:	0f b6 45 f8          	movzbl -0x8(%ebp),%eax
436384:	74 2b                	je     0x4363b1
436386:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
436389:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
436390:	eb 1f                	jmp    0x4363b1
436392:	0f b6 55 f8          	movzbl -0x8(%ebp),%edx
436396:	0f b6 45 f9          	movzbl -0x7(%ebp),%eax
43639a:	c1 e2 08             	shl    $0x8,%edx
43639d:	0b d0                	or     %eax,%edx
43639f:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
4363a3:	74 0a                	je     0x4363af
4363a5:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4363a8:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
4363af:	8b c2                	mov    %edx,%eax
4363b1:	5b                   	pop    %ebx
4363b2:	8b e5                	mov    %ebp,%esp
4363b4:	5d                   	pop    %ebp
4363b5:	c3                   	ret
4363b6:	8b ff                	mov    %edi,%edi
4363b8:	55                   	push   %ebp
4363b9:	8b ec                	mov    %esp,%ebp
4363bb:	ff 75 0c             	push   0xc(%ebp)
4363be:	6a 01                	push   $0x1
4363c0:	ff 75 08             	push   0x8(%ebp)
4363c3:	e8 92 f8 ff ff       	call   0x435c5a
4363c8:	83 c4 0c             	add    $0xc,%esp
4363cb:	f7 d8                	neg    %eax
4363cd:	1b c0                	sbb    %eax,%eax
4363cf:	f7 d8                	neg    %eax
4363d1:	5d                   	pop    %ebp
4363d2:	c3                   	ret
4363d3:	8b ff                	mov    %edi,%edi
4363d5:	55                   	push   %ebp
4363d6:	8b ec                	mov    %esp,%ebp
4363d8:	ff 75 0c             	push   0xc(%ebp)
4363db:	68 00 01 00 00       	push   $0x100
4363e0:	ff 75 08             	push   0x8(%ebp)
4363e3:	e8 84 fe ff ff       	call   0x43626c
4363e8:	83 c4 0c             	add    $0xc,%esp
4363eb:	5d                   	pop    %ebp
4363ec:	c3                   	ret
4363ed:	8b ff                	mov    %edi,%edi
4363ef:	55                   	push   %ebp
4363f0:	8b ec                	mov    %esp,%ebp
4363f2:	a1 14 b1 46 00       	mov    0x46b114,%eax
4363f7:	85 c0                	test   %eax,%eax
4363f9:	74 10                	je     0x43640b
4363fb:	6a 00                	push   $0x0
4363fd:	ff 75 08             	push   0x8(%ebp)
436400:	e8 ce ff ff ff       	call   0x4363d3
436405:	59                   	pop    %ecx
436406:	59                   	pop    %ecx
436407:	8b c8                	mov    %eax,%ecx
436409:	eb 0e                	jmp    0x436419
43640b:	8b 4d 08             	mov    0x8(%ebp),%ecx
43640e:	8d 41 bf             	lea    -0x41(%ecx),%eax
436411:	83 f8 19             	cmp    $0x19,%eax
436414:	77 03                	ja     0x436419
436416:	83 c1 20             	add    $0x20,%ecx
436419:	8b c1                	mov    %ecx,%eax
43641b:	5d                   	pop    %ebp
43641c:	c3                   	ret
43641d:	8b ff                	mov    %edi,%edi
43641f:	55                   	push   %ebp
436420:	8b ec                	mov    %esp,%ebp
436422:	8b 45 08             	mov    0x8(%ebp),%eax
436425:	8b 4d 10             	mov    0x10(%ebp),%ecx
436428:	8b 55 0c             	mov    0xc(%ebp),%edx
43642b:	89 10                	mov    %edx,(%eax)
43642d:	89 48 04             	mov    %ecx,0x4(%eax)
436430:	85 c9                	test   %ecx,%ecx
436432:	74 02                	je     0x436436
436434:	89 11                	mov    %edx,(%ecx)
436436:	5d                   	pop    %ebp
436437:	c3                   	ret
436438:	8b ff                	mov    %edi,%edi
43643a:	55                   	push   %ebp
43643b:	8b ec                	mov    %esp,%ebp
43643d:	51                   	push   %ecx
43643e:	6a 01                	push   $0x1
436440:	ff 75 10             	push   0x10(%ebp)
436443:	51                   	push   %ecx
436444:	51                   	push   %ecx
436445:	8b c4                	mov    %esp,%eax
436447:	ff 75 0c             	push   0xc(%ebp)
43644a:	ff 75 08             	push   0x8(%ebp)
43644d:	50                   	push   %eax
43644e:	e8 ca ff ff ff       	call   0x43641d
436453:	83 c4 0c             	add    $0xc,%esp
436456:	6a 00                	push   $0x0
436458:	e8 72 ee ff ff       	call   0x4352cf
43645d:	83 c4 14             	add    $0x14,%esp
436460:	8b e5                	mov    %ebp,%esp
436462:	5d                   	pop    %ebp
436463:	c3                   	ret
436464:	8b ff                	mov    %edi,%edi
436466:	55                   	push   %ebp
436467:	8b ec                	mov    %esp,%ebp
436469:	51                   	push   %ecx
43646a:	6a 01                	push   $0x1
43646c:	ff 75 10             	push   0x10(%ebp)
43646f:	51                   	push   %ecx
436470:	51                   	push   %ecx
436471:	8b c4                	mov    %esp,%eax
436473:	ff 75 0c             	push   0xc(%ebp)
436476:	ff 75 08             	push   0x8(%ebp)
436479:	50                   	push   %eax
43647a:	e8 9e ff ff ff       	call   0x43641d
43647f:	83 c4 0c             	add    $0xc,%esp
436482:	6a 00                	push   $0x0
436484:	e8 6e f0 ff ff       	call   0x4354f7
436489:	83 c4 14             	add    $0x14,%esp
43648c:	8b e5                	mov    %ebp,%esp
43648e:	5d                   	pop    %ebp
43648f:	c3                   	ret
436490:	8b ff                	mov    %edi,%edi
436492:	55                   	push   %ebp
436493:	8b ec                	mov    %esp,%ebp
436495:	51                   	push   %ecx
436496:	6a 00                	push   $0x0
436498:	ff 75 10             	push   0x10(%ebp)
43649b:	51                   	push   %ecx
43649c:	51                   	push   %ecx
43649d:	8b c4                	mov    %esp,%eax
43649f:	ff 75 0c             	push   0xc(%ebp)
4364a2:	ff 75 08             	push   0x8(%ebp)
4364a5:	50                   	push   %eax
4364a6:	e8 72 ff ff ff       	call   0x43641d
4364ab:	83 c4 0c             	add    $0xc,%esp
4364ae:	6a 00                	push   $0x0
4364b0:	e8 42 f0 ff ff       	call   0x4354f7
4364b5:	83 c4 14             	add    $0x14,%esp
4364b8:	8b e5                	mov    %ebp,%esp
4364ba:	5d                   	pop    %ebp
4364bb:	c3                   	ret
4364bc:	8b ff                	mov    %edi,%edi
4364be:	55                   	push   %ebp
4364bf:	8b ec                	mov    %esp,%ebp
4364c1:	83 ec 10             	sub    $0x10,%esp
4364c4:	53                   	push   %ebx
4364c5:	56                   	push   %esi
4364c6:	8b 75 0c             	mov    0xc(%ebp),%esi
4364c9:	85 f6                	test   %esi,%esi
4364cb:	74 18                	je     0x4364e5
4364cd:	8b 5d 10             	mov    0x10(%ebp),%ebx
4364d0:	85 db                	test   %ebx,%ebx
4364d2:	74 11                	je     0x4364e5
4364d4:	80 3e 00             	cmpb   $0x0,(%esi)
4364d7:	75 14                	jne    0x4364ed
4364d9:	8b 45 08             	mov    0x8(%ebp),%eax
4364dc:	85 c0                	test   %eax,%eax
4364de:	74 05                	je     0x4364e5
4364e0:	33 c9                	xor    %ecx,%ecx
4364e2:	66 89 08             	mov    %cx,(%eax)
4364e5:	33 c0                	xor    %eax,%eax
4364e7:	5e                   	pop    %esi
4364e8:	5b                   	pop    %ebx
4364e9:	8b e5                	mov    %ebp,%esp
4364eb:	5d                   	pop    %ebp
4364ec:	c3                   	ret
4364ed:	57                   	push   %edi
4364ee:	ff 75 14             	push   0x14(%ebp)
4364f1:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4364f4:	e8 be b4 ff ff       	call   0x4319b7
4364f9:	8b 45 f4             	mov    -0xc(%ebp),%eax
4364fc:	83 b8 a8 00 00 00 00 	cmpl   $0x0,0xa8(%eax)
436503:	75 15                	jne    0x43651a
436505:	8b 4d 08             	mov    0x8(%ebp),%ecx
436508:	85 c9                	test   %ecx,%ecx
43650a:	74 06                	je     0x436512
43650c:	0f b6 06             	movzbl (%esi),%eax
43650f:	66 89 01             	mov    %ax,(%ecx)
436512:	33 ff                	xor    %edi,%edi
436514:	47                   	inc    %edi
436515:	e9 84 00 00 00       	jmp    0x43659e
43651a:	8d 45 f4             	lea    -0xc(%ebp),%eax
43651d:	50                   	push   %eax
43651e:	0f b6 06             	movzbl (%esi),%eax
436521:	50                   	push   %eax
436522:	e8 f9 3a 00 00       	call   0x43a020
436527:	59                   	pop    %ecx
436528:	59                   	pop    %ecx
436529:	85 c0                	test   %eax,%eax
43652b:	74 40                	je     0x43656d
43652d:	8b 7d f4             	mov    -0xc(%ebp),%edi
436530:	83 7f 04 01          	cmpl   $0x1,0x4(%edi)
436534:	7e 27                	jle    0x43655d
436536:	3b 5f 04             	cmp    0x4(%edi),%ebx
436539:	7c 25                	jl     0x436560
43653b:	33 c0                	xor    %eax,%eax
43653d:	39 45 08             	cmp    %eax,0x8(%ebp)
436540:	0f 95 c0             	setne  %al
436543:	50                   	push   %eax
436544:	ff 75 08             	push   0x8(%ebp)
436547:	ff 77 04             	push   0x4(%edi)
43654a:	56                   	push   %esi
43654b:	6a 09                	push   $0x9
43654d:	ff 77 08             	push   0x8(%edi)
436550:	ff 15 fc b0 44 00    	call   *0x44b0fc
436556:	8b 7d f4             	mov    -0xc(%ebp),%edi
436559:	85 c0                	test   %eax,%eax
43655b:	75 0b                	jne    0x436568
43655d:	3b 5f 04             	cmp    0x4(%edi),%ebx
436560:	72 2e                	jb     0x436590
436562:	80 7e 01 00          	cmpb   $0x0,0x1(%esi)
436566:	74 28                	je     0x436590
436568:	8b 7f 04             	mov    0x4(%edi),%edi
43656b:	eb 31                	jmp    0x43659e
43656d:	33 c0                	xor    %eax,%eax
43656f:	39 45 08             	cmp    %eax,0x8(%ebp)
436572:	0f 95 c0             	setne  %al
436575:	33 ff                	xor    %edi,%edi
436577:	50                   	push   %eax
436578:	ff 75 08             	push   0x8(%ebp)
43657b:	8b 45 f4             	mov    -0xc(%ebp),%eax
43657e:	47                   	inc    %edi
43657f:	57                   	push   %edi
436580:	56                   	push   %esi
436581:	6a 09                	push   $0x9
436583:	ff 70 08             	push   0x8(%eax)
436586:	ff 15 fc b0 44 00    	call   *0x44b0fc
43658c:	85 c0                	test   %eax,%eax
43658e:	75 0e                	jne    0x43659e
436590:	e8 a1 d8 ff ff       	call   0x433e36
436595:	83 cf ff             	or     $0xffffffff,%edi
436598:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
43659e:	80 7d fc 00          	cmpb   $0x0,-0x4(%ebp)
4365a2:	74 0a                	je     0x4365ae
4365a4:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4365a7:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
4365ae:	8b c7                	mov    %edi,%eax
4365b0:	5f                   	pop    %edi
4365b1:	e9 31 ff ff ff       	jmp    0x4364e7
4365b6:	8b ff                	mov    %edi,%edi
4365b8:	55                   	push   %ebp
4365b9:	8b ec                	mov    %esp,%ebp
4365bb:	6a 00                	push   $0x0
4365bd:	ff 75 10             	push   0x10(%ebp)
4365c0:	ff 75 0c             	push   0xc(%ebp)
4365c3:	ff 75 08             	push   0x8(%ebp)
4365c6:	e8 f1 fe ff ff       	call   0x4364bc
4365cb:	83 c4 10             	add    $0x10,%esp
4365ce:	5d                   	pop    %ebp
4365cf:	c3                   	ret
4365d0:	8b ff                	mov    %edi,%edi
4365d2:	55                   	push   %ebp
4365d3:	8b ec                	mov    %esp,%ebp
4365d5:	83 ec 14             	sub    $0x14,%esp
4365d8:	53                   	push   %ebx
4365d9:	8b 5d 0c             	mov    0xc(%ebp),%ebx
4365dc:	57                   	push   %edi
4365dd:	8b 7d 10             	mov    0x10(%ebp),%edi
4365e0:	85 db                	test   %ebx,%ebx
4365e2:	75 12                	jne    0x4365f6
4365e4:	85 ff                	test   %edi,%edi
4365e6:	74 0e                	je     0x4365f6
4365e8:	8b 45 08             	mov    0x8(%ebp),%eax
4365eb:	85 c0                	test   %eax,%eax
4365ed:	74 03                	je     0x4365f2
4365ef:	83 20 00             	andl   $0x0,(%eax)
4365f2:	33 c0                	xor    %eax,%eax
4365f4:	eb 7a                	jmp    0x436670
4365f6:	8b 45 08             	mov    0x8(%ebp),%eax
4365f9:	85 c0                	test   %eax,%eax
4365fb:	74 03                	je     0x436600
4365fd:	83 08 ff             	orl    $0xffffffff,(%eax)
436600:	56                   	push   %esi
436601:	81 ff ff ff ff 7f    	cmp    $0x7fffffff,%edi
436607:	76 11                	jbe    0x43661a
436609:	e8 28 d8 ff ff       	call   0x433e36
43660e:	6a 16                	push   $0x16
436610:	5e                   	pop    %esi
436611:	89 30                	mov    %esi,(%eax)
436613:	e8 62 d7 ff ff       	call   0x433d7a
436618:	eb 53                	jmp    0x43666d
43661a:	ff 75 18             	push   0x18(%ebp)
43661d:	8d 4d ec             	lea    -0x14(%ebp),%ecx
436620:	e8 92 b3 ff ff       	call   0x4319b7
436625:	8b 45 f0             	mov    -0x10(%ebp),%eax
436628:	33 f6                	xor    %esi,%esi
43662a:	39 b0 a8 00 00 00    	cmp    %esi,0xa8(%eax)
436630:	75 5d                	jne    0x43668f
436632:	66 8b 45 14          	mov    0x14(%ebp),%ax
436636:	b9 ff 00 00 00       	mov    $0xff,%ecx
43663b:	66 3b c1             	cmp    %cx,%ax
43663e:	76 36                	jbe    0x436676
436640:	85 db                	test   %ebx,%ebx
436642:	74 0f                	je     0x436653
436644:	85 ff                	test   %edi,%edi
436646:	74 0b                	je     0x436653
436648:	57                   	push   %edi
436649:	56                   	push   %esi
43664a:	53                   	push   %ebx
43664b:	e8 20 90 ff ff       	call   0x42f670
436650:	83 c4 0c             	add    $0xc,%esp
436653:	e8 de d7 ff ff       	call   0x433e36
436658:	6a 2a                	push   $0x2a
43665a:	5e                   	pop    %esi
43665b:	89 30                	mov    %esi,(%eax)
43665d:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
436661:	74 0a                	je     0x43666d
436663:	8b 4d ec             	mov    -0x14(%ebp),%ecx
436666:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
43666d:	8b c6                	mov    %esi,%eax
43666f:	5e                   	pop    %esi
436670:	5f                   	pop    %edi
436671:	5b                   	pop    %ebx
436672:	8b e5                	mov    %ebp,%esp
436674:	5d                   	pop    %ebp
436675:	c3                   	ret
436676:	85 db                	test   %ebx,%ebx
436678:	74 06                	je     0x436680
43667a:	85 ff                	test   %edi,%edi
43667c:	74 5f                	je     0x4366dd
43667e:	88 03                	mov    %al,(%ebx)
436680:	8b 45 08             	mov    0x8(%ebp),%eax
436683:	85 c0                	test   %eax,%eax
436685:	74 d6                	je     0x43665d
436687:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
43668d:	eb ce                	jmp    0x43665d
43668f:	8d 4d fc             	lea    -0x4(%ebp),%ecx
436692:	89 75 fc             	mov    %esi,-0x4(%ebp)
436695:	51                   	push   %ecx
436696:	56                   	push   %esi
436697:	57                   	push   %edi
436698:	53                   	push   %ebx
436699:	6a 01                	push   $0x1
43669b:	8d 4d 14             	lea    0x14(%ebp),%ecx
43669e:	51                   	push   %ecx
43669f:	56                   	push   %esi
4366a0:	ff 70 08             	push   0x8(%eax)
4366a3:	ff 15 00 b1 44 00    	call   *0x44b100
4366a9:	8b c8                	mov    %eax,%ecx
4366ab:	85 c9                	test   %ecx,%ecx
4366ad:	74 10                	je     0x4366bf
4366af:	39 75 fc             	cmp    %esi,-0x4(%ebp)
4366b2:	75 9f                	jne    0x436653
4366b4:	8b 45 08             	mov    0x8(%ebp),%eax
4366b7:	85 c0                	test   %eax,%eax
4366b9:	74 a2                	je     0x43665d
4366bb:	89 08                	mov    %ecx,(%eax)
4366bd:	eb 9e                	jmp    0x43665d
4366bf:	ff 15 e8 b0 44 00    	call   *0x44b0e8
4366c5:	83 f8 7a             	cmp    $0x7a,%eax
4366c8:	75 89                	jne    0x436653
4366ca:	85 db                	test   %ebx,%ebx