43799a:	a8 04                	test   $0x4,%al
43799c:	75 1b                	jne    0x4379b9
43799e:	a8 01                	test   $0x1,%al
4379a0:	75 3d                	jne    0x4379df
4379a2:	83 e0 02             	and    $0x2,%eax
4379a5:	74 09                	je     0x4379b0
4379a7:	81 7d fc 00 00 00 80 	cmpl   $0x80000000,-0x4(%ebp)
4379ae:	77 09                	ja     0x4379b9
4379b0:	85 c0                	test   %eax,%eax
4379b2:	75 2b                	jne    0x4379df
4379b4:	39 75 fc             	cmp    %esi,-0x4(%ebp)
4379b7:	76 26                	jbe    0x4379df
4379b9:	e8 ea cf ff ff       	call   0x4349a8
4379be:	f6 45 18 01          	testb  $0x1,0x18(%ebp)
4379c2:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
4379c8:	74 06                	je     0x4379d0
4379ca:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4379ce:	eb 0f                	jmp    0x4379df
4379d0:	f6 45 18 02          	testb  $0x2,0x18(%ebp)
4379d4:	6a 00                	push   $0x0
4379d6:	58                   	pop    %eax
4379d7:	0f 95 c0             	setne  %al
4379da:	03 c6                	add    %esi,%eax
4379dc:	89 45 fc             	mov    %eax,-0x4(%ebp)
4379df:	8b 45 10             	mov    0x10(%ebp),%eax
4379e2:	85 c0                	test   %eax,%eax
4379e4:	74 02                	je     0x4379e8
4379e6:	89 38                	mov    %edi,(%eax)
4379e8:	f6 45 18 02          	testb  $0x2,0x18(%ebp)
4379ec:	74 03                	je     0x4379f1
4379ee:	f7 5d fc             	negl   -0x4(%ebp)
4379f1:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
4379f5:	74 07                	je     0x4379fe
4379f7:	8b 45 ec             	mov    -0x14(%ebp),%eax
4379fa:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
4379fe:	8b 45 fc             	mov    -0x4(%ebp),%eax
437a01:	eb 18                	jmp    0x437a1b
437a03:	8b 45 10             	mov    0x10(%ebp),%eax
437a06:	85 c0                	test   %eax,%eax
437a08:	74 02                	je     0x437a0c
437a0a:	89 30                	mov    %esi,(%eax)
437a0c:	80 7d f0 00          	cmpb   $0x0,-0x10(%ebp)
437a10:	74 07                	je     0x437a19
437a12:	8b 45 ec             	mov    -0x14(%ebp),%eax
437a15:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
437a19:	33 c0                	xor    %eax,%eax
437a1b:	5f                   	pop    %edi
437a1c:	5b                   	pop    %ebx
437a1d:	5e                   	pop    %esi
437a1e:	c9                   	leave
437a1f:	c3                   	ret
437a20:	8b ff                	mov    %edi,%edi
437a22:	55                   	push   %ebp
437a23:	8b ec                	mov    %esp,%ebp
437a25:	33 c0                	xor    %eax,%eax
437a27:	50                   	push   %eax
437a28:	ff 75 10             	push   0x10(%ebp)
437a2b:	ff 75 0c             	push   0xc(%ebp)
437a2e:	ff 75 08             	push   0x8(%ebp)
437a31:	39 05 c4 10 47 00    	cmp    %eax,0x4710c4
437a37:	75 07                	jne    0x437a40
437a39:	68 1c fe 46 00       	push   $0x46fe1c
437a3e:	eb 01                	jmp    0x437a41
437a40:	50                   	push   %eax
437a41:	e8 af fd ff ff       	call   0x4377f5
437a46:	83 c4 14             	add    $0x14,%esp
437a49:	5d                   	pop    %ebp
437a4a:	c3                   	ret
437a4b:	8b ff                	mov    %edi,%edi
437a4d:	55                   	push   %ebp
437a4e:	8b ec                	mov    %esp,%ebp
437a50:	6a 00                	push   $0x0
437a52:	ff 75 10             	push   0x10(%ebp)
437a55:	ff 75 0c             	push   0xc(%ebp)
437a58:	ff 75 08             	push   0x8(%ebp)
437a5b:	ff 75 14             	push   0x14(%ebp)
437a5e:	e8 92 fd ff ff       	call   0x4377f5
437a63:	83 c4 14             	add    $0x14,%esp
437a66:	5d                   	pop    %ebp
437a67:	c3                   	ret
437a68:	8b ff                	mov    %edi,%edi
437a6a:	55                   	push   %ebp
437a6b:	8b ec                	mov    %esp,%ebp
437a6d:	83 3d c4 10 47 00 00 	cmpl   $0x0,0x4710c4
437a74:	6a 01                	push   $0x1
437a76:	ff 75 10             	push   0x10(%ebp)
437a79:	ff 75 0c             	push   0xc(%ebp)
437a7c:	ff 75 08             	push   0x8(%ebp)
437a7f:	75 07                	jne    0x437a88
437a81:	68 1c fe 46 00       	push   $0x46fe1c
437a86:	eb 02                	jmp    0x437a8a
437a88:	6a 00                	push   $0x0
437a8a:	e8 66 fd ff ff       	call   0x4377f5
437a8f:	83 c4 14             	add    $0x14,%esp
437a92:	5d                   	pop    %ebp
437a93:	c3                   	ret
437a94:	8b ff                	mov    %edi,%edi
437a96:	55                   	push   %ebp
437a97:	8b ec                	mov    %esp,%ebp
437a99:	6a 01                	push   $0x1
437a9b:	ff 75 10             	push   0x10(%ebp)
437a9e:	ff 75 0c             	push   0xc(%ebp)
437aa1:	ff 75 08             	push   0x8(%ebp)
437aa4:	ff 75 14             	push   0x14(%ebp)
437aa7:	e8 49 fd ff ff       	call   0x4377f5
437aac:	83 c4 14             	add    $0x14,%esp
437aaf:	5d                   	pop    %ebp
437ab0:	c3                   	ret
437ab1:	8b ff                	mov    %edi,%edi
437ab3:	55                   	push   %ebp
437ab4:	8b ec                	mov    %esp,%ebp
437ab6:	83 ec 3c             	sub    $0x3c,%esp
437ab9:	53                   	push   %ebx
437aba:	ff 75 08             	push   0x8(%ebp)
437abd:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
437ac0:	e8 25 91 ff ff       	call   0x430bea
437ac5:	8b 4d 10             	mov    0x10(%ebp),%ecx
437ac8:	8b 45 0c             	mov    0xc(%ebp),%eax
437acb:	33 db                	xor    %ebx,%ebx
437acd:	3b cb                	cmp    %ebx,%ecx
437acf:	74 02                	je     0x437ad3
437ad1:	89 01                	mov    %eax,(%ecx)
437ad3:	3b c3                	cmp    %ebx,%eax
437ad5:	75 25                	jne    0x437afc
437ad7:	e8 cc ce ff ff       	call   0x4349a8
437adc:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
437ae2:	e8 87 c8 ff ff       	call   0x43436e
437ae7:	38 5d d0             	cmp    %bl,-0x30(%ebp)
437aea:	74 07                	je     0x437af3
437aec:	8b 45 cc             	mov    -0x34(%ebp),%eax
437aef:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
437af3:	33 c0                	xor    %eax,%eax
437af5:	33 d2                	xor    %edx,%edx
437af7:	e9 4f 02 00 00       	jmp    0x437d4b
437afc:	39 5d 14             	cmp    %ebx,0x14(%ebp)
437aff:	74 0c                	je     0x437b0d
437b01:	83 7d 14 02          	cmpl   $0x2,0x14(%ebp)
437b05:	7c d0                	jl     0x437ad7
437b07:	83 7d 14 24          	cmpl   $0x24,0x14(%ebp)
437b0b:	7f ca                	jg     0x437ad7
437b0d:	8a 08                	mov    (%eax),%cl
437b0f:	56                   	push   %esi
437b10:	8b 75 c4             	mov    -0x3c(%ebp),%esi
437b13:	57                   	push   %edi
437b14:	89 5d ec             	mov    %ebx,-0x14(%ebp)
437b17:	89 5d f0             	mov    %ebx,-0x10(%ebp)
437b1a:	88 4d ff             	mov    %cl,-0x1(%ebp)
437b1d:	8d 78 01             	lea    0x1(%eax),%edi
437b20:	83 be ac 00 00 00 01 	cmpl   $0x1,0xac(%esi)
437b27:	7e 18                	jle    0x437b41
437b29:	8d 45 c4             	lea    -0x3c(%ebp),%eax
437b2c:	50                   	push   %eax
437b2d:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
437b31:	6a 08                	push   $0x8
437b33:	50                   	push   %eax
437b34:	e8 bb 9f 00 00       	call   0x441af4
437b39:	8b 75 c4             	mov    -0x3c(%ebp),%esi
437b3c:	83 c4 0c             	add    $0xc,%esp
437b3f:	eb 11                	jmp    0x437b52
437b41:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
437b45:	8b 8e c8 00 00 00    	mov    0xc8(%esi),%ecx
437b4b:	0f b7 04 41          	movzwl (%ecx,%eax,2),%eax
437b4f:	83 e0 08             	and    $0x8,%eax
437b52:	3b c3                	cmp    %ebx,%eax
437b54:	74 08                	je     0x437b5e
437b56:	8a 07                	mov    (%edi),%al
437b58:	88 45 ff             	mov    %al,-0x1(%ebp)
437b5b:	47                   	inc    %edi
437b5c:	eb c2                	jmp    0x437b20
437b5e:	80 7d ff 2d          	cmpb   $0x2d,-0x1(%ebp)
437b62:	89 7d f8             	mov    %edi,-0x8(%ebp)
437b65:	75 06                	jne    0x437b6d
437b67:	83 4d 18 02          	orl    $0x2,0x18(%ebp)
437b6b:	eb 06                	jmp    0x437b73
437b6d:	80 7d ff 2b          	cmpb   $0x2b,-0x1(%ebp)
437b71:	75 09                	jne    0x437b7c
437b73:	8a 07                	mov    (%edi),%al
437b75:	47                   	inc    %edi
437b76:	89 7d f8             	mov    %edi,-0x8(%ebp)
437b79:	88 45 ff             	mov    %al,-0x1(%ebp)
437b7c:	6a 10                	push   $0x10
437b7e:	59                   	pop    %ecx
437b7f:	39 5d 14             	cmp    %ebx,0x14(%ebp)
437b82:	75 25                	jne    0x437ba9
437b84:	80 7d ff 30          	cmpb   $0x30,-0x1(%ebp)
437b88:	74 09                	je     0x437b93
437b8a:	c7 45 14 0a 00 00 00 	movl   $0xa,0x14(%ebp)
437b91:	eb 37                	jmp    0x437bca
437b93:	8a 07                	mov    (%edi),%al
437b95:	3c 78                	cmp    $0x78,%al
437b97:	74 0d                	je     0x437ba6
437b99:	3c 58                	cmp    $0x58,%al
437b9b:	74 09                	je     0x437ba6
437b9d:	c7 45 14 08 00 00 00 	movl   $0x8,0x14(%ebp)
437ba4:	eb 24                	jmp    0x437bca
437ba6:	89 4d 14             	mov    %ecx,0x14(%ebp)
437ba9:	39 4d 14             	cmp    %ecx,0x14(%ebp)
437bac:	75 1c                	jne    0x437bca
437bae:	80 7d ff 30          	cmpb   $0x30,-0x1(%ebp)
437bb2:	75 16                	jne    0x437bca
437bb4:	8a 07                	mov    (%edi),%al
437bb6:	3c 78                	cmp    $0x78,%al
437bb8:	74 04                	je     0x437bbe
437bba:	3c 58                	cmp    $0x58,%al
437bbc:	75 0c                	jne    0x437bca
437bbe:	8a 47 01             	mov    0x1(%edi),%al
437bc1:	83 c7 02             	add    $0x2,%edi
437bc4:	88 45 ff             	mov    %al,-0x1(%ebp)
437bc7:	89 7d f8             	mov    %edi,-0x8(%ebp)
437bca:	8b 45 14             	mov    0x14(%ebp),%eax
437bcd:	99                   	cltd
437bce:	52                   	push   %edx
437bcf:	8b f8                	mov    %eax,%edi
437bd1:	57                   	push   %edi
437bd2:	6a ff                	push   $0xffffffff
437bd4:	6a ff                	push   $0xffffffff
437bd6:	89 55 d8             	mov    %edx,-0x28(%ebp)
437bd9:	e8 82 76 00 00       	call   0x43f260
437bde:	89 5d e0             	mov    %ebx,-0x20(%ebp)
437be1:	8b 9e c8 00 00 00    	mov    0xc8(%esi),%ebx
437be7:	89 4d dc             	mov    %ecx,-0x24(%ebp)
437bea:	89 45 e4             	mov    %eax,-0x1c(%ebp)
437bed:	89 55 e8             	mov    %edx,-0x18(%ebp)
437bf0:	8a 4d ff             	mov    -0x1(%ebp),%cl
437bf3:	0f b6 c1             	movzbl %cl,%eax
437bf6:	0f b7 04 43          	movzwl (%ebx,%eax,2),%eax
437bfa:	8b d0                	mov    %eax,%edx
437bfc:	83 e2 04             	and    $0x4,%edx
437bff:	74 08                	je     0x437c09
437c01:	0f be f1             	movsbl %cl,%esi
437c04:	83 ee 30             	sub    $0x30,%esi
437c07:	eb 17                	jmp    0x437c20
437c09:	25 03 01 00 00       	and    $0x103,%eax
437c0e:	74 50                	je     0x437c60
437c10:	8d 41 9f             	lea    -0x61(%ecx),%eax
437c13:	3c 19                	cmp    $0x19,%al
437c15:	0f be c1             	movsbl %cl,%eax
437c18:	77 03                	ja     0x437c1d
437c1a:	83 e8 20             	sub    $0x20,%eax
437c1d:	8d 70 c9             	lea    -0x37(%eax),%esi
437c20:	3b 75 14             	cmp    0x14(%ebp),%esi
437c23:	73 3b                	jae    0x437c60
437c25:	8b 4d f0             	mov    -0x10(%ebp),%ecx
437c28:	83 4d 18 08          	orl    $0x8,0x18(%ebp)
437c2c:	3b 4d e8             	cmp    -0x18(%ebp),%ecx
437c2f:	72 51                	jb     0x437c82
437c31:	77 08                	ja     0x437c3b
437c33:	8b 45 ec             	mov    -0x14(%ebp),%eax
437c36:	3b 45 e4             	cmp    -0x1c(%ebp),%eax
437c39:	72 47                	jb     0x437c82
437c3b:	8b 45 e4             	mov    -0x1c(%ebp),%eax
437c3e:	39 45 ec             	cmp    %eax,-0x14(%ebp)
437c41:	75 13                	jne    0x437c56
437c43:	3b 4d e8             	cmp    -0x18(%ebp),%ecx
437c46:	75 0e                	jne    0x437c56
437c48:	33 c0                	xor    %eax,%eax
437c4a:	3b 45 e0             	cmp    -0x20(%ebp),%eax
437c4d:	72 33                	jb     0x437c82
437c4f:	77 05                	ja     0x437c56
437c51:	3b 75 dc             	cmp    -0x24(%ebp),%esi
437c54:	76 2c                	jbe    0x437c82
437c56:	83 4d 18 04          	orl    $0x4,0x18(%ebp)
437c5a:	83 7d 10 00          	cmpl   $0x0,0x10(%ebp)
437c5e:	75 3b                	jne    0x437c9b
437c60:	8b 45 18             	mov    0x18(%ebp),%eax
437c63:	ff 4d f8             	decl   -0x8(%ebp)
437c66:	a8 08                	test   $0x8,%al
437c68:	75 41                	jne    0x437cab
437c6a:	33 c0                	xor    %eax,%eax
437c6c:	39 45 10             	cmp    %eax,0x10(%ebp)
437c6f:	74 06                	je     0x437c77
437c71:	8b 4d 0c             	mov    0xc(%ebp),%ecx
437c74:	89 4d f8             	mov    %ecx,-0x8(%ebp)
437c77:	89 45 ec             	mov    %eax,-0x14(%ebp)
437c7a:	89 45 f0             	mov    %eax,-0x10(%ebp)
437c7d:	e9 8f 00 00 00       	jmp    0x437d11
437c82:	51                   	push   %ecx
437c83:	ff 75 ec             	push   -0x14(%ebp)
437c86:	ff 75 d8             	push   -0x28(%ebp)
437c89:	57                   	push   %edi
437c8a:	e8 51 9f 00 00       	call   0x441be0
437c8f:	33 c9                	xor    %ecx,%ecx
437c91:	03 c6                	add    %esi,%eax
437c93:	13 d1                	adc    %ecx,%edx
437c95:	89 45 ec             	mov    %eax,-0x14(%ebp)
437c98:	89 55 f0             	mov    %edx,-0x10(%ebp)
437c9b:	8b 45 f8             	mov    -0x8(%ebp),%eax
437c9e:	8a 00                	mov    (%eax),%al
437ca0:	ff 45 f8             	incl   -0x8(%ebp)
437ca3:	88 45 ff             	mov    %al,-0x1(%ebp)
437ca6:	e9 45 ff ff ff       	jmp    0x437bf0
437cab:	be ff ff ff 7f       	mov    $0x7fffffff,%esi
437cb0:	bb 00 00 00 80       	mov    $0x80000000,%ebx
437cb5:	a8 04                	test   $0x4,%al
437cb7:	75 27                	jne    0x437ce0
437cb9:	a8 01                	test   $0x1,%al
437cbb:	75 54                	jne    0x437d11
437cbd:	83 e0 02             	and    $0x2,%eax
437cc0:	74 0d                	je     0x437ccf
437cc2:	39 5d f0             	cmp    %ebx,-0x10(%ebp)
437cc5:	77 19                	ja     0x437ce0
437cc7:	72 06                	jb     0x437ccf
437cc9:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
437ccd:	77 11                	ja     0x437ce0
437ccf:	85 c0                	test   %eax,%eax
437cd1:	75 3e                	jne    0x437d11
437cd3:	39 75 f0             	cmp    %esi,-0x10(%ebp)
437cd6:	72 39                	jb     0x437d11
437cd8:	77 06                	ja     0x437ce0
437cda:	83 7d ec ff          	cmpl   $0xffffffff,-0x14(%ebp)
437cde:	76 31                	jbe    0x437d11
437ce0:	e8 c3 cc ff ff       	call   0x4349a8
437ce5:	f6 45 18 01          	testb  $0x1,0x18(%ebp)
437ce9:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
437cef:	74 0a                	je     0x437cfb
437cf1:	83 4d ec ff          	orl    $0xffffffff,-0x14(%ebp)
437cf5:	83 4d f0 ff          	orl    $0xffffffff,-0x10(%ebp)
437cf9:	eb 16                	jmp    0x437d11
437cfb:	f6 45 18 02          	testb  $0x2,0x18(%ebp)
437cff:	74 09                	je     0x437d0a
437d01:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
437d05:	89 5d f0             	mov    %ebx,-0x10(%ebp)
437d08:	eb 07                	jmp    0x437d11
437d0a:	83 4d ec ff          	orl    $0xffffffff,-0x14(%ebp)
437d0e:	89 75 f0             	mov    %esi,-0x10(%ebp)
437d11:	8b 45 10             	mov    0x10(%ebp),%eax
437d14:	5f                   	pop    %edi
437d15:	5e                   	pop    %esi
437d16:	85 c0                	test   %eax,%eax
437d18:	74 05                	je     0x437d1f
437d1a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
437d1d:	89 08                	mov    %ecx,(%eax)
437d1f:	f6 45 18 02          	testb  $0x2,0x18(%ebp)
437d23:	74 13                	je     0x437d38
437d25:	8b 45 ec             	mov    -0x14(%ebp),%eax
437d28:	8b 4d f0             	mov    -0x10(%ebp),%ecx
437d2b:	f7 d8                	neg    %eax
437d2d:	83 d1 00             	adc    $0x0,%ecx
437d30:	f7 d9                	neg    %ecx
437d32:	89 45 ec             	mov    %eax,-0x14(%ebp)
437d35:	89 4d f0             	mov    %ecx,-0x10(%ebp)
437d38:	80 7d d0 00          	cmpb   $0x0,-0x30(%ebp)
437d3c:	74 07                	je     0x437d45
437d3e:	8b 45 cc             	mov    -0x34(%ebp),%eax
437d41:	83 60 70 fd          	andl   $0xfffffffd,0x70(%eax)
437d45:	8b 45 ec             	mov    -0x14(%ebp),%eax
437d48:	8b 55 f0             	mov    -0x10(%ebp),%edx
437d4b:	5b                   	pop    %ebx
437d4c:	c9                   	leave
437d4d:	c3                   	ret