42a5ac:	75 32                	jne    0x42a5e0
42a5ae:	57                   	push   %edi
42a5af:	8d 7e 10             	lea    0x10(%esi),%edi
42a5b2:	57                   	push   %edi
42a5b3:	ff 15 88 a2 43 00    	call   *0x43a288
42a5b9:	56                   	push   %esi
42a5ba:	8d 56 21             	lea    0x21(%esi),%edx
42a5bd:	8d 4e 18             	lea    0x18(%esi),%ecx
42a5c0:	e8 60 97 ff ff       	call   0x423d25
42a5c5:	85 ff                	test   %edi,%edi
42a5c7:	74 16                	je     0x42a5df
42a5c9:	a1 a0 a2 43 00       	mov    0x43a2a0,%eax
42a5ce:	8d 55 fc             	lea    -0x4(%ebp),%edx
42a5d1:	8d 4d f8             	lea    -0x8(%ebp),%ecx
42a5d4:	89 7d fc             	mov    %edi,-0x4(%ebp)
42a5d7:	89 45 f8             	mov    %eax,-0x8(%ebp)
42a5da:	e8 85 10 ff ff       	call   0x41b664
42a5df:	5f                   	pop    %edi
42a5e0:	5e                   	pop    %esi
42a5e1:	c9                   	leave
42a5e2:	c2 0c 00             	ret    $0xc
42a5e5:	8b ff                	mov    %edi,%edi
42a5e7:	55                   	push   %ebp
42a5e8:	8b ec                	mov    %esp,%ebp
42a5ea:	8b 45 0c             	mov    0xc(%ebp),%eax
42a5ed:	56                   	push   %esi
42a5ee:	8b f1                	mov    %ecx,%esi
42a5f0:	83 f8 02             	cmp    $0x2,%eax
42a5f3:	74 2e                	je     0x42a623
42a5f5:	83 f8 03             	cmp    $0x3,%eax
42a5f8:	74 29                	je     0x42a623
42a5fa:	83 f8 06             	cmp    $0x6,%eax
42a5fd:	74 24                	je     0x42a623
42a5ff:	83 f8 07             	cmp    $0x7,%eax
42a602:	74 1f                	je     0x42a623
42a604:	3d 00 01 00 00       	cmp    $0x100,%eax
42a609:	7c 07                	jl     0x42a612
42a60b:	3d 80 01 00 00       	cmp    $0x180,%eax
42a610:	7c 11                	jl     0x42a623
42a612:	ff 75 10             	push   0x10(%ebp)
42a615:	8d 4e 28             	lea    0x28(%esi),%ecx
42a618:	ff 75 08             	push   0x8(%ebp)
42a61b:	50                   	push   %eax
42a61c:	e8 5e 00 00 00       	call   0x42a67f
42a621:	eb 10                	jmp    0x42a633
42a623:	51                   	push   %ecx
42a624:	ff 75 08             	push   0x8(%ebp)
42a627:	8d 4e 04             	lea    0x4(%esi),%ecx
42a62a:	50                   	push   %eax
42a62b:	e8 6c 00 00 00       	call   0x42a69c
42a630:	8a 46 24             	mov    0x24(%esi),%al
42a633:	5e                   	pop    %esi
42a634:	5d                   	pop    %ebp
42a635:	c2 0c 00             	ret    $0xc
42a638:	33 c0                	xor    %eax,%eax
42a63a:	89 0d 54 8a 43 00    	mov    %ecx,0x438a54
42a640:	40                   	inc    %eax
42a641:	f0 0f c1 05 dc 8e 43 	lock xadd %eax,0x438edc
42a648:	00
42a649:	40                   	inc    %eax
42a64a:	c3                   	ret
42a64b:	33 c0                	xor    %eax,%eax
42a64d:	89 0d e4 89 43 00    	mov    %ecx,0x4389e4
42a653:	40                   	inc    %eax
42a654:	f0 0f c1 05 10 8b 43 	lock xadd %eax,0x438b10
42a65b:	00
42a65c:	40                   	inc    %eax
42a65d:	c3                   	ret
42a65e:	cc                   	int3
42a65f:	cc                   	int3
42a660:	8b ff                	mov    %edi,%edi
42a662:	55                   	push   %ebp
42a663:	8b ec                	mov    %esp,%ebp
42a665:	8b 45 0c             	mov    0xc(%ebp),%eax
42a668:	6a 00                	push   $0x0
42a66a:	ff 75 10             	push   0x10(%ebp)
42a66d:	0d 00 00 00 40       	or     $0x40000000,%eax
42a672:	50                   	push   %eax
42a673:	ff 75 08             	push   0x8(%ebp)
42a676:	e8 73 35 00 00       	call   0x42dbee
42a67b:	5d                   	pop    %ebp
42a67c:	c2 0c 00             	ret    $0xc
42a67f:	8b ff                	mov    %edi,%edi
42a681:	55                   	push   %ebp
42a682:	8b ec                	mov    %esp,%ebp
42a684:	ff 75 10             	push   0x10(%ebp)
42a687:	8d 45 0c             	lea    0xc(%ebp),%eax
42a68a:	6a 04                	push   $0x4
42a68c:	50                   	push   %eax
42a68d:	6a 04                	push   $0x4
42a68f:	8d 45 08             	lea    0x8(%ebp),%eax
42a692:	50                   	push   %eax
42a693:	e8 b7 00 00 00       	call   0x42a74f
42a698:	5d                   	pop    %ebp
42a699:	c2 0c 00             	ret    $0xc
42a69c:	8b ff                	mov    %edi,%edi
42a69e:	55                   	push   %ebp
42a69f:	8b ec                	mov    %esp,%ebp
42a6a1:	6a 01                	push   $0x1
42a6a3:	6a 04                	push   $0x4
42a6a5:	8d 45 0c             	lea    0xc(%ebp),%eax
42a6a8:	50                   	push   %eax
42a6a9:	6a 04                	push   $0x4
42a6ab:	8d 45 08             	lea    0x8(%ebp),%eax
42a6ae:	50                   	push   %eax
42a6af:	e8 9b 00 00 00       	call   0x42a74f
42a6b4:	5d                   	pop    %ebp
42a6b5:	c2 0c 00             	ret    $0xc
42a6b8:	6a 74                	push   $0x74
42a6ba:	b8 f7 f2 41 00       	mov    $0x41f2f7,%eax
42a6bf:	e8 4a 07 ff ff       	call   0x41ae0e
42a6c4:	8b f1                	mov    %ecx,%esi
42a6c6:	8d 4d 80             	lea    -0x80(%ebp),%ecx
42a6c9:	e8 80 a7 ff ff       	call   0x424e4e
42a6ce:	33 ff                	xor    %edi,%edi
42a6d0:	56                   	push   %esi
42a6d1:	89 7d fc             	mov    %edi,-0x4(%ebp)
42a6d4:	ff 15 88 a2 43 00    	call   *0x43a288
42a6da:	8d 45 80             	lea    -0x80(%ebp),%eax
42a6dd:	8b ce                	mov    %esi,%ecx
42a6df:	50                   	push   %eax
42a6e0:	e8 c5 19 00 00       	call   0x42c0aa
42a6e5:	85 f6                	test   %esi,%esi
42a6e7:	74 16                	je     0x42a6ff
42a6e9:	a1 a0 a2 43 00       	mov    0x43a2a0,%eax
42a6ee:	8d 55 f0             	lea    -0x10(%ebp),%edx
42a6f1:	8d 4d ec             	lea    -0x14(%ebp),%ecx
42a6f4:	89 75 f0             	mov    %esi,-0x10(%ebp)
42a6f7:	89 45 ec             	mov    %eax,-0x14(%ebp)
42a6fa:	e8 65 0f ff ff       	call   0x41b664
42a6ff:	8d 4d 80             	lea    -0x80(%ebp),%ecx
42a702:	e8 78 fc ff ff       	call   0x42a37f
42a707:	39 7d e4             	cmp    %edi,-0x1c(%ebp)
42a70a:	74 11                	je     0x42a71d
42a70c:	ff 75 e4             	push   -0x1c(%ebp)
42a70f:	57                   	push   %edi
42a710:	ff 15 24 a1 43 00    	call   *0x43a124
42a716:	50                   	push   %eax
42a717:	ff 15 20 a1 43 00    	call   *0x43a120
42a71d:	39 7d c0             	cmp    %edi,-0x40(%ebp)
42a720:	74 11                	je     0x42a733
42a722:	ff 75 c0             	push   -0x40(%ebp)
42a725:	57                   	push   %edi
42a726:	ff 15 24 a1 43 00    	call   *0x43a124
42a72c:	50                   	push   %eax
42a72d:	ff 15 20 a1 43 00    	call   *0x43a120
42a733:	39 7d 9c             	cmp    %edi,-0x64(%ebp)
42a736:	74 11                	je     0x42a749
42a738:	ff 75 9c             	push   -0x64(%ebp)
42a73b:	57                   	push   %edi
42a73c:	ff 15 24 a1 43 00    	call   *0x43a124
42a742:	50                   	push   %eax
42a743:	ff 15 20 a1 43 00    	call   *0x43a120
42a749:	e8 8e 06 ff ff       	call   0x41addc
42a74e:	c3                   	ret
42a74f:	6a 10                	push   $0x10
42a751:	b8 1d f3 41 00       	mov    $0x41f31d,%eax
42a756:	e8 b3 06 ff ff       	call   0x41ae0e
42a75b:	8b f1                	mov    %ecx,%esi
42a75d:	ff 75 18             	push   0x18(%ebp)
42a760:	8b 5d 14             	mov    0x14(%ebp),%ebx
42a763:	53                   	push   %ebx
42a764:	ff 75 10             	push   0x10(%ebp)
42a767:	ff 75 0c             	push   0xc(%ebp)
42a76a:	ff 75 08             	push   0x8(%ebp)
42a76d:	e8 b0 00 00 00       	call   0x42a822
42a772:	84 c0                	test   %al,%al
42a774:	74 07                	je     0x42a77d
42a776:	b0 01                	mov    $0x1,%al
42a778:	e9 9d 00 00 00       	jmp    0x42a81a
42a77d:	8b 45 0c             	mov    0xc(%ebp),%eax
42a780:	8d 4e 10             	lea    0x10(%esi),%ecx
42a783:	83 c0 20             	add    $0x20,%eax
42a786:	33 ff                	xor    %edi,%edi
42a788:	03 c3                	add    %ebx,%eax
42a78a:	39 39                	cmp    %edi,(%ecx)
42a78c:	75 6c                	jne    0x42a7fa
42a78e:	89 7d e4             	mov    %edi,-0x1c(%ebp)
42a791:	89 7d e8             	mov    %edi,-0x18(%ebp)
42a794:	89 7d ec             	mov    %edi,-0x14(%ebp)
42a797:	89 7d f0             	mov    %edi,-0x10(%ebp)
42a79a:	83 c0 0a             	add    $0xa,%eax
42a79d:	89 7d fc             	mov    %edi,-0x4(%ebp)
42a7a0:	50                   	push   %eax
42a7a1:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
42a7a4:	e8 1b 3d 00 00       	call   0x42e4c4
42a7a9:	84 c0                	test   %al,%al
42a7ab:	74 34                	je     0x42a7e1
42a7ad:	8b 45 ec             	mov    -0x14(%ebp),%eax
42a7b0:	8b ce                	mov    %esi,%ecx
42a7b2:	2b 45 e4             	sub    -0x1c(%ebp),%eax
42a7b5:	50                   	push   %eax
42a7b6:	57                   	push   %edi
42a7b7:	ff 75 e4             	push   -0x1c(%ebp)
42a7ba:	e8 1f 1b 00 00       	call   0x42c2de
42a7bf:	8b 4e 1c             	mov    0x1c(%esi),%ecx
42a7c2:	8b 45 f0             	mov    -0x10(%ebp),%eax
42a7c5:	89 46 1c             	mov    %eax,0x1c(%esi)
42a7c8:	85 c9                	test   %ecx,%ecx
42a7ca:	74 0f                	je     0x42a7db
42a7cc:	51                   	push   %ecx
42a7cd:	57                   	push   %edi
42a7ce:	ff 15 24 a1 43 00    	call   *0x43a124
42a7d4:	50                   	push   %eax
42a7d5:	ff 15 20 a1 43 00    	call   *0x43a120
42a7db:	c6 46 22 01          	movb   $0x1,0x22(%esi)
42a7df:	eb 03                	jmp    0x42a7e4
42a7e1:	8b 7d f0             	mov    -0x10(%ebp),%edi
42a7e4:	85 ff                	test   %edi,%edi
42a7e6:	74 1e                	je     0x42a806
42a7e8:	57                   	push   %edi
42a7e9:	6a 00                	push   $0x0
42a7eb:	ff 15 24 a1 43 00    	call   *0x43a124
42a7f1:	50                   	push   %eax
42a7f2:	ff 15 20 a1 43 00    	call   *0x43a120
42a7f8:	eb 0c                	jmp    0x42a806
42a7fa:	80 7e 22 00          	cmpb   $0x0,0x22(%esi)
42a7fe:	74 06                	je     0x42a806
42a800:	50                   	push   %eax
42a801:	e8 be 3c 00 00       	call   0x42e4c4
42a806:	ff 75 18             	push   0x18(%ebp)
42a809:	8b ce                	mov    %esi,%ecx
42a80b:	53                   	push   %ebx
42a80c:	ff 75 10             	push   0x10(%ebp)
42a80f:	ff 75 0c             	push   0xc(%ebp)
42a812:	ff 75 08             	push   0x8(%ebp)
42a815:	e8 08 00 00 00       	call   0x42a822
42a81a:	e8 bd 05 ff ff       	call   0x41addc
42a81f:	c2 14 00             	ret    $0x14
42a822:	8b ff                	mov    %edi,%edi
42a824:	55                   	push   %ebp
42a825:	8b ec                	mov    %esp,%ebp
42a827:	83 ec 30             	sub    $0x30,%esp
42a82a:	53                   	push   %ebx
42a82b:	56                   	push   %esi
42a82c:	8b f1                	mov    %ecx,%esi
42a82e:	57                   	push   %edi
42a82f:	8b 7e 10             	mov    0x10(%esi),%edi
42a832:	85 ff                	test   %edi,%edi
42a834:	0f 84 4e 01 00 00    	je     0x42a988
42a83a:	66 8b 46 02          	mov    0x2(%esi),%ax
42a83e:	33 c9                	xor    %ecx,%ecx
42a840:	8b 5d 0c             	mov    0xc(%ebp),%ebx
42a843:	83 c7 0a             	add    $0xa,%edi
42a846:	66 89 45 e4          	mov    %ax,-0x1c(%ebp)
42a84a:	8a 46 04             	mov    0x4(%esi),%al
42a84d:	88 45 e6             	mov    %al,-0x1a(%ebp)
42a850:	33 c0                	xor    %eax,%eax
42a852:	89 4d e8             	mov    %ecx,-0x18(%ebp)
42a855:	66 89 45 ec          	mov    %ax,-0x14(%ebp)
42a859:	89 4d f0             	mov    %ecx,-0x10(%ebp)
42a85c:	89 4d f4             	mov    %ecx,-0xc(%ebp)
42a85f:	88 4d ff             	mov    %cl,-0x1(%ebp)
42a862:	ff 76 14             	push   0x14(%esi)
42a865:	8d 45 f8             	lea    -0x8(%ebp),%eax
42a868:	89 7d f8             	mov    %edi,-0x8(%ebp)
42a86b:	50                   	push   %eax
42a86c:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
42a86f:	e8 f3 f9 ff ff       	call   0x42a267
42a874:	84 c0                	test   %al,%al
42a876:	74 53                	je     0x42a8cb
42a878:	53                   	push   %ebx
42a879:	ff 75 08             	push   0x8(%ebp)
42a87c:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
42a87f:	e8 fe cb ff ff       	call   0x427482
42a884:	85 c0                	test   %eax,%eax
42a886:	78 3e                	js     0x42a8c6
42a888:	8d 45 e4             	lea    -0x1c(%ebp),%eax
42a88b:	8b ce                	mov    %esi,%ecx
42a88d:	74 0d                	je     0x42a89c
42a88f:	ff 75 f8             	push   -0x8(%ebp)
42a892:	50                   	push   %eax
42a893:	e8 04 20 00 00       	call   0x42c89c
42a898:	8b f8                	mov    %eax,%edi
42a89a:	eb c6                	jmp    0x42a862
42a89c:	ff 75 18             	push   0x18(%ebp)
42a89f:	ff 75 14             	push   0x14(%ebp)
42a8a2:	ff 75 10             	push   0x10(%ebp)
42a8a5:	ff 75 f8             	push   -0x8(%ebp)
42a8a8:	50                   	push   %eax
42a8a9:	e8 e7 d4 ff ff       	call   0x427d95
42a8ae:	8b f8                	mov    %eax,%edi
42a8b0:	89 7d f8             	mov    %edi,-0x8(%ebp)
42a8b3:	85 ff                	test   %edi,%edi
42a8b5:	75 07                	jne    0x42a8be
42a8b7:	b0 01                	mov    $0x1,%al
42a8b9:	e9 cc 00 00 00       	jmp    0x42a98a
42a8be:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
42a8c2:	33 d2                	xor    %edx,%edx
42a8c4:	eb 2a                	jmp    0x42a8f0
42a8c6:	89 7d f8             	mov    %edi,-0x8(%ebp)
42a8c9:	eb 06                	jmp    0x42a8d1
42a8cb:	8b 7d f8             	mov    -0x8(%ebp),%edi
42a8ce:	89 7e 14             	mov    %edi,0x14(%esi)
42a8d1:	8b 45 08             	mov    0x8(%ebp),%eax
42a8d4:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
42a8d7:	83 65 f0 00          	andl   $0x0,-0x10(%ebp)
42a8db:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
42a8e2:	66 89 5d ec          	mov    %bx,-0x14(%ebp)
42a8e6:	89 45 f4             	mov    %eax,-0xc(%ebp)
42a8e9:	e8 7f dc ff ff       	call   0x42856d
42a8ee:	8b d0                	mov    %eax,%edx
42a8f0:	66 8b 4e 06          	mov    0x6(%esi),%cx
42a8f4:	8b 45 18             	mov    0x18(%ebp),%eax
42a8f7:	83 65 dc 00          	andl   $0x0,-0x24(%ebp)
42a8fb:	66 89 4d d0          	mov    %cx,-0x30(%ebp)
42a8ff:	8a 4e 08             	mov    0x8(%esi),%cl
42a902:	89 45 d4             	mov    %eax,-0x2c(%ebp)
42a905:	8b 45 14             	mov    0x14(%ebp),%eax
42a908:	88 4d d2             	mov    %cl,-0x2e(%ebp)
42a90b:	8d 4d d0             	lea    -0x30(%ebp),%ecx
42a90e:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
42a912:	8b 45 10             	mov    0x10(%ebp),%eax
42a915:	89 45 e0             	mov    %eax,-0x20(%ebp)
42a918:	e8 50 dc ff ff       	call   0x42856d
42a91d:	8d 1c 02             	lea    (%edx,%eax,1),%ebx
42a920:	8b 46 18             	mov    0x18(%esi),%eax
42a923:	8b d0                	mov    %eax,%edx
42a925:	2b 56 14             	sub    0x14(%esi),%edx
42a928:	39 46 14             	cmp    %eax,0x14(%esi)
42a92b:	1b c9                	sbb    %ecx,%ecx
42a92d:	23 ca                	and    %edx,%ecx
42a92f:	3b cb                	cmp    %ebx,%ecx
42a931:	72 55                	jb     0x42a988
42a933:	8b 4e 14             	mov    0x14(%esi),%ecx
42a936:	2b c3                	sub    %ebx,%eax
42a938:	2b cf                	sub    %edi,%ecx
42a93a:	2b c7                	sub    %edi,%eax
42a93c:	51                   	push   %ecx
42a93d:	57                   	push   %edi
42a93e:	50                   	push   %eax
42a93f:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
42a942:	50                   	push   %eax
42a943:	ff 15 44 a4 43 00    	call   *0x43a444
42a949:	8b 46 14             	mov    0x14(%esi),%eax
42a94c:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
42a94f:	03 c3                	add    %ebx,%eax
42a951:	83 c4 10             	add    $0x10,%esp
42a954:	80 7d ff 00          	cmpb   $0x0,-0x1(%ebp)
42a958:	89 46 14             	mov    %eax,0x14(%esi)
42a95b:	75 0c                	jne    0x42a969
42a95d:	50                   	push   %eax
42a95e:	8d 45 f8             	lea    -0x8(%ebp),%eax
42a961:	50                   	push   %eax
42a962:	e8 41 34 00 00       	call   0x42dda8
42a967:	eb 07                	jmp    0x42a970
42a969:	6a 01                	push   $0x1
42a96b:	e8 cd c1 ff ff       	call   0x426b3d
42a970:	ff 76 14             	push   0x14(%esi)
42a973:	8d 45 f8             	lea    -0x8(%ebp),%eax