4456e0:	8d 85 74 f0 ff ff    	lea    -0xf8c(%ebp),%eax
4456e6:	50                   	push   %eax
4456e7:	68 86 00 00 00       	push   $0x86
4456ec:	ff 15 2c 81 4a 00    	call   *0x4a812c
4456f2:	ff d6                	call   *%esi
4456f4:	8b f0                	mov    %eax,%esi
4456f6:	81 ce 00 00 00 10    	or     $0x10000000,%esi
4456fc:	89 b5 20 f2 ff ff    	mov    %esi,-0xde0(%ebp)
445702:	7c 0e                	jl     0x445712
445704:	8b 85 80 f0 ff ff    	mov    -0xf80(%ebp),%eax
44570a:	89 85 24 f2 ff ff    	mov    %eax,-0xddc(%ebp)
445710:	eb 06                	jmp    0x445718
445712:	8b 85 24 f2 ff ff    	mov    -0xddc(%ebp),%eax
445718:	81 fe 23 00 00 d0    	cmp    $0xd0000023,%esi
44571e:	75 0a                	jne    0x44572a
445720:	be 7a 00 07 80       	mov    $0x8007007a,%esi
445725:	e9 c4 0b 00 00       	jmp    0x4462ee
44572a:	85 f6                	test   %esi,%esi
44572c:	0f 88 c2 0b 00 00    	js     0x4462f4
445732:	33 d2                	xor    %edx,%edx
445734:	89 95 f8 f1 ff ff    	mov    %edx,-0xe08(%ebp)
44573a:	83 f8 04             	cmp    $0x4,%eax
44573d:	73 0a                	jae    0x445749
44573f:	be 3e 00 00 c0       	mov    $0xc000003e,%esi
445744:	e9 52 03 00 00       	jmp    0x445a9b
445749:	8b b5 80 f1 ff ff    	mov    -0xe80(%ebp),%esi
44574f:	8b 0e                	mov    (%esi),%ecx
445751:	8d 56 04             	lea    0x4(%esi),%edx
445754:	89 8d 9c f1 ff ff    	mov    %ecx,-0xe64(%ebp)
44575a:	89 95 ec f1 ff ff    	mov    %edx,-0xe14(%ebp)
445760:	3b d6                	cmp    %esi,%edx
445762:	0f 82 2f 03 00 00    	jb     0x445a97
445768:	83 c0 fc             	add    $0xfffffffc,%eax
44576b:	3b c1                	cmp    %ecx,%eax
44576d:	73 0a                	jae    0x445779
44576f:	be 3e 00 00 c0       	mov    $0xc000003e,%esi
445774:	e9 20 03 00 00       	jmp    0x445a99
445779:	8d 34 11             	lea    (%ecx,%edx,1),%esi
44577c:	3b f2                	cmp    %edx,%esi
44577e:	0f 82 13 03 00 00    	jb     0x445a97
445784:	8d 51 04             	lea    0x4(%ecx),%edx
445787:	83 fa 04             	cmp    $0x4,%edx
44578a:	0f 82 07 03 00 00    	jb     0x445a97
445790:	8b 85 24 f2 ff ff    	mov    -0xddc(%ebp),%eax
445796:	2b c2                	sub    %edx,%eax
445798:	83 f8 04             	cmp    $0x4,%eax
44579b:	72 d2                	jb     0x44576f
44579d:	8b 85 ec f1 ff ff    	mov    -0xe14(%ebp),%eax
4457a3:	8b 36                	mov    (%esi),%esi
4457a5:	03 c1                	add    %ecx,%eax
4457a7:	8d 50 04             	lea    0x4(%eax),%edx
4457aa:	89 95 bc f1 ff ff    	mov    %edx,-0xe44(%ebp)
4457b0:	3b d0                	cmp    %eax,%edx
4457b2:	8d 51 04             	lea    0x4(%ecx),%edx
4457b5:	0f 82 dc 02 00 00    	jb     0x445a97
4457bb:	8d 42 04             	lea    0x4(%edx),%eax
4457be:	89 85 d8 f1 ff ff    	mov    %eax,-0xe28(%ebp)
4457c4:	3b c2                	cmp    %edx,%eax
4457c6:	0f 82 cb 02 00 00    	jb     0x445a97
4457cc:	8b 85 24 f2 ff ff    	mov    -0xddc(%ebp),%eax
4457d2:	8b 95 d8 f1 ff ff    	mov    -0xe28(%ebp),%edx
4457d8:	2b c2                	sub    %edx,%eax
4457da:	3b c6                	cmp    %esi,%eax
4457dc:	72 91                	jb     0x44576f
4457de:	8b 85 bc f1 ff ff    	mov    -0xe44(%ebp),%eax
4457e4:	03 c6                	add    %esi,%eax
4457e6:	3b 85 bc f1 ff ff    	cmp    -0xe44(%ebp),%eax
4457ec:	0f 82 a5 02 00 00    	jb     0x445a97
4457f2:	8d 04 32             	lea    (%edx,%esi,1),%eax
4457f5:	89 85 84 f1 ff ff    	mov    %eax,-0xe7c(%ebp)
4457fb:	3b c2                	cmp    %edx,%eax
4457fd:	0f 82 94 02 00 00    	jb     0x445a97
445803:	8b 85 24 f2 ff ff    	mov    -0xddc(%ebp),%eax
445809:	2b 85 84 f1 ff ff    	sub    -0xe7c(%ebp),%eax
44580f:	83 f8 04             	cmp    $0x4,%eax
445812:	0f 82 57 ff ff ff    	jb     0x44576f
445818:	8b 85 bc f1 ff ff    	mov    -0xe44(%ebp),%eax
44581e:	03 c6                	add    %esi,%eax
445820:	8b 10                	mov    (%eax),%edx
445822:	8d 48 04             	lea    0x4(%eax),%ecx
445825:	89 95 08 f2 ff ff    	mov    %edx,-0xdf8(%ebp)
44582b:	89 8d c8 f1 ff ff    	mov    %ecx,-0xe38(%ebp)
445831:	3b c8                	cmp    %eax,%ecx
445833:	0f 82 5e 02 00 00    	jb     0x445a97
445839:	8b 85 84 f1 ff ff    	mov    -0xe7c(%ebp),%eax
44583f:	83 c0 04             	add    $0x4,%eax
445842:	89 85 d4 f1 ff ff    	mov    %eax,-0xe2c(%ebp)
445848:	3b 85 84 f1 ff ff    	cmp    -0xe7c(%ebp),%eax
44584e:	0f 82 43 02 00 00    	jb     0x445a97
445854:	8b 85 24 f2 ff ff    	mov    -0xddc(%ebp),%eax
44585a:	2b 85 d4 f1 ff ff    	sub    -0xe2c(%ebp),%eax
445860:	3b c2                	cmp    %edx,%eax
445862:	0f 82 07 ff ff ff    	jb     0x44576f
445868:	8b 85 d4 f1 ff ff    	mov    -0xe2c(%ebp),%eax
44586e:	8d 0c 10             	lea    (%eax,%edx,1),%ecx
445871:	89 8d d8 f1 ff ff    	mov    %ecx,-0xe28(%ebp)
445877:	3b c8                	cmp    %eax,%ecx
445879:	8b 8d 9c f1 ff ff    	mov    -0xe64(%ebp),%ecx
44587f:	0f 82 12 02 00 00    	jb     0x445a97
445885:	8b bd 24 f2 ff ff    	mov    -0xddc(%ebp),%edi
44588b:	8b c7                	mov    %edi,%eax
44588d:	2b 85 d8 f1 ff ff    	sub    -0xe28(%ebp),%eax
445893:	0f 85 d6 fe ff ff    	jne    0x44576f
445899:	8d 41 0c             	lea    0xc(%ecx),%eax
44589c:	03 c6                	add    %esi,%eax
44589e:	03 c2                	add    %edx,%eax
4458a0:	3b c7                	cmp    %edi,%eax
4458a2:	0f 85 c7 fe ff ff    	jne    0x44576f
4458a8:	6a 18                	push   $0x18
4458aa:	6a 08                	push   $0x8
4458ac:	ff 15 74 72 4a 00    	call   *0x4a7274
4458b2:	50                   	push   %eax
4458b3:	ff 15 84 72 4a 00    	call   *0x4a7284
4458b9:	8b f8                	mov    %eax,%edi
4458bb:	85 ff                	test   %edi,%edi
4458bd:	75 0a                	jne    0x4458c9
4458bf:	be 17 00 00 c0       	mov    $0xc0000017,%esi
4458c4:	e9 49 01 00 00       	jmp    0x445a12
4458c9:	83 bd ec f1 ff ff 00 	cmpl   $0x0,-0xe14(%ebp)
4458d0:	74 44                	je     0x445916
4458d2:	8b 85 9c f1 ff ff    	mov    -0xe64(%ebp),%eax
4458d8:	50                   	push   %eax
4458d9:	6a 08                	push   $0x8
4458db:	89 07                	mov    %eax,(%edi)
4458dd:	ff 15 74 72 4a 00    	call   *0x4a7274
4458e3:	50                   	push   %eax
4458e4:	ff 15 84 72 4a 00    	call   *0x4a7284
4458ea:	85 c0                	test   %eax,%eax
4458ec:	75 0c                	jne    0x4458fa
4458ee:	be 17 00 00 c0       	mov    $0xc0000017,%esi
4458f3:	33 c0                	xor    %eax,%eax
4458f5:	e9 b1 00 00 00       	jmp    0x4459ab
4458fa:	89 47 04             	mov    %eax,0x4(%edi)
4458fd:	ff b5 9c f1 ff ff    	push   -0xe64(%ebp)
445903:	ff b5 ec f1 ff ff    	push   -0xe14(%ebp)
445909:	50                   	push   %eax
44590a:	e8 1e b7 04 00       	call   0x49102d
44590f:	83 c4 0c             	add    $0xc,%esp
445912:	33 c0                	xor    %eax,%eax
445914:	eb 07                	jmp    0x44591d
445916:	33 c0                	xor    %eax,%eax
445918:	89 07                	mov    %eax,(%edi)
44591a:	89 47 04             	mov    %eax,0x4(%edi)
44591d:	83 bd bc f1 ff ff 00 	cmpl   $0x0,-0xe44(%ebp)
445924:	74 2e                	je     0x445954
445926:	56                   	push   %esi
445927:	6a 08                	push   $0x8
445929:	89 77 08             	mov    %esi,0x8(%edi)
44592c:	ff 15 74 72 4a 00    	call   *0x4a7274
445932:	50                   	push   %eax
445933:	ff 15 84 72 4a 00    	call   *0x4a7284
445939:	85 c0                	test   %eax,%eax
44593b:	74 b1                	je     0x4458ee
44593d:	89 47 0c             	mov    %eax,0xc(%edi)
445940:	56                   	push   %esi
445941:	ff b5 bc f1 ff ff    	push   -0xe44(%ebp)
445947:	50                   	push   %eax
445948:	e8 e0 b6 04 00       	call   0x49102d
44594d:	83 c4 0c             	add    $0xc,%esp
445950:	33 c0                	xor    %eax,%eax
445952:	eb 06                	jmp    0x44595a
445954:	89 47 08             	mov    %eax,0x8(%edi)
445957:	89 47 0c             	mov    %eax,0xc(%edi)
44595a:	83 bd c8 f1 ff ff 00 	cmpl   $0x0,-0xe38(%ebp)
445961:	74 38                	je     0x44599b
445963:	8b b5 08 f2 ff ff    	mov    -0xdf8(%ebp),%esi
445969:	56                   	push   %esi
44596a:	6a 08                	push   $0x8
44596c:	89 77 10             	mov    %esi,0x10(%edi)
44596f:	ff 15 74 72 4a 00    	call   *0x4a7274
445975:	50                   	push   %eax
445976:	ff 15 84 72 4a 00    	call   *0x4a7284
44597c:	85 c0                	test   %eax,%eax
44597e:	0f 84 6a ff ff ff    	je     0x4458ee
445984:	89 47 14             	mov    %eax,0x14(%edi)
445987:	56                   	push   %esi
445988:	ff b5 c8 f1 ff ff    	push   -0xe38(%ebp)
44598e:	50                   	push   %eax
44598f:	e8 99 b6 04 00       	call   0x49102d
445994:	83 c4 0c             	add    $0xc,%esp
445997:	33 c0                	xor    %eax,%eax
445999:	eb 06                	jmp    0x4459a1
44599b:	89 47 10             	mov    %eax,0x10(%edi)
44599e:	89 47 14             	mov    %eax,0x14(%edi)
4459a1:	89 bd f8 f1 ff ff    	mov    %edi,-0xe08(%ebp)
4459a7:	8b f0                	mov    %eax,%esi
4459a9:	8b f8                	mov    %eax,%edi
4459ab:	85 ff                	test   %edi,%edi
4459ad:	74 63                	je     0x445a12
4459af:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
4459b3:	74 16                	je     0x4459cb
4459b5:	ff 77 04             	push   0x4(%edi)
4459b8:	50                   	push   %eax
4459b9:	ff 15 74 72 4a 00    	call   *0x4a7274
4459bf:	50                   	push   %eax
4459c0:	ff 15 94 72 4a 00    	call   *0x4a7294
4459c6:	33 c0                	xor    %eax,%eax
4459c8:	89 47 04             	mov    %eax,0x4(%edi)
4459cb:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
4459cf:	74 16                	je     0x4459e7
4459d1:	ff 77 0c             	push   0xc(%edi)
4459d4:	50                   	push   %eax
4459d5:	ff 15 74 72 4a 00    	call   *0x4a7274
4459db:	50                   	push   %eax
4459dc:	ff 15 94 72 4a 00    	call   *0x4a7294
4459e2:	33 c0                	xor    %eax,%eax
4459e4:	89 47 0c             	mov    %eax,0xc(%edi)
4459e7:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
4459eb:	74 16                	je     0x445a03
4459ed:	ff 77 14             	push   0x14(%edi)
4459f0:	50                   	push   %eax
4459f1:	ff 15 74 72 4a 00    	call   *0x4a7274
4459f7:	50                   	push   %eax
4459f8:	ff 15 94 72 4a 00    	call   *0x4a7294
4459fe:	33 c0                	xor    %eax,%eax
445a00:	89 47 14             	mov    %eax,0x14(%edi)
445a03:	57                   	push   %edi
445a04:	50                   	push   %eax
445a05:	ff 15 74 72 4a 00    	call   *0x4a7274
445a0b:	50                   	push   %eax
445a0c:	ff 15 94 72 4a 00    	call   *0x4a7294
445a12:	33 d2                	xor    %edx,%edx
445a14:	85 f6                	test   %esi,%esi
445a16:	78 10                	js     0x445a28
445a18:	8b 85 f8 f1 ff ff    	mov    -0xe08(%ebp),%eax
445a1e:	8b fa                	mov    %edx,%edi
445a20:	89 85 dc f1 ff ff    	mov    %eax,-0xe24(%ebp)
445a26:	eb 06                	jmp    0x445a2e
445a28:	8b bd f8 f1 ff ff    	mov    -0xe08(%ebp),%edi
445a2e:	85 ff                	test   %edi,%edi
445a30:	74 69                	je     0x445a9b
445a32:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
445a36:	74 16                	je     0x445a4e
445a38:	ff 77 04             	push   0x4(%edi)
445a3b:	52                   	push   %edx
445a3c:	ff 15 74 72 4a 00    	call   *0x4a7274
445a42:	50                   	push   %eax
445a43:	ff 15 94 72 4a 00    	call   *0x4a7294
445a49:	33 d2                	xor    %edx,%edx
445a4b:	89 57 04             	mov    %edx,0x4(%edi)
445a4e:	83 7f 0c 00          	cmpl   $0x0,0xc(%edi)
445a52:	74 16                	je     0x445a6a
445a54:	ff 77 0c             	push   0xc(%edi)
445a57:	52                   	push   %edx
445a58:	ff 15 74 72 4a 00    	call   *0x4a7274
445a5e:	50                   	push   %eax
445a5f:	ff 15 94 72 4a 00    	call   *0x4a7294
445a65:	33 d2                	xor    %edx,%edx
445a67:	89 57 0c             	mov    %edx,0xc(%edi)
445a6a:	83 7f 14 00          	cmpl   $0x0,0x14(%edi)
445a6e:	74 16                	je     0x445a86
445a70:	ff 77 14             	push   0x14(%edi)
445a73:	52                   	push   %edx
445a74:	ff 15 74 72 4a 00    	call   *0x4a7274
445a7a:	50                   	push   %eax
445a7b:	ff 15 94 72 4a 00    	call   *0x4a7294
445a81:	33 d2                	xor    %edx,%edx
445a83:	89 57 14             	mov    %edx,0x14(%edi)
445a86:	57                   	push   %edi
445a87:	52                   	push   %edx
445a88:	ff 15 74 72 4a 00    	call   *0x4a7274
445a8e:	50                   	push   %eax
445a8f:	ff 15 94 72 4a 00    	call   *0x4a7294
445a95:	eb 02                	jmp    0x445a99
445a97:	8b f7                	mov    %edi,%esi
445a99:	33 d2                	xor    %edx,%edx
445a9b:	81 ce 00 00 00 10    	or     $0x10000000,%esi
445aa1:	89 b5 20 f2 ff ff    	mov    %esi,-0xde0(%ebp)
445aa7:	0f 8c 47 08 00 00    	jl     0x4462f4
445aad:	8b 8d dc f1 ff ff    	mov    -0xe24(%ebp),%ecx
445ab3:	8b fa                	mov    %edx,%edi
445ab5:	89 bd 88 f1 ff ff    	mov    %edi,-0xe78(%ebp)
445abb:	89 95 08 f2 ff ff    	mov    %edx,-0xdf8(%ebp)
445ac1:	85 c9                	test   %ecx,%ecx
445ac3:	75 0a                	jne    0x445acf
445ac5:	be 0d 00 00 d0       	mov    $0xd000000d,%esi
445aca:	e9 1f 08 00 00       	jmp    0x4462ee
445acf:	8b 41 04             	mov    0x4(%ecx),%eax
445ad2:	89 85 e8 f1 ff ff    	mov    %eax,-0xe18(%ebp)
445ad8:	85 c0                	test   %eax,%eax
445ada:	74 e9                	je     0x445ac5
445adc:	8b 31                	mov    (%ecx),%esi
445ade:	85 f6                	test   %esi,%esi
445ae0:	74 e3                	je     0x445ac5
445ae2:	83 c6 f8             	add    $0xfffffff8,%esi
445ae5:	89 95 d0 f1 ff ff    	mov    %edx,-0xe30(%ebp)
445aeb:	56                   	push   %esi
445aec:	52                   	push   %edx
445aed:	89 b5 84 f1 ff ff    	mov    %esi,-0xe7c(%ebp)
445af3:	ff 15 74 72 4a 00    	call   *0x4a7274
445af9:	50                   	push   %eax
445afa:	ff 15 84 72 4a 00    	call   *0x4a7284
445b00:	89 85 f0 f1 ff ff    	mov    %eax,-0xe10(%ebp)
445b06:	85 c0                	test   %eax,%eax
445b08:	0f 84 61 06 00 00    	je     0x44616f
445b0e:	33 c9                	xor    %ecx,%ecx
445b10:	89 85 14 f2 ff ff    	mov    %eax,-0xdec(%ebp)
445b16:	8a d1                	mov    %cl,%dl
445b18:	8b fe                	mov    %esi,%edi
445b1a:	b9 5e 60 69 ab       	mov    $0xab69605e,%ecx
445b1f:	89 8d d8 fb ff ff    	mov    %ecx,-0x428(%ebp)
445b25:	b9 7f 13 f1 07       	mov    $0x7f1137f,%ecx
445b2a:	89 8d dc fb ff ff    	mov    %ecx,-0x424(%ebp)
445b30:	8b 8d e8 f1 ff ff    	mov    -0xe18(%ebp),%ecx
445b36:	89 8d 20 f2 ff ff    	mov    %ecx,-0xde0(%ebp)
445b3c:	83 e7 07             	and    $0x7,%edi
445b3f:	0f 84 c3 05 00 00    	je     0x446108
445b45:	33 c9                	xor    %ecx,%ecx
445b47:	89 8d bc f1 ff ff    	mov    %ecx,-0xe44(%ebp)
445b4d:	8b c1                	mov    %ecx,%eax
445b4f:	89 85 9c f1 ff ff    	mov    %eax,-0xe64(%ebp)
445b55:	89 8d ec f1 ff ff    	mov    %ecx,-0xe14(%ebp)
445b5b:	85 ff                	test   %edi,%edi
445b5d:	74 58                	je     0x445bb7
445b5f:	6a 38                	push   $0x38
445b61:	5e                   	pop    %esi
445b62:	8b 85 20 f2 ff ff    	mov    -0xde0(%ebp),%eax
445b68:	ff 85 20 f2 ff ff    	incl   -0xde0(%ebp)
445b6e:	83 bd ec f1 ff ff 04 	cmpl   $0x4,-0xe14(%ebp)
445b75:	0f b6 00             	movzbl (%eax),%eax
445b78:	7d 0d                	jge    0x445b87
445b7a:	8d 4e e0             	lea    -0x20(%esi),%ecx
445b7d:	d3 e0                	shl    %cl,%eax
445b7f:	09 85 9c f1 ff ff    	or     %eax,-0xe64(%ebp)
445b85:	eb 0a                	jmp    0x445b91
445b87:	8b ce                	mov    %esi,%ecx
445b89:	d3 e0                	shl    %cl,%eax
445b8b:	09 85 bc f1 ff ff    	or     %eax,-0xe44(%ebp)
445b91:	8b 8d ec f1 ff ff    	mov    -0xe14(%ebp),%ecx
445b97:	83 ee 08             	sub    $0x8,%esi
445b9a:	41                   	inc    %ecx
445b9b:	89 8d ec f1 ff ff    	mov    %ecx,-0xe14(%ebp)
445ba1:	3b cf                	cmp    %edi,%ecx
445ba3:	7c bd                	jl     0x445b62
445ba5:	8b 85 20 f2 ff ff    	mov    -0xde0(%ebp),%eax
445bab:	89 85 20 f2 ff ff    	mov    %eax,-0xde0(%ebp)
445bb1:	8b 85 9c f1 ff ff    	mov    -0xe64(%ebp),%eax
445bb7:	8b b5 bc f1 ff ff    	mov    -0xe44(%ebp),%esi
445bbd:	35 a5 65 2f 09       	xor    $0x92f65a5,%eax
445bc2:	81 f6 9c 89 9a 69    	xor    $0x699a899c,%esi
445bc8:	89 85 24 f2 ff ff    	mov    %eax,-0xddc(%ebp)
445bce:	33 c9                	xor    %ecx,%ecx
445bd0:	89 b5 10 f2 ff ff    	mov    %esi,-0xdf0(%ebp)
445bd6:	89 85 ec f1 ff ff    	mov    %eax,-0xe14(%ebp)
445bdc:	89 b5 f8 f1 ff ff    	mov    %esi,-0xe08(%ebp)
445be2:	89 8d c8 f1 ff ff    	mov    %ecx,-0xe38(%ebp)
445be8:	85 ff                	test   %edi,%edi
445bea:	74 73                	je     0x445c5f
445bec:	8b 85 14 f2 ff ff    	mov    -0xdec(%ebp),%eax
445bf2:	8d 70 01             	lea    0x1(%eax),%esi