41060a:	0f 84 0c e2 00 00    	je     0x41e81c
410610:	6a 08                	push   $0x8
410612:	57                   	push   %edi
410613:	ff 15 88 a3 44 00    	call   *0x44a388
410619:	83 c4 08             	add    $0x8,%esp
41061c:	8b f0                	mov    %eax,%esi
41061e:	f6 c3 08             	test   $0x8,%bl
410621:	0f 85 98 00 00 00    	jne    0x4106bf
410627:	8d 46 fd             	lea    -0x3(%esi),%eax
41062a:	33 c9                	xor    %ecx,%ecx
41062c:	8b d6                	mov    %esi,%edx
41062e:	83 f8 5b             	cmp    $0x5b,%eax
410631:	77 1a                	ja     0x41064d
410633:	83 fe 1f             	cmp    $0x1f,%esi
410636:	0f 8f 6c e2 00 00    	jg     0x41e8a8
41063c:	8b 04 8d ac 67 43 00 	mov    0x4367ac(,%ecx,4),%eax
410643:	0f ab d0             	bts    %edx,%eax
410646:	89 04 8d ac 67 43 00 	mov    %eax,0x4367ac(,%ecx,4)
41064d:	5f                   	pop    %edi
41064e:	8b c6                	mov    %esi,%eax
410650:	5e                   	pop    %esi
410651:	5b                   	pop    %ebx
410652:	8b e5                	mov    %ebp,%esp
410654:	5d                   	pop    %ebp
410655:	c2 04 00             	ret    $0x4
410658:	68 1c 24 40 00       	push   $0x40241c
41065d:	51                   	push   %ecx
41065e:	be 00 00 00 40       	mov    $0x40000000,%esi
410663:	ff 15 40 a4 44 00    	call   *0x44a440
410669:	83 c4 08             	add    $0x8,%esp
41066c:	85 c0                	test   %eax,%eax
41066e:	74 08                	je     0x410678
410670:	bf 01 00 00 00       	mov    $0x1,%edi
410675:	89 7d f4             	mov    %edi,-0xc(%ebp)
410678:	8b 4d f0             	mov    -0x10(%ebp),%ecx
41067b:	b8 02 00 00 00       	mov    $0x2,%eax
410680:	e9 5f ff ff ff       	jmp    0x4105e4
410685:	6a 03                	push   $0x3
410687:	8d 45 dc             	lea    -0x24(%ebp),%eax
41068a:	50                   	push   %eax
41068b:	57                   	push   %edi
41068c:	8b c6                	mov    %esi,%eax
41068e:	0d 00 00 00 80       	or     $0x80000000,%eax
410693:	50                   	push   %eax
410694:	51                   	push   %ecx
410695:	ff 15 ac a0 44 00    	call   *0x44a0ac
41069b:	8b f8                	mov    %eax,%edi
41069d:	83 ff ff             	cmp    $0xffffffff,%edi
4106a0:	0f 85 6a ff ff ff    	jne    0x410610
4106a6:	6a 00                	push   $0x0
4106a8:	68 80 00 00 00       	push   $0x80
4106ad:	6a 04                	push   $0x4
4106af:	8d 45 dc             	lea    -0x24(%ebp),%eax
4106b2:	50                   	push   %eax
4106b3:	ff 75 f4             	push   -0xc(%ebp)
4106b6:	56                   	push   %esi
4106b7:	ff 75 f0             	push   -0x10(%ebp)
4106ba:	e9 40 ff ff ff       	jmp    0x4105ff
4106bf:	8b ce                	mov    %esi,%ecx
4106c1:	e8 d2 d6 ff ff       	call   0x40dd98
4106c6:	85 c0                	test   %eax,%eax
4106c8:	0f 85 59 ff ff ff    	jne    0x410627
4106ce:	8d 45 f0             	lea    -0x10(%ebp),%eax
4106d1:	50                   	push   %eax
4106d2:	57                   	push   %edi
4106d3:	ff 15 9c a0 44 00    	call   *0x44a09c
4106d9:	89 45 ec             	mov    %eax,-0x14(%ebp)
4106dc:	0b 45 f0             	or     -0x10(%ebp),%eax
4106df:	0f 84 42 ff ff ff    	je     0x410627
4106e5:	33 c0                	xor    %eax,%eax
4106e7:	c7 45 f8 ff ff ff ff 	movl   $0xffffffff,-0x8(%ebp)
4106ee:	6a 02                	push   $0x2
4106f0:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
4106f4:	8d 45 f8             	lea    -0x8(%ebp),%eax
4106f7:	50                   	push   %eax
4106f8:	6a ff                	push   $0xffffffff
4106fa:	57                   	push   %edi
4106fb:	ff 15 a0 a0 44 00    	call   *0x44a0a0
410701:	83 f8 ff             	cmp    $0xffffffff,%eax
410704:	0f 84 35 e1 00 00    	je     0x41e83f
41070a:	6a 00                	push   $0x0
41070c:	8d 45 e8             	lea    -0x18(%ebp),%eax
41070f:	50                   	push   %eax
410710:	6a 01                	push   $0x1
410712:	8d 45 fc             	lea    -0x4(%ebp),%eax
410715:	50                   	push   %eax
410716:	57                   	push   %edi
410717:	ff 15 94 a0 44 00    	call   *0x44a094
41071d:	85 c0                	test   %eax,%eax
41071f:	0f 84 4d e1 00 00    	je     0x41e872
410725:	66 83 7d fc 1a       	cmpw   $0x1a,-0x4(%ebp)
41072a:	0f 85 f7 fe ff ff    	jne    0x410627
410730:	e9 58 e1 00 00       	jmp    0x41e88d
410735:	cc                   	int3
410736:	cc                   	int3
410737:	cc                   	int3
410738:	cc                   	int3
410739:	cc                   	int3
41073a:	cc                   	int3
41073b:	cc                   	int3
41073c:	cc                   	int3
41073d:	cc                   	int3
41073e:	cc                   	int3
41073f:	cc                   	int3
410740:	8b ff                	mov    %edi,%edi
410742:	55                   	push   %ebp
410743:	8b ec                	mov    %esp,%ebp
410745:	83 ec 60             	sub    $0x60,%esp
410748:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
41074d:	33 c5                	xor    %ebp,%eax
41074f:	89 45 fc             	mov    %eax,-0x4(%ebp)
410752:	53                   	push   %ebx
410753:	56                   	push   %esi
410754:	8b 75 08             	mov    0x8(%ebp),%esi
410757:	33 c9                	xor    %ecx,%ecx
410759:	57                   	push   %edi
41075a:	6a 24                	push   $0x24
41075c:	89 4d a4             	mov    %ecx,-0x5c(%ebp)
41075f:	8b f9                	mov    %ecx,%edi
410761:	89 4d b0             	mov    %ecx,-0x50(%ebp)
410764:	33 db                	xor    %ebx,%ebx
410766:	89 0d 38 67 43 00    	mov    %ecx,0x436738
41076c:	43                   	inc    %ebx
41076d:	59                   	pop    %ecx
41076e:	89 75 a8             	mov    %esi,-0x58(%ebp)
410771:	e8 5a d5 ff ff       	call   0x40dcd0
410776:	89 45 b4             	mov    %eax,-0x4c(%ebp)
410779:	85 c0                	test   %eax,%eax
41077b:	0f 84 3d e2 00 00    	je     0x41e9be
410781:	8b 0d 40 67 43 00    	mov    0x436740,%ecx
410787:	89 4d b8             	mov    %ecx,-0x48(%ebp)
41078a:	85 c9                	test   %ecx,%ecx
41078c:	0f 84 0b 01 00 00    	je     0x41089d
410792:	8b f9                	mov    %ecx,%edi
410794:	8d 57 02             	lea    0x2(%edi),%edx
410797:	66 8b 07             	mov    (%edi),%ax
41079a:	83 c7 02             	add    $0x2,%edi
41079d:	66 3b 45 a4          	cmp    -0x5c(%ebp),%ax
4107a1:	75 f4                	jne    0x410797
4107a3:	2b fa                	sub    %edx,%edi
4107a5:	d1 ff                	sar    $1,%edi
4107a7:	8d 14 7d 04 00 00 00 	lea    0x4(,%edi,2),%edx
4107ae:	e8 6d d5 ff ff       	call   0x40dd20
4107b3:	85 c0                	test   %eax,%eax
4107b5:	0f 84 02 e1 00 00    	je     0x41e8bd
4107bb:	a3 40 67 43 00       	mov    %eax,0x436740
4107c0:	8d 14 bd 04 00 00 00 	lea    0x4(,%edi,4),%edx
4107c7:	a1 3c 67 43 00       	mov    0x43673c,%eax
4107cc:	8b c8                	mov    %eax,%ecx
4107ce:	89 45 b8             	mov    %eax,-0x48(%ebp)
4107d1:	e8 4a d5 ff ff       	call   0x40dd20
4107d6:	85 c0                	test   %eax,%eax
4107d8:	0f 84 f0 e0 00 00    	je     0x41e8ce
4107de:	8b 0d 40 67 43 00    	mov    0x436740,%ecx
4107e4:	a3 3c 67 43 00       	mov    %eax,0x43673c
4107e9:	85 c9                	test   %ecx,%ecx
4107eb:	0f 84 cd e1 00 00    	je     0x41e9be
4107f1:	85 c0                	test   %eax,%eax
4107f3:	0f 84 c5 e1 00 00    	je     0x41e9be
4107f9:	66 8b 46 44          	mov    0x44(%esi),%ax
4107fd:	66 89 04 79          	mov    %ax,(%ecx,%edi,2)
410801:	33 c0                	xor    %eax,%eax
410803:	66 89 44 79 02       	mov    %ax,0x2(%ecx,%edi,2)
410808:	f6 46 48 01          	testb  $0x1,0x48(%esi)
41080c:	0f 85 b3 00 00 00    	jne    0x4108c5
410812:	f6 46 48 08          	testb  $0x8,0x48(%esi)
410816:	74 5d                	je     0x410875
410818:	53                   	push   %ebx
410819:	8b d7                	mov    %edi,%edx
41081b:	8b ce                	mov    %esi,%ecx
41081d:	e8 ce 03 00 00       	call   0x410bf0
410822:	8b d0                	mov    %eax,%edx
410824:	33 db                	xor    %ebx,%ebx
410826:	85 ff                	test   %edi,%edi
410828:	0f 84 89 00 00 00    	je     0x4108b7
41082e:	8b 35 40 67 43 00    	mov    0x436740,%esi
410834:	85 f6                	test   %esi,%esi
410836:	0f 84 74 e1 00 00    	je     0x41e9b0
41083c:	8b ce                	mov    %esi,%ecx
41083e:	8d 59 02             	lea    0x2(%ecx),%ebx
410841:	66 8b 01             	mov    (%ecx),%ax
410844:	83 c1 02             	add    $0x2,%ecx
410847:	66 3b 45 a4          	cmp    -0x5c(%ebp),%ax
41084b:	75 f4                	jne    0x410841
41084d:	2b cb                	sub    %ebx,%ecx
41084f:	33 c0                	xor    %eax,%eax
410851:	d1 f9                	sar    $1,%ecx
410853:	33 db                	xor    %ebx,%ebx
410855:	66 89 44 4e fe       	mov    %ax,-0x2(%esi,%ecx,2)
41085a:	a1 3c 67 43 00       	mov    0x43673c,%eax
41085f:	89 1c b8             	mov    %ebx,(%eax,%edi,4)
410862:	8b c2                	mov    %edx,%eax
410864:	8b 4d fc             	mov    -0x4(%ebp),%ecx
410867:	5f                   	pop    %edi
410868:	5e                   	pop    %esi
410869:	33 cd                	xor    %ebp,%ecx
41086b:	5b                   	pop    %ebx
41086c:	e8 bf 62 00 00       	call   0x416b30
410871:	c9                   	leave
410872:	c2 04 00             	ret    $0x4
410875:	f6 46 48 04          	testb  $0x4,0x48(%esi)
410879:	0f 85 6d e0 00 00    	jne    0x41e8ec
41087f:	8b 4e 3c             	mov    0x3c(%esi),%ecx
410882:	33 db                	xor    %ebx,%ebx
410884:	53                   	push   %ebx
410885:	33 d2                	xor    %edx,%edx
410887:	e8 a4 b3 ff ff       	call   0x40bc30
41088c:	8b 55 b4             	mov    -0x4c(%ebp),%edx
41088f:	51                   	push   %ecx
410890:	50                   	push   %eax
410891:	57                   	push   %edi
410892:	8b ce                	mov    %esi,%ecx
410894:	e8 be 65 ff ff       	call   0x406e57
410899:	8b d0                	mov    %eax,%edx
41089b:	eb 89                	jmp    0x410826
41089d:	6a 04                	push   $0x4
41089f:	59                   	pop    %ecx
4108a0:	e8 2b d4 ff ff       	call   0x40dcd0
4108a5:	6a 04                	push   $0x4
4108a7:	59                   	pop    %ecx
4108a8:	a3 40 67 43 00       	mov    %eax,0x436740
4108ad:	e8 1e d4 ff ff       	call   0x40dcd0
4108b2:	e9 27 ff ff ff       	jmp    0x4107de
4108b7:	89 1d 40 67 43 00    	mov    %ebx,0x436740
4108bd:	89 1d 3c 67 43 00    	mov    %ebx,0x43673c
4108c3:	eb 9d                	jmp    0x410862
4108c5:	8b 4e 3c             	mov    0x3c(%esi),%ecx
4108c8:	33 c0                	xor    %eax,%eax
4108ca:	50                   	push   %eax
4108cb:	33 d2                	xor    %edx,%edx
4108cd:	e8 5e b3 ff ff       	call   0x40bc30
4108d2:	8b f0                	mov    %eax,%esi
4108d4:	33 c0                	xor    %eax,%eax
4108d6:	50                   	push   %eax
4108d7:	50                   	push   %eax
4108d8:	56                   	push   %esi
4108d9:	ff 15 38 a4 44 00    	call   *0x44a438
4108df:	83 c4 0c             	add    $0xc,%esp
4108e2:	89 45 ac             	mov    %eax,-0x54(%ebp)
4108e5:	8b ce                	mov    %esi,%ecx
4108e7:	e8 e9 9e ff ff       	call   0x40a7d5
4108ec:	8b f0                	mov    %eax,%esi
4108ee:	33 c0                	xor    %eax,%eax
4108f0:	50                   	push   %eax
4108f1:	50                   	push   %eax
4108f2:	56                   	push   %esi
4108f3:	ff 15 38 a4 44 00    	call   *0x44a438
4108f9:	83 c4 0c             	add    $0xc,%esp
4108fc:	89 45 b8             	mov    %eax,-0x48(%ebp)
4108ff:	8b ce                	mov    %esi,%ecx
410901:	e8 cf 9e ff ff       	call   0x40a7d5
410906:	33 f6                	xor    %esi,%esi
410908:	56                   	push   %esi
410909:	56                   	push   %esi
41090a:	50                   	push   %eax
41090b:	ff 15 38 a4 44 00    	call   *0x44a438
410911:	8b c8                	mov    %eax,%ecx
410913:	89 75 b4             	mov    %esi,-0x4c(%ebp)
410916:	8b 75 a8             	mov    -0x58(%ebp),%esi
410919:	83 c4 0c             	add    $0xc,%esp
41091c:	8b 45 ac             	mov    -0x54(%ebp),%eax
41091f:	89 4d a0             	mov    %ecx,-0x60(%ebp)
410922:	83 7d b8 00          	cmpl   $0x0,-0x48(%ebp)
410926:	0f 8c b3 df 00 00    	jl     0x41e8df
41092c:	3b c1                	cmp    %ecx,%eax
41092e:	7f 72                	jg     0x4109a2
410930:	e8 0b 17 00 00       	call   0x412040
410935:	83 3d 9c 25 43 00 00 	cmpl   $0x0,0x43259c
41093c:	75 6c                	jne    0x4109aa
41093e:	8b 45 ac             	mov    -0x54(%ebp),%eax
410941:	50                   	push   %eax
410942:	68 50 20 40 00       	push   $0x402050
410947:	8d 45 bc             	lea    -0x44(%ebp),%eax
41094a:	6a 20                	push   $0x20
41094c:	50                   	push   %eax
41094d:	e8 6d 91 ff ff       	call   0x409abf
410952:	a1 3c 67 43 00       	mov    0x43673c,%eax
410957:	8d 4d bc             	lea    -0x44(%ebp),%ecx
41095a:	83 c4 10             	add    $0x10,%esp
41095d:	8b d3                	mov    %ebx,%edx
41095f:	89 0c b8             	mov    %ecx,(%eax,%edi,4)
410962:	8b 4e 40             	mov    0x40(%esi),%ecx
410965:	e8 51 02 00 00       	call   0x410bbb
41096a:	8b 0d 3c 67 43 00    	mov    0x43673c,%ecx
410970:	33 db                	xor    %ebx,%ebx
410972:	89 45 b0             	mov    %eax,-0x50(%ebp)
410975:	8b 45 b4             	mov    -0x4c(%ebp),%eax
410978:	89 1c b9             	mov    %ebx,(%ecx,%edi,4)
41097b:	85 c0                	test   %eax,%eax
41097d:	74 1b                	je     0x41099a
41097f:	8b c8                	mov    %eax,%ecx
410981:	e8 09 10 00 00       	call   0x41198f
410986:	8b 4d b4             	mov    -0x4c(%ebp),%ecx
410989:	8b 45 ac             	mov    -0x54(%ebp),%eax
41098c:	03 45 b8             	add    -0x48(%ebp),%eax
41098f:	89 4d b4             	mov    %ecx,-0x4c(%ebp)
410992:	8b 4d a0             	mov    -0x60(%ebp),%ecx
410995:	89 45 ac             	mov    %eax,-0x54(%ebp)
410998:	eb 88                	jmp    0x410922
41099a:	8b 0d 78 67 43 00    	mov    0x436778,%ecx
4109a0:	eb e7                	jmp    0x410989
4109a2:	8b 55 b0             	mov    -0x50(%ebp),%edx
4109a5:	e9 7a fe ff ff       	jmp    0x410824
4109aa:	e8 06 8f 01 00       	call   0x4298b5
4109af:	eb 8d                	jmp    0x41093e
4109b1:	8b ff                	mov    %edi,%edi
4109b3:	55                   	push   %ebp
4109b4:	8b ec                	mov    %esp,%ebp
4109b6:	83 ec 30             	sub    $0x30,%esp
4109b9:	a1 b4 e0 42 00       	mov    0x42e0b4,%eax
4109be:	33 c5                	xor    %ebp,%eax
4109c0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4109c3:	53                   	push   %ebx
4109c4:	56                   	push   %esi
4109c5:	33 db                	xor    %ebx,%ebx
4109c7:	57                   	push   %edi
4109c8:	89 5d d8             	mov    %ebx,-0x28(%ebp)
4109cb:	ff 15 f4 a1 44 00    	call   *0x44a1f4
4109d1:	50                   	push   %eax
4109d2:	53                   	push   %ebx
4109d3:	68 ff ff 1f 00       	push   $0x1fffff
4109d8:	ff 15 1c a2 44 00    	call   *0x44a21c
4109de:	a3 e0 65 43 00       	mov    %eax,0x4365e0
4109e3:	e8 c7 d8 ff ff       	call   0x40e2af
4109e8:	53                   	push   %ebx
4109e9:	53                   	push   %ebx
4109ea:	6a 01                	push   $0x1
4109ec:	53                   	push   %ebx
4109ed:	ff 15 2c a1 44 00    	call   *0x44a12c
4109f3:	8d 45 dc             	lea    -0x24(%ebp),%eax
4109f6:	89 5d e0             	mov    %ebx,-0x20(%ebp)
4109f9:	50                   	push   %eax
4109fa:	68 19 00 02 00       	push   $0x20019
4109ff:	53                   	push   %ebx
410a00:	68 28 25 40 00       	push   $0x402528
410a05:	68 01 00 00 80       	push   $0x80000001
410a0a:	ff 15 48 a2 44 00    	call   *0x44a248
410a10:	85 c0                	test   %eax,%eax
410a12:	0f 84 ad df 00 00    	je     0x41e9c5
410a18:	8d 45 e7             	lea    -0x19(%ebp),%eax
410a1b:	c6 05 7c e5 42 00 01 	movb   $0x1,0x42e57c
410a22:	ba e0 a7 43 00       	mov    $0x43a7e0,%edx
410a27:	a3 74 e5 42 00       	mov    %eax,0x42e574
410a2c:	e8 2a 15 00 00       	call   0x411f5b
410a31:	48                   	dec    %eax
410a32:	f7 d8                	neg    %eax
410a34:	1a c0                	sbb    %al,%al
410a36:	20 05 7c e5 42 00    	and    %al,0x42e57c
410a3c:	e8 d9 14 00 00       	call   0x411f1a
410a41:	33 c0                	xor    %eax,%eax