439857:	66 89 46 04          	mov    %ax,0x4(%esi)
43985b:	0f b6 c3             	movzbl %bl,%eax
43985e:	89 16                	mov    %edx,(%esi)
439860:	66 89 46 06          	mov    %ax,0x6(%esi)
439864:	e9 0e ff ff ff       	jmp    0x439777
439869:	ff 75 e4             	push   -0x1c(%ebp)
43986c:	eb 4f                	jmp    0x4398bd
43986e:	81 fa 00 d8 00 00    	cmp    $0xd800,%edx
439874:	72 08                	jb     0x43987e
439876:	81 fa ff df 00 00    	cmp    $0xdfff,%edx
43987c:	76 eb                	jbe    0x439869
43987e:	81 fa ff ff 10 00    	cmp    $0x10ffff,%edx
439884:	77 e3                	ja     0x439869
439886:	0f b6 c7             	movzbl %bh,%eax
439889:	c7 45 f0 80 00 00 00 	movl   $0x80,-0x10(%ebp)
439890:	c7 45 f4 00 08 00 00 	movl   $0x800,-0xc(%ebp)
439897:	c7 45 f8 00 00 01 00 	movl   $0x10000,-0x8(%ebp)
43989e:	3b 54 85 e8          	cmp    -0x18(%ebp,%eax,4),%edx
4398a2:	72 c5                	jb     0x439869
4398a4:	8b 4d e8             	mov    -0x18(%ebp),%ecx
4398a7:	85 c9                	test   %ecx,%ecx
4398a9:	74 02                	je     0x4398ad
4398ab:	89 11                	mov    %edx,(%ecx)
4398ad:	f7 da                	neg    %edx
4398af:	56                   	push   %esi
4398b0:	1b d2                	sbb    %edx,%edx
4398b2:	23 d7                	and    %edi,%edx
4398b4:	52                   	push   %edx
4398b5:	e8 33 fe ff ff       	call   0x4396ed
4398ba:	eb 07                	jmp    0x4398c3
4398bc:	51                   	push   %ecx
4398bd:	56                   	push   %esi
4398be:	e8 3e fe ff ff       	call   0x439701
4398c3:	59                   	pop    %ecx
4398c4:	59                   	pop    %ecx
4398c5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4398c8:	5f                   	pop    %edi
4398c9:	5e                   	pop    %esi
4398ca:	33 cd                	xor    %ebp,%ecx
4398cc:	5b                   	pop    %ebx
4398cd:	e8 d8 02 fe ff       	call   0x419baa
4398d2:	c9                   	leave
4398d3:	c3                   	ret
4398d4:	cc                   	int3
4398d5:	cc                   	int3
4398d6:	cc                   	int3
4398d7:	cc                   	int3
4398d8:	cc                   	int3
4398d9:	cc                   	int3
4398da:	cc                   	int3
4398db:	cc                   	int3
4398dc:	cc                   	int3
4398dd:	cc                   	int3
4398de:	cc                   	int3
4398df:	cc                   	int3
4398e0:	55                   	push   %ebp
4398e1:	8b ec                	mov    %esp,%ebp
4398e3:	57                   	push   %edi
4398e4:	56                   	push   %esi
4398e5:	53                   	push   %ebx
4398e6:	8b 4d 10             	mov    0x10(%ebp),%ecx
4398e9:	0b c9                	or     %ecx,%ecx
4398eb:	74 4d                	je     0x43993a
4398ed:	8b 75 08             	mov    0x8(%ebp),%esi
4398f0:	8b 7d 0c             	mov    0xc(%ebp),%edi
4398f3:	b7 41                	mov    $0x41,%bh
4398f5:	b3 5a                	mov    $0x5a,%bl
4398f7:	b6 20                	mov    $0x20,%dh
4398f9:	8d 49 00             	lea    0x0(%ecx),%ecx
4398fc:	8a 26                	mov    (%esi),%ah
4398fe:	0a e4                	or     %ah,%ah
439900:	8a 07                	mov    (%edi),%al
439902:	74 27                	je     0x43992b
439904:	0a c0                	or     %al,%al
439906:	74 23                	je     0x43992b
439908:	83 c6 01             	add    $0x1,%esi
43990b:	83 c7 01             	add    $0x1,%edi
43990e:	3a e7                	cmp    %bh,%ah
439910:	72 06                	jb     0x439918
439912:	3a e3                	cmp    %bl,%ah
439914:	77 02                	ja     0x439918
439916:	02 e6                	add    %dh,%ah
439918:	3a c7                	cmp    %bh,%al
43991a:	72 06                	jb     0x439922
43991c:	3a c3                	cmp    %bl,%al
43991e:	77 02                	ja     0x439922
439920:	02 c6                	add    %dh,%al
439922:	3a e0                	cmp    %al,%ah
439924:	75 0b                	jne    0x439931
439926:	83 e9 01             	sub    $0x1,%ecx
439929:	75 d1                	jne    0x4398fc
43992b:	33 c9                	xor    %ecx,%ecx
43992d:	3a e0                	cmp    %al,%ah
43992f:	74 09                	je     0x43993a
439931:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
439936:	72 02                	jb     0x43993a
439938:	f7 d9                	neg    %ecx
43993a:	8b c1                	mov    %ecx,%eax
43993c:	5b                   	pop    %ebx
43993d:	5e                   	pop    %esi
43993e:	5f                   	pop    %edi
43993f:	c9                   	leave
439940:	c3                   	ret
439941:	8b ff                	mov    %edi,%edi
439943:	55                   	push   %ebp
439944:	8b ec                	mov    %esp,%ebp
439946:	53                   	push   %ebx
439947:	56                   	push   %esi
439948:	8b 75 08             	mov    0x8(%ebp),%esi
43994b:	33 db                	xor    %ebx,%ebx
43994d:	57                   	push   %edi
43994e:	6a 01                	push   $0x1
439950:	53                   	push   %ebx
439951:	53                   	push   %ebx
439952:	56                   	push   %esi
439953:	8b f9                	mov    %ecx,%edi
439955:	e8 b6 4b ff ff       	call   0x42e510
43995a:	6a 02                	push   $0x2
43995c:	53                   	push   %ebx
43995d:	53                   	push   %ebx
43995e:	56                   	push   %esi
43995f:	89 07                	mov    %eax,(%edi)
439961:	89 57 04             	mov    %edx,0x4(%edi)
439964:	e8 a7 4b ff ff       	call   0x42e510
439969:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43996c:	83 c4 20             	add    $0x20,%esp
43996f:	89 47 08             	mov    %eax,0x8(%edi)
439972:	2b c8                	sub    %eax,%ecx
439974:	8b 45 10             	mov    0x10(%ebp),%eax
439977:	1b c2                	sbb    %edx,%eax
439979:	89 77 18             	mov    %esi,0x18(%edi)
43997c:	89 47 14             	mov    %eax,0x14(%edi)
43997f:	8b c7                	mov    %edi,%eax
439981:	89 57 0c             	mov    %edx,0xc(%edi)
439984:	89 4f 10             	mov    %ecx,0x10(%edi)
439987:	5f                   	pop    %edi
439988:	5e                   	pop    %esi
439989:	5b                   	pop    %ebx
43998a:	5d                   	pop    %ebp
43998b:	c2 0c 00             	ret    $0xc
43998e:	8b ff                	mov    %edi,%edi
439990:	55                   	push   %ebp
439991:	8b ec                	mov    %esp,%ebp
439993:	83 ec 28             	sub    $0x28,%esp
439996:	8d 4d d8             	lea    -0x28(%ebp),%ecx
439999:	56                   	push   %esi
43999a:	6a 00                	push   $0x0
43999c:	e8 2f 5b fe ff       	call   0x41f4d0
4399a1:	8d 45 d8             	lea    -0x28(%ebp),%eax
4399a4:	50                   	push   %eax
4399a5:	ff 75 10             	push   0x10(%ebp)
4399a8:	ff 75 0c             	push   0xc(%ebp)
4399ab:	ff 75 08             	push   0x8(%ebp)
4399ae:	e8 12 00 00 00       	call   0x4399c5
4399b3:	83 c4 10             	add    $0x10,%esp
4399b6:	8d 4d d8             	lea    -0x28(%ebp),%ecx
4399b9:	8b f0                	mov    %eax,%esi
4399bb:	e8 70 5b fe ff       	call   0x41f530
4399c0:	8b c6                	mov    %esi,%eax
4399c2:	5e                   	pop    %esi
4399c3:	c9                   	leave
4399c4:	c3                   	ret
4399c5:	8b ff                	mov    %edi,%edi
4399c7:	55                   	push   %ebp
4399c8:	8b ec                	mov    %esp,%ebp
4399ca:	83 ec 2c             	sub    $0x2c,%esp
4399cd:	53                   	push   %ebx
4399ce:	8b 5d 08             	mov    0x8(%ebp),%ebx
4399d1:	8d 4d d4             	lea    -0x2c(%ebp),%ecx
4399d4:	56                   	push   %esi
4399d5:	57                   	push   %edi
4399d6:	ff 75 10             	push   0x10(%ebp)
4399d9:	8b 7d 14             	mov    0x14(%ebp),%edi
4399dc:	ff 75 0c             	push   0xc(%ebp)
4399df:	53                   	push   %ebx
4399e0:	e8 5c ff ff ff       	call   0x439941
4399e5:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4399e8:	23 45 d8             	and    -0x28(%ebp),%eax
4399eb:	83 f8 ff             	cmp    $0xffffffff,%eax
4399ee:	0f 84 40 01 00 00    	je     0x439b34
4399f4:	8b 45 dc             	mov    -0x24(%ebp),%eax
4399f7:	23 45 e0             	and    -0x20(%ebp),%eax
4399fa:	83 f8 ff             	cmp    $0xffffffff,%eax
4399fd:	0f 84 31 01 00 00    	je     0x439b34
439a03:	8b 4d e8             	mov    -0x18(%ebp),%ecx
439a06:	8b 45 e4             	mov    -0x1c(%ebp),%eax
439a09:	89 4d f8             	mov    %ecx,-0x8(%ebp)
439a0c:	89 45 fc             	mov    %eax,-0x4(%ebp)
439a0f:	85 c9                	test   %ecx,%ecx
439a11:	0f 8c d2 00 00 00    	jl     0x439ae9
439a17:	7f 08                	jg     0x439a21
439a19:	85 c0                	test   %eax,%eax
439a1b:	0f 84 be 00 00 00    	je     0x439adf
439a21:	6a 01                	push   $0x1
439a23:	68 00 10 00 00       	push   $0x1000
439a28:	e8 ed 36 ff ff       	call   0x42d11a
439a2d:	8b f0                	mov    %eax,%esi
439a2f:	59                   	pop    %ecx
439a30:	59                   	pop    %ecx
439a31:	85 f6                	test   %esi,%esi
439a33:	75 0f                	jne    0x439a44
439a35:	6a 0c                	push   $0xc
439a37:	5b                   	pop    %ebx
439a38:	c6 47 1c 01          	movb   $0x1,0x1c(%edi)
439a3c:	89 5f 18             	mov    %ebx,0x18(%edi)
439a3f:	e9 92 00 00 00       	jmp    0x439ad6
439a44:	68 00 80 00 00       	push   $0x8000
439a49:	53                   	push   %ebx
439a4a:	e8 56 e8 fe ff       	call   0x4282a5
439a4f:	59                   	pop    %ecx
439a50:	59                   	pop    %ecx
439a51:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
439a54:	89 45 f4             	mov    %eax,-0xc(%ebp)
439a57:	8b 45 e8             	mov    -0x18(%ebp),%eax
439a5a:	85 c0                	test   %eax,%eax
439a5c:	7c 0f                	jl     0x439a6d
439a5e:	7f 08                	jg     0x439a68
439a60:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
439a66:	72 05                	jb     0x439a6d
439a68:	b9 00 10 00 00       	mov    $0x1000,%ecx
439a6d:	57                   	push   %edi
439a6e:	51                   	push   %ecx
439a6f:	56                   	push   %esi
439a70:	53                   	push   %ebx
439a71:	e8 b6 30 ff ff       	call   0x42cb2c
439a76:	83 c4 10             	add    $0x10,%esp
439a79:	83 f8 ff             	cmp    $0xffffffff,%eax
439a7c:	74 34                	je     0x439ab2
439a7e:	8b 4d fc             	mov    -0x4(%ebp),%ecx
439a81:	99                   	cltd
439a82:	2b c8                	sub    %eax,%ecx
439a84:	8b 45 f8             	mov    -0x8(%ebp),%eax
439a87:	89 4d fc             	mov    %ecx,-0x4(%ebp)
439a8a:	1b c2                	sbb    %edx,%eax
439a8c:	89 45 f8             	mov    %eax,-0x8(%ebp)
439a8f:	85 c0                	test   %eax,%eax
439a91:	7f d5                	jg     0x439a68
439a93:	7c 04                	jl     0x439a99
439a95:	85 c9                	test   %ecx,%ecx
439a97:	75 c1                	jne    0x439a5a
439a99:	ff 75 f4             	push   -0xc(%ebp)
439a9c:	53                   	push   %ebx
439a9d:	e8 03 e8 fe ff       	call   0x4282a5
439aa2:	56                   	push   %esi
439aa3:	e8 12 0e ff ff       	call   0x42a8ba
439aa8:	83 c4 0c             	add    $0xc,%esp
439aab:	33 db                	xor    %ebx,%ebx
439aad:	e9 90 00 00 00       	jmp    0x439b42
439ab2:	80 7f 24 00          	cmpb   $0x0,0x24(%edi)
439ab6:	74 11                	je     0x439ac9
439ab8:	83 7f 20 05          	cmpl   $0x5,0x20(%edi)
439abc:	75 0b                	jne    0x439ac9
439abe:	c6 47 1c 01          	movb   $0x1,0x1c(%edi)
439ac2:	c7 47 18 0d 00 00 00 	movl   $0xd,0x18(%edi)
439ac9:	80 7f 1c 00          	cmpb   $0x0,0x1c(%edi)
439acd:	74 05                	je     0x439ad4
439acf:	8b 5f 18             	mov    0x18(%edi),%ebx
439ad2:	eb 02                	jmp    0x439ad6
439ad4:	33 db                	xor    %ebx,%ebx
439ad6:	56                   	push   %esi
439ad7:	e8 de 0d ff ff       	call   0x42a8ba
439adc:	59                   	pop    %ecx
439add:	eb 63                	jmp    0x439b42
439adf:	85 c9                	test   %ecx,%ecx
439ae1:	7f c8                	jg     0x439aab
439ae3:	7c 04                	jl     0x439ae9
439ae5:	85 c0                	test   %eax,%eax
439ae7:	73 c2                	jae    0x439aab
439ae9:	6a 00                	push   $0x0
439aeb:	ff 75 10             	push   0x10(%ebp)
439aee:	ff 75 0c             	push   0xc(%ebp)
439af1:	53                   	push   %ebx
439af2:	e8 19 4a ff ff       	call   0x42e510
439af7:	23 c2                	and    %edx,%eax
439af9:	83 c4 10             	add    $0x10,%esp
439afc:	83 f8 ff             	cmp    $0xffffffff,%eax
439aff:	75 08                	jne    0x439b09
439b01:	80 7f 1c 00          	cmpb   $0x0,0x1c(%edi)
439b05:	74 a4                	je     0x439aab
439b07:	eb 31                	jmp    0x439b3a
439b09:	53                   	push   %ebx
439b0a:	e8 52 98 ff ff       	call   0x433361
439b0f:	59                   	pop    %ecx
439b10:	50                   	push   %eax
439b11:	ff 15 74 e0 43 00    	call   *0x43e074
439b17:	85 c0                	test   %eax,%eax
439b19:	75 90                	jne    0x439aab
439b1b:	ff 15 6c e0 43 00    	call   *0x43e06c
439b21:	6a 0d                	push   $0xd
439b23:	c6 47 24 01          	movb   $0x1,0x24(%edi)
439b27:	89 47 20             	mov    %eax,0x20(%edi)
439b2a:	5b                   	pop    %ebx
439b2b:	c6 47 1c 01          	movb   $0x1,0x1c(%edi)
439b2f:	89 5f 18             	mov    %ebx,0x18(%edi)
439b32:	eb 0e                	jmp    0x439b42
439b34:	80 7f 1c 00          	cmpb   $0x0,0x1c(%edi)
439b38:	74 05                	je     0x439b3f
439b3a:	8b 5f 18             	mov    0x18(%edi),%ebx
439b3d:	eb 03                	jmp    0x439b42
439b3f:	6a 16                	push   $0x16
439b41:	5b                   	pop    %ebx
439b42:	6a 00                	push   $0x0
439b44:	ff 75 d8             	push   -0x28(%ebp)
439b47:	ff 75 d4             	push   -0x2c(%ebp)
439b4a:	ff 75 ec             	push   -0x14(%ebp)
439b4d:	e8 be 49 ff ff       	call   0x42e510
439b52:	83 c4 10             	add    $0x10,%esp
439b55:	8b c3                	mov    %ebx,%eax
439b57:	5f                   	pop    %edi
439b58:	5e                   	pop    %esi
439b59:	5b                   	pop    %ebx
439b5a:	c9                   	leave
439b5b:	c3                   	ret
439b5c:	33 c0                	xor    %eax,%eax
439b5e:	50                   	push   %eax
439b5f:	50                   	push   %eax
439b60:	6a 03                	push   $0x3
439b62:	50                   	push   %eax
439b63:	6a 03                	push   $0x3
439b65:	68 00 00 00 40       	push   $0x40000000
439b6a:	68 18 92 44 00       	push   $0x449218
439b6f:	ff 15 b8 e0 43 00    	call   *0x43e0b8
439b75:	a3 90 5a 45 00       	mov    %eax,0x455a90
439b7a:	c3                   	ret
439b7b:	8b 0d 90 5a 45 00    	mov    0x455a90,%ecx
439b81:	83 f9 fe             	cmp    $0xfffffffe,%ecx
439b84:	75 0b                	jne    0x439b91
439b86:	e8 d1 ff ff ff       	call   0x439b5c
439b8b:	8b 0d 90 5a 45 00    	mov    0x455a90,%ecx
439b91:	33 c0                	xor    %eax,%eax
439b93:	83 f9 ff             	cmp    $0xffffffff,%ecx
439b96:	0f 95 c0             	setne  %al
439b99:	c3                   	ret
439b9a:	cc                   	int3
439b9b:	cc                   	int3
439b9c:	cc                   	int3
439b9d:	cc                   	int3
439b9e:	cc                   	int3
439b9f:	cc                   	int3
439ba0:	a1 90 5a 45 00       	mov    0x455a90,%eax
439ba5:	83 f8 ff             	cmp    $0xffffffff,%eax
439ba8:	74 0c                	je     0x439bb6
439baa:	83 f8 fe             	cmp    $0xfffffffe,%eax
439bad:	74 07                	je     0x439bb6
439baf:	50                   	push   %eax
439bb0:	ff 15 68 e0 43 00    	call   *0x43e068
439bb6:	c3                   	ret
439bb7:	8b ff                	mov    %edi,%edi
439bb9:	55                   	push   %ebp
439bba:	8b ec                	mov    %esp,%ebp