4537f3:	73 70                	jae    0x453865
4537f5:	61                   	popa
4537f6:	72 65                	jb     0x45385d
4537f8:	6e                   	outsb  %ds:(%esi),(%dx)
4537f9:	74 07                	je     0x453802
4537fb:	49                   	dec    %ecx
4537fc:	6d                   	insl   (%dx),%es:(%edi)
4537fd:	67 4c                	addr16 dec %esp
4537ff:	69 73 74 8b c0 08 38 	imul   $0x3808c08b,0x74(%ebx),%esi
453806:	45                   	inc    %ebp
453807:	00 03                	add    %al,(%ebx)
453809:	0a 54 49 6d          	or     0x6d(%ecx,%ecx,2),%dl
45380d:	61                   	popa
45380e:	67 65 54             	addr16 gs push %esp
453811:	79 70                	jns    0x453883
453813:	65 01 00             	add    %eax,%gs:(%eax)
453816:	00 00                	add    %al,(%eax)
453818:	00 01                	add    %al,(%ecx)
45381a:	00 00                	add    %al,(%eax)
45381c:	00 04 38             	add    %al,(%eax,%edi,1)
45381f:	45                   	inc    %ebp
453820:	00 07                	add    %al,(%edi)
453822:	69 74 49 6d 61 67 65 	imul   $0x6656761,0x6d(%ecx,%ecx,2),%esi
453829:	06
45382a:	69 74 4d 61 73 6b 07 	imul   $0x49076b73,0x61(%ebp,%ecx,2),%esi
453831:	49
453832:	6d                   	insl   (%dx),%es:(%edi)
453833:	67 4c                	addr16 dec %esp
453835:	69 73 74 3c 38 45 00 	imul   $0x45383c,0x74(%ebx),%esi
45383c:	01 0b                	add    %ecx,(%ebx)
45383e:	54                   	push   %esp
45383f:	49                   	dec    %ecx
453840:	6d                   	insl   (%dx),%es:(%edi)
453841:	61                   	popa
453842:	67 65 49             	addr16 gs dec %ecx
453845:	6e                   	outsb  %ds:(%esi),(%dx)
453846:	64 65 78 04          	fs gs js 0x45384e
45384a:	00 00                	add    %al,(%eax)
45384c:	00 80 ff ff ff 7f    	add    %al,0x7fffffff(%eax)
453852:	8b c0                	mov    %eax,%eax
453854:	a0 38 45 00 00       	mov    0x4538,%al
453861:	00 00                	add    %al,(%eax)
453863:	00 04 39             	add    %al,(%ecx,%edi,1)
453866:	45                   	inc    %ebp
45386f:	00 e4                	add    %ah,%ah
453871:	38 45 00             	cmp    %al,0x0(%ebp)
453874:	ec                   	in     (%dx),%al
453875:	38 45 00             	cmp    %al,0x0(%ebp)
453878:	68 00 00 00 14       	push   $0x14000000
45387d:	6e                   	outsb  %ds:(%esi),(%dx)
45387e:	41                   	inc    %ecx
45387f:	00 d8                	add    %bl,%al
453881:	11 42 00             	adc    %eax,0x0(%edx)
453884:	14 35                	adc    $0x35,%al
453886:	40                   	inc    %eax
453887:	00 2c 0b             	add    %ch,(%ebx,%ecx,1)
45388a:	42                   	inc    %edx
45388b:	00 1c 35 40 00 10 35 	add    %bl,0x35100040(,%esi,1)
453892:	40                   	inc    %eax
453893:	00 58 32             	add    %bl,0x32(%eax)
453896:	40                   	inc    %eax
453897:	00 74 32 40          	add    %dh,0x40(%edx,%esi,1)
45389b:	00 0c 3a             	add    %cl,(%edx,%edi,1)
45389e:	45                   	inc    %ebp
45389f:	00 38                	add    %bh,(%eax)
4538a1:	48                   	dec    %eax
4538a2:	45                   	inc    %ebp
4538a3:	00 c0                	add    %al,%al
4538a5:	4b                   	dec    %ebx
4538a6:	45                   	inc    %ebp
4538a7:	00 78 47             	add    %bh,0x47(%eax)
4538aa:	45                   	inc    %ebp
4538ab:	00 b8 0e 42 00 84    	add    %bh,-0x7bffbdf2(%eax)
4538b1:	0d 42 00 c8 0e       	or     $0xec80042,%eax
4538b6:	42                   	inc    %edx
4538b7:	00 c0                	add    %al,%al
4538b9:	0f 42 00             	cmovb  (%eax),%eax
4538bc:	f0 11 42 00          	lock adc %eax,0x0(%edx)
4538c0:	d8 0e                	fmuls  (%esi)
4538c2:	42                   	inc    %edx
4538c3:	00 d0                	add    %dl,%al
4538c5:	0e                   	push   %cs
4538c6:	42                   	inc    %edx
4538c7:	00 f8                	add    %bh,%al
4538c9:	11 42 00             	adc    %eax,0x0(%edx)
4538cc:	6c                   	insb   (%dx),%es:(%edi)
4538cd:	39 45 00             	cmp    %eax,0x0(%ebp)
4538d0:	6c                   	insb   (%dx),%es:(%edi)
4538d1:	43                   	inc    %ebx
4538d2:	45                   	inc    %ebp
4538d3:	00 78 3a             	add    %bh,0x3a(%eax)
4538d6:	45                   	inc    %ebp
4538d7:	00 74 50 45          	add    %dh,0x45(%eax,%edx,2)
4538db:	00 00                	add    %al,(%eax)
4538dd:	51                   	push   %ecx
4538de:	45                   	inc    %ebp
4538df:	00 78 49             	add    %bh,0x49(%eax)
4538e2:	45                   	inc    %ebp
4538e3:	00 01                	add    %al,(%ecx)
4538e5:	00 ef                	add    %ch,%bh
4538e7:	ff 88 49 45 00 10    	decl   0x10004549(%eax)
4538ed:	54                   	push   %esp
4538ee:	43                   	inc    %ebx
4538ef:	75 73                	jne    0x453964
4538f1:	74 6f                	je     0x453962
4538f3:	6d                   	insl   (%dx),%es:(%edi)
4538f4:	49                   	dec    %ecx
4538f5:	6d                   	insl   (%dx),%es:(%edi)
4538f6:	61                   	popa
4538f7:	67 65 4c             	addr16 gs dec %esp
4538fa:	69 73 74 8d 40 00 04 	imul   $0x400408d,0x74(%ebx),%esi
453901:	39 45 00             	cmp    %eax,0x0(%ebp)
453904:	07                   	pop    %es
453905:	10 54 43 75          	adc    %dl,0x75(%ebx,%eax,2)
453909:	73 74                	jae    0x45397f
45390b:	6f                   	outsl  %ds:(%esi),(%dx)
45390c:	6d                   	insl   (%dx),%es:(%edi)
45390d:	49                   	dec    %ecx
45390e:	6d                   	insl   (%dx),%es:(%edi)
45390f:	61                   	popa
453910:	67 65 4c             	addr16 gs dec %esp
453913:	69 73 74 a0 38 45 00 	imul   $0x4538a0,0x74(%ebx),%esi
45391a:	10 6f 41             	adc    %ch,0x41(%edi)
45391d:	00 02                	add    %al,(%edx)
45391f:	00 07                	add    %al,(%edi)
453921:	49                   	dec    %ecx
453922:	6d                   	insl   (%dx),%es:(%edi)
453923:	67 4c                	addr16 dec %esp
453925:	69 73 74 00 00 8b c0 	imul   $0xc08b0000,0x74(%ebx),%esi
45392c:	e8 53 00 fd ff       	call   0x423984
453931:	8b d0                	mov    %eax,%edx
453933:	81 ea ff ff ff 1f    	sub    $0x1fffffff,%edx
453939:	74 05                	je     0x453940
45393b:	4a                   	dec    %edx
45393c:	74 06                	je     0x453944
45393e:	eb 09                	jmp    0x453949
453940:	83 c8 ff             	or     $0xffffffff,%eax
453943:	c3                   	ret
453944:	b8 00 00 00 ff       	mov    $0xff000000,%eax
453949:	c3                   	ret
45394a:	8b c0                	mov    %eax,%eax
45394c:	8b d0                	mov    %eax,%edx
45394e:	81 ea 00 00 00 ff    	sub    $0xff000000,%edx
453954:	74 0e                	je     0x453964
453956:	81 ea ff ff ff 00    	sub    $0xffffff,%edx
45395c:	75 0b                	jne    0x453969
45395e:	b8 ff ff ff 1f       	mov    $0x1fffffff,%eax
453963:	c3                   	ret
453964:	b8 00 00 00 20       	mov    $0x20000000,%eax
453969:	c3                   	ret
45396a:	8b c0                	mov    %eax,%eax
45396c:	53                   	push   %ebx
45396d:	56                   	push   %esi
45396e:	84 d2                	test   %dl,%dl
453970:	74 08                	je     0x45397a
453972:	83 c4 f0             	add    $0xfffffff0,%esp
453975:	e8 aa fc fa ff       	call   0x403624
45397a:	8b da                	mov    %edx,%ebx
45397c:	8b f0                	mov    %eax,%esi
45397e:	33 d2                	xor    %edx,%edx
453980:	8b c6                	mov    %esi,%eax
453982:	e8 e1 d0 fc ff       	call   0x420a68
453987:	c7 46 34 10 00 00 00 	movl   $0x10,0x34(%esi)
45398e:	c7 46 30 10 00 00 00 	movl   $0x10,0x30(%esi)
453995:	8b c6                	mov    %esi,%eax
453997:	8b 10                	mov    (%eax),%edx
453999:	ff 52 34             	call   *0x34(%edx)
45399c:	8b c6                	mov    %esi,%eax
45399e:	84 db                	test   %bl,%bl
4539a0:	74 0f                	je     0x4539b1
4539a2:	e8 d5 fc fa ff       	call   0x40367c
4539a7:	64 8f 05 00 00 00 00 	pop    %fs:0x0
4539ae:	83 c4 0c             	add    $0xc,%esp
4539b1:	8b c6                	mov    %esi,%eax
4539b3:	5e                   	pop    %esi
4539b4:	5b                   	pop    %ebx
4539b5:	c3                   	ret
4539b6:	8b c0                	mov    %eax,%eax
4539b8:	55                   	push   %ebp
4539b9:	8b ec                	mov    %esp,%ebp
4539bb:	53                   	push   %ebx
4539bc:	56                   	push   %esi
4539bd:	57                   	push   %edi
4539be:	84 d2                	test   %dl,%dl
4539c0:	74 08                	je     0x4539ca
4539c2:	83 c4 f0             	add    $0xfffffff0,%esp
4539c5:	e8 5a fc fa ff       	call   0x403624
4539ca:	8b f1                	mov    %ecx,%esi
4539cc:	8b da                	mov    %edx,%ebx
4539ce:	8b f8                	mov    %eax,%edi
4539d0:	33 c9                	xor    %ecx,%ecx
4539d2:	33 d2                	xor    %edx,%edx
4539d4:	8b c7                	mov    %edi,%eax
4539d6:	e8 8d d0 fc ff       	call   0x420a68
4539db:	89 77 34             	mov    %esi,0x34(%edi)
4539de:	8b 45 08             	mov    0x8(%ebp),%eax
4539e1:	89 47 30             	mov    %eax,0x30(%edi)
4539e4:	8b c7                	mov    %edi,%eax
4539e6:	8b 10                	mov    (%eax),%edx
4539e8:	ff 52 34             	call   *0x34(%edx)
4539eb:	8b c7                	mov    %edi,%eax
4539ed:	84 db                	test   %bl,%bl
4539ef:	74 0f                	je     0x453a00
4539f1:	e8 86 fc fa ff       	call   0x40367c
4539f6:	64 8f 05 00 00 00 00 	pop    %fs:0x0
4539fd:	83 c4 0c             	add    $0xc,%esp
453a00:	8b c7                	mov    %edi,%eax
453a02:	5f                   	pop    %edi
453a03:	5e                   	pop    %esi
453a04:	5b                   	pop    %ebx
453a05:	5d                   	pop    %ebp
453a06:	c2 04 00             	ret    $0x4
453a09:	8d 40 00             	lea    0x0(%eax),%eax
453a0c:	53                   	push   %ebx
453a0d:	56                   	push   %esi
453a0e:	57                   	push   %edi
453a0f:	e8 78 fc fa ff       	call   0x40368c
453a14:	8b da                	mov    %edx,%ebx
453a16:	8b f8                	mov    %eax,%edi
453a18:	eb 10                	jmp    0x453a2a
453a1a:	8b c6                	mov    %esi,%eax
453a1c:	e8 4b 4e fc ff       	call   0x41886c
453a21:	8b d0                	mov    %eax,%edx
453a23:	8b c7                	mov    %edi,%eax
453a25:	e8 ae 0f 00 00       	call   0x4549d8
453a2a:	8b 77 4c             	mov    0x4c(%edi),%esi
453a2d:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
453a31:	7f e7                	jg     0x453a1a
453a33:	8b 47 50             	mov    0x50(%edi),%eax
453a36:	e8 85 f8 fa ff       	call   0x4032c0
453a3b:	8b c7                	mov    %edi,%eax
453a3d:	e8 26 03 00 00       	call   0x453d68
453a42:	8b 47 4c             	mov    0x4c(%edi),%eax
453a45:	e8 76 f8 fa ff       	call   0x4032c0
453a4a:	33 c0                	xor    %eax,%eax
453a4c:	89 47 4c             	mov    %eax,0x4c(%edi)
453a4f:	8b 47 54             	mov    0x54(%edi),%eax
453a52:	85 c0                	test   %eax,%eax
453a54:	74 05                	je     0x453a5b
453a56:	e8 65 f8 fa ff       	call   0x4032c0
453a5b:	8b d3                	mov    %ebx,%edx
453a5d:	80 e2 fc             	and    $0xfc,%dl
453a60:	8b c7                	mov    %edi,%eax
453a62:	e8 4d d0 fc ff       	call   0x420ab4
453a67:	84 db                	test   %bl,%bl
453a69:	7e 07                	jle    0x453a72
453a6b:	8b c7                	mov    %edi,%eax
453a6d:	e8 02 fc fa ff       	call   0x403674
453a72:	5f                   	pop    %edi
453a73:	5e                   	pop    %esi
453a74:	5b                   	pop    %ebx
453a75:	c3                   	ret
453a76:	8b c0                	mov    %eax,%eax
453a78:	55                   	push   %ebp
453a79:	8b ec                	mov    %esp,%ebp
453a7b:	6a 00                	push   $0x0
453a7d:	53                   	push   %ebx
453a7e:	8b d8                	mov    %eax,%ebx
453a80:	33 c0                	xor    %eax,%eax
453a82:	55                   	push   %ebp
453a83:	68 25 3b 45 00       	push   $0x453b25
453a88:	64 ff 30             	push   %fs:(%eax)
453a8b:	64 89 20             	mov    %esp,%fs:(%eax)
453a8e:	b2 01                	mov    $0x1,%dl
453a90:	a1 d8 5f 41 00       	mov    0x415fd8,%eax
453a95:	e8 f6 f7 fa ff       	call   0x403290
453a9a:	89 43 4c             	mov    %eax,0x4c(%ebx)
453a9d:	8b 43 30             	mov    0x30(%ebx),%eax
453aa0:	83 f8 01             	cmp    $0x1,%eax
453aa3:	7c 0d                	jl     0x453ab2
453aa5:	3d 00 80 00 00       	cmp    $0x8000,%eax
453aaa:	7f 06                	jg     0x453ab2
453aac:	83 7b 34 01          	cmpl   $0x1,0x34(%ebx)
453ab0:	7d 21                	jge    0x453ad3
453ab2:	8d 55 fc             	lea    -0x4(%ebp),%edx
453ab5:	a1 c0 45 47 00       	mov    0x4745c0,%eax
453aba:	e8 25 23 fb ff       	call   0x405de4
453abf:	8b 4d fc             	mov    -0x4(%ebp),%ecx
453ac2:	b2 01                	mov    $0x1,%dl
453ac4:	a1 78 5f 41 00       	mov    0x415f78,%eax
453ac9:	e8 26 80 fb ff       	call   0x40baf4
453ace:	e8 b9 ff fa ff       	call   0x403a8c
453ad3:	c7 43 38 04 00 00 00 	movl   $0x4,0x38(%ebx)
453ada:	c6 43 41 01          	movb   $0x1,0x41(%ebx)
453ade:	b2 02                	mov    $0x2,%dl
453ae0:	8b c3                	mov    %ebx,%eax
453ae2:	e8 79 0e 00 00       	call   0x454960
453ae7:	c6 43 43 00          	movb   $0x0,0x43(%ebx)
453aeb:	c7 43 44 ff ff ff 1f 	movl   $0x1fffffff,0x44(%ebx)
453af2:	c7 43 48 ff ff ff 1f 	movl   $0x1fffffff,0x48(%ebx)
453af9:	b2 01                	mov    $0x1,%dl
453afb:	a1 98 2e 42 00       	mov    0x422e98,%eax
453b00:	e8 97 53 fd ff       	call   0x428e9c
453b05:	89 43 50             	mov    %eax,0x50(%ebx)
453b08:	8b c3                	mov    %ebx,%eax
453b0a:	e8 35 00 00 00       	call   0x453b44
453b0f:	33 c0                	xor    %eax,%eax
453b11:	5a                   	pop    %edx
453b12:	59                   	pop    %ecx
453b13:	59                   	pop    %ecx
453b14:	64 89 10             	mov    %edx,%fs:(%eax)
453b17:	68 2c 3b 45 00       	push   $0x453b2c
453b1c:	8d 45 fc             	lea    -0x4(%ebp),%eax
453b1f:	e8 2c 05 fb ff       	call   0x404050
453b24:	c3                   	ret
453b25:	e9 2a ff fa ff       	jmp    0x403a54
453b2a:	eb f0                	jmp    0x453b1c
453b2c:	5b                   	pop    %ebx
453b2d:	59                   	pop    %ecx
453b2e:	5d                   	pop    %ebp
453b2f:	c3                   	ret
453b30:	83 78 3c 00          	cmpl   $0x0,0x3c(%eax)
453b34:	0f 95 c0             	setne  %al
453b37:	c3                   	ret
453b38:	83 78 3c 00          	cmpl   $0x0,0x3c(%eax)
453b3c:	75 05                	jne    0x453b43
453b3e:	e8 5d 02 00 00       	call   0x453da0
453b43:	c3                   	ret
453b44:	55                   	push   %ebp
453b45:	8b ec                	mov    %esp,%ebp
453b47:	83 c4 e8             	add    $0xffffffe8,%esp
453b4a:	53                   	push   %ebx
453b4b:	89 45 fc             	mov    %eax,-0x4(%ebp)
453b4e:	6a 00                	push   $0x0
453b50:	e8 f7 2c fb ff       	call   0x40684c
453b55:	89 45 f8             	mov    %eax,-0x8(%ebp)
453b58:	33 c0                	xor    %eax,%eax
453b5a:	55                   	push   %ebp
453b5b:	68 e5 3b 45 00       	push   $0x453be5
453b60:	64 ff 30             	push   %fs:(%eax)
453b63:	64 89 20             	mov    %esp,%fs:(%eax)
453b66:	8b 45 fc             	mov    -0x4(%ebp),%eax
453b69:	8b 58 50             	mov    0x50(%eax),%ebx
453b6c:	8b 45 fc             	mov    -0x4(%ebp),%eax
453b6f:	8b 40 30             	mov    0x30(%eax),%eax
453b72:	50                   	push   %eax
453b73:	8b 45 fc             	mov    -0x4(%ebp),%eax
453b76:	8b 40 34             	mov    0x34(%eax),%eax
453b79:	50                   	push   %eax
453b7a:	8b 45 f8             	mov    -0x8(%ebp),%eax
453b7d:	50                   	push   %eax
453b7e:	e8 61 29 fb ff       	call   0x4064e4
453b83:	8b d0                	mov    %eax,%edx
453b85:	8b c3                	mov    %ebx,%eax
453b87:	e8 58 64 fd ff       	call   0x429fe4
453b8c:	8b c3                	mov    %ebx,%eax
453b8e:	e8 d1 58 fd ff       	call   0x429464
453b93:	8b 40 14             	mov    0x14(%eax),%eax
453b96:	33 d2                	xor    %edx,%edx
453b98:	e8 73 0a fd ff       	call   0x424610