44f956:	32 c0                	xor    %al,%al
44f958:	5f                   	pop    %edi
44f959:	8b e5                	mov    %ebp,%esp
44f95b:	5d                   	pop    %ebp
44f95c:	c3                   	ret
44f95d:	cc                   	int3
44f95e:	cc                   	int3
44f95f:	cc                   	int3
44f960:	8b ff                	mov    %edi,%edi
44f962:	55                   	push   %ebp
44f963:	8b ec                	mov    %esp,%ebp
44f965:	8b 55 08             	mov    0x8(%ebp),%edx
44f968:	33 c0                	xor    %eax,%eax
44f96a:	8b 0a                	mov    (%edx),%ecx
44f96c:	03 4d 0c             	add    0xc(%ebp),%ecx
44f96f:	13 c0                	adc    %eax,%eax
44f971:	03 4d 10             	add    0x10(%ebp),%ecx
44f974:	89 0a                	mov    %ecx,(%edx)
44f976:	83 d0 00             	adc    $0x0,%eax
44f979:	5d                   	pop    %ebp
44f97a:	c3                   	ret
44f97b:	cc                   	int3
44f97c:	cc                   	int3
44f97d:	cc                   	int3
44f97e:	cc                   	int3
44f97f:	cc                   	int3
44f980:	8b ff                	mov    %edi,%edi
44f982:	55                   	push   %ebp
44f983:	8b ec                	mov    %esp,%ebp
44f985:	8b 45 0c             	mov    0xc(%ebp),%eax
44f988:	f7 65 10             	mull   0x10(%ebp)
44f98b:	8b 4d 08             	mov    0x8(%ebp),%ecx
44f98e:	03 01                	add    (%ecx),%eax
44f990:	83 d2 00             	adc    $0x0,%edx
44f993:	03 45 14             	add    0x14(%ebp),%eax
44f996:	89 01                	mov    %eax,(%ecx)
44f998:	83 d2 00             	adc    $0x0,%edx
44f99b:	8b c2                	mov    %edx,%eax
44f99d:	5d                   	pop    %ebp
44f99e:	c3                   	ret
44f99f:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
44f9a3:	74 03                	je     0x44f9a8
44f9a5:	8b 01                	mov    (%ecx),%eax
44f9a7:	c3                   	ret
44f9a8:	6a 00                	push   $0x0
44f9aa:	68 9f 01 00 00       	push   $0x19f
44f9af:	68 f0 c7 49 00       	push   $0x49c7f0
44f9b4:	68 58 c8 49 00       	push   $0x49c858
44f9b9:	68 b4 c8 49 00       	push   $0x49c8b4
44f9be:	e8 40 d3 ff ff       	call   0x44cd03
44f9c3:	cc                   	int3
44f9c4:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
44f9c8:	75 03                	jne    0x44f9cd
44f9ca:	8b 01                	mov    (%ecx),%eax
44f9cc:	c3                   	ret
44f9cd:	6a 00                	push   $0x0
44f9cf:	68 a5 01 00 00       	push   $0x1a5
44f9d4:	68 f0 c7 49 00       	push   $0x49c7f0
44f9d9:	68 d0 c8 49 00       	push   $0x49c8d0
44f9de:	68 2c c9 49 00       	push   $0x49c92c
44f9e3:	e8 1b d3 ff ff       	call   0x44cd03
44f9e8:	cc                   	int3
44f9e9:	8b ff                	mov    %edi,%edi
44f9eb:	55                   	push   %ebp
44f9ec:	8b ec                	mov    %esp,%ebp
44f9ee:	8b 4d 0c             	mov    0xc(%ebp),%ecx
44f9f1:	80 79 04 00          	cmpb   $0x0,0x4(%ecx)
44f9f5:	74 12                	je     0x44fa09
44f9f7:	e8 a3 ff ff ff       	call   0x44f99f
44f9fc:	50                   	push   %eax
44f9fd:	ff 75 08             	push   0x8(%ebp)
44fa00:	e8 25 d5 ff ff       	call   0x44cf2a
44fa05:	59                   	pop    %ecx
44fa06:	59                   	pop    %ecx
44fa07:	5d                   	pop    %ebp
44fa08:	c3                   	ret
44fa09:	e8 b6 ff ff ff       	call   0x44f9c4
44fa0e:	33 c9                	xor    %ecx,%ecx
44fa10:	38 4d 08             	cmp    %cl,0x8(%ebp)
44fa13:	0f 95 c1             	setne  %cl
44fa16:	c1 e1 1f             	shl    $0x1f,%ecx
44fa19:	81 c9 00 00 80 7f    	or     $0x7f800000,%ecx
44fa1f:	89 08                	mov    %ecx,(%eax)
44fa21:	5d                   	pop    %ebp
44fa22:	c3                   	ret
44fa23:	8b ff                	mov    %edi,%edi
44fa25:	55                   	push   %ebp
44fa26:	8b ec                	mov    %esp,%ebp
44fa28:	83 ec 24             	sub    $0x24,%esp
44fa2b:	53                   	push   %ebx
44fa2c:	56                   	push   %esi
44fa2d:	8b 75 0c             	mov    0xc(%ebp),%esi
44fa30:	33 db                	xor    %ebx,%ebx
44fa32:	57                   	push   %edi
44fa33:	8b 7d 08             	mov    0x8(%ebp),%edi
44fa36:	3b f3                	cmp    %ebx,%esi
44fa38:	77 16                	ja     0x44fa50
44fa3a:	83 ff ff             	cmp    $0xffffffff,%edi
44fa3d:	77 11                	ja     0x44fa50
44fa3f:	0f bd c7             	bsr    %edi,%eax
44fa42:	89 5d dc             	mov    %ebx,-0x24(%ebp)
44fa45:	74 05                	je     0x44fa4c
44fa47:	8d 48 01             	lea    0x1(%eax),%ecx
44fa4a:	eb 14                	jmp    0x44fa60
44fa4c:	8b cb                	mov    %ebx,%ecx
44fa4e:	eb 10                	jmp    0x44fa60
44fa50:	0f bd c6             	bsr    %esi,%eax
44fa53:	89 5d dc             	mov    %ebx,-0x24(%ebp)
44fa56:	8d 48 01             	lea    0x1(%eax),%ecx
44fa59:	75 02                	jne    0x44fa5d
44fa5b:	8b cb                	mov    %ebx,%ecx
44fa5d:	83 c1 20             	add    $0x20,%ecx
44fa60:	8b 45 1c             	mov    0x1c(%ebp),%eax
44fa63:	33 d2                	xor    %edx,%edx
44fa65:	8a 40 04             	mov    0x4(%eax),%al
44fa68:	84 c0                	test   %al,%al
44fa6a:	88 45 ff             	mov    %al,-0x1(%ebp)
44fa6d:	0f 94 c2             	sete   %dl
44fa70:	33 c0                	xor    %eax,%eax
44fa72:	4a                   	dec    %edx
44fa73:	83 e2 1d             	and    $0x1d,%edx
44fa76:	83 c2 18             	add    $0x18,%edx
44fa79:	2b d1                	sub    %ecx,%edx
44fa7b:	8b 4d 10             	mov    0x10(%ebp),%ecx
44fa7e:	2b ca                	sub    %edx,%ecx
44fa80:	89 55 f4             	mov    %edx,-0xc(%ebp)
44fa83:	38 45 ff             	cmp    %al,-0x1(%ebp)
44fa86:	89 4d f8             	mov    %ecx,-0x8(%ebp)
44fa89:	0f 94 c0             	sete   %al
44fa8c:	48                   	dec    %eax
44fa8d:	25 80 03 00 00       	and    $0x380,%eax
44fa92:	83 c0 7f             	add    $0x7f,%eax
44fa95:	89 45 f0             	mov    %eax,-0x10(%ebp)
44fa98:	3b c8                	cmp    %eax,%ecx
44fa9a:	7e 15                	jle    0x44fab1
44fa9c:	ff 75 1c             	push   0x1c(%ebp)
44fa9f:	ff 75 14             	push   0x14(%ebp)
44faa2:	e8 42 ff ff ff       	call   0x44f9e9
44faa7:	59                   	pop    %ecx
44faa8:	59                   	pop    %ecx
44faa9:	6a 03                	push   $0x3
44faab:	58                   	pop    %eax
44faac:	e9 b3 02 00 00       	jmp    0x44fd64
44fab1:	33 c0                	xor    %eax,%eax
44fab3:	38 45 ff             	cmp    %al,-0x1(%ebp)
44fab6:	0f 94 c0             	sete   %al
44fab9:	48                   	dec    %eax
44faba:	25 80 fc ff ff       	and    $0xfffffc80,%eax
44fabf:	83 c0 82             	add    $0xffffff82,%eax
44fac2:	3b c8                	cmp    %eax,%ecx
44fac4:	0f 8d 33 01 00 00    	jge    0x44fbfd
44faca:	8b 45 f0             	mov    -0x10(%ebp),%eax
44facd:	48                   	dec    %eax
44face:	03 c1                	add    %ecx,%eax
44fad0:	8b 4d f0             	mov    -0x10(%ebp),%ecx
44fad3:	03 c2                	add    %edx,%eax
44fad5:	f7 d9                	neg    %ecx
44fad7:	89 45 ec             	mov    %eax,-0x14(%ebp)
44fada:	89 4d f8             	mov    %ecx,-0x8(%ebp)
44fadd:	85 c0                	test   %eax,%eax
44fadf:	0f 89 10 01 00 00    	jns    0x44fbf5
44fae5:	f7 d8                	neg    %eax
44fae7:	89 45 f0             	mov    %eax,-0x10(%ebp)
44faea:	83 f8 40             	cmp    $0x40,%eax
44faed:	0f 83 ee 00 00 00    	jae    0x44fbe1
44faf3:	8d 48 ff             	lea    -0x1(%eax),%ecx
44faf6:	33 d2                	xor    %edx,%edx
44faf8:	33 c0                	xor    %eax,%eax
44fafa:	40                   	inc    %eax
44fafb:	e8 00 02 ff ff       	call   0x43fd00
44fb00:	8b 4d f0             	mov    -0x10(%ebp),%ecx
44fb03:	89 45 e8             	mov    %eax,-0x18(%ebp)
44fb06:	83 c0 ff             	add    $0xffffffff,%eax
44fb09:	89 55 e4             	mov    %edx,-0x1c(%ebp)
44fb0c:	83 d2 ff             	adc    $0xffffffff,%edx
44fb0f:	89 45 e0             	mov    %eax,-0x20(%ebp)
44fb12:	33 c0                	xor    %eax,%eax
44fb14:	89 55 dc             	mov    %edx,-0x24(%ebp)
44fb17:	40                   	inc    %eax
44fb18:	33 d2                	xor    %edx,%edx
44fb1a:	e8 e1 01 ff ff       	call   0x43fd00
44fb1f:	23 c7                	and    %edi,%eax
44fb21:	c6 45 fd 01          	movb   $0x1,-0x3(%ebp)
44fb25:	23 d6                	and    %esi,%edx
44fb27:	0b c2                	or     %edx,%eax
44fb29:	75 03                	jne    0x44fb2e
44fb2b:	88 5d fd             	mov    %bl,-0x3(%ebp)
44fb2e:	8b 45 e8             	mov    -0x18(%ebp),%eax
44fb31:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
44fb34:	23 c7                	and    %edi,%eax
44fb36:	23 ce                	and    %esi,%ecx
44fb38:	0b c1                	or     %ecx,%eax
44fb3a:	b1 01                	mov    $0x1,%cl
44fb3c:	75 02                	jne    0x44fb40
44fb3e:	8a cb                	mov    %bl,%cl
44fb40:	88 4d ff             	mov    %cl,-0x1(%ebp)
44fb43:	38 5d 18             	cmp    %bl,0x18(%ebp)
44fb46:	74 10                	je     0x44fb58
44fb48:	8b 45 e0             	mov    -0x20(%ebp),%eax
44fb4b:	8b 55 dc             	mov    -0x24(%ebp),%edx
44fb4e:	23 c7                	and    %edi,%eax
44fb50:	23 d6                	and    %esi,%edx
44fb52:	0b c2                	or     %edx,%eax
44fb54:	8a c3                	mov    %bl,%al
44fb56:	74 02                	je     0x44fb5a
44fb58:	b0 01                	mov    $0x1,%al
44fb5a:	88 45 fe             	mov    %al,-0x2(%ebp)
44fb5d:	84 c9                	test   %cl,%cl
44fb5f:	75 04                	jne    0x44fb65
44fb61:	84 c0                	test   %al,%al
44fb63:	74 35                	je     0x44fb9a
44fb65:	e8 79 2a 02 00       	call   0x4725e3
44fb6a:	85 c0                	test   %eax,%eax
44fb6c:	74 1b                	je     0x44fb89
44fb6e:	3d 00 01 00 00       	cmp    $0x100,%eax
44fb73:	74 0f                	je     0x44fb84
44fb75:	3d 00 02 00 00       	cmp    $0x200,%eax
44fb7a:	75 1e                	jne    0x44fb9a
44fb7c:	38 5d 14             	cmp    %bl,0x14(%ebp)
44fb7f:	0f 94 c3             	sete   %bl
44fb82:	eb 16                	jmp    0x44fb9a
44fb84:	8a 5d 14             	mov    0x14(%ebp),%bl
44fb87:	eb 11                	jmp    0x44fb9a
44fb89:	38 5d ff             	cmp    %bl,-0x1(%ebp)
44fb8c:	74 0c                	je     0x44fb9a
44fb8e:	38 5d fe             	cmp    %bl,-0x2(%ebp)
44fb91:	75 05                	jne    0x44fb98
44fb93:	38 5d fd             	cmp    %bl,-0x3(%ebp)
44fb96:	74 02                	je     0x44fb9a
44fb98:	b3 01                	mov    $0x1,%bl
44fb9a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
44fb9d:	8b c7                	mov    %edi,%eax
44fb9f:	8b d6                	mov    %esi,%edx
44fba1:	e8 1a 02 ff ff       	call   0x43fdc0
44fba6:	8b f8                	mov    %eax,%edi
44fba8:	8b f2                	mov    %edx,%esi
44fbaa:	0f b6 c3             	movzbl %bl,%eax
44fbad:	99                   	cltd
44fbae:	03 f8                	add    %eax,%edi
44fbb0:	8b c7                	mov    %edi,%eax
44fbb2:	13 f2                	adc    %edx,%esi
44fbb4:	0b c6                	or     %esi,%eax
44fbb6:	74 29                	je     0x44fbe1
44fbb8:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
44fbbb:	e8 bb 22 00 00       	call   0x451e7b
44fbc0:	3b f2                	cmp    %edx,%esi
44fbc2:	0f 82 5b 01 00 00    	jb     0x44fd23
44fbc8:	77 08                	ja     0x44fbd2
44fbca:	3b f8                	cmp    %eax,%edi
44fbcc:	0f 86 51 01 00 00    	jbe    0x44fd23
44fbd2:	8b 5d 10             	mov    0x10(%ebp),%ebx
44fbd5:	2b 5d ec             	sub    -0x14(%ebp),%ebx
44fbd8:	2b 5d f4             	sub    -0xc(%ebp),%ebx
44fbdb:	4b                   	dec    %ebx
44fbdc:	e9 45 01 00 00       	jmp    0x44fd26
44fbe1:	ff 75 1c             	push   0x1c(%ebp)
44fbe4:	ff 75 14             	push   0x14(%ebp)
44fbe7:	e8 0d 03 00 00       	call   0x44fef9
44fbec:	59                   	pop    %ecx
44fbed:	59                   	pop    %ecx
44fbee:	6a 02                	push   $0x2
44fbf0:	e9 b6 fe ff ff       	jmp    0x44faab
44fbf5:	8b 4d ec             	mov    -0x14(%ebp),%ecx
44fbf8:	e9 19 01 00 00       	jmp    0x44fd16
44fbfd:	85 d2                	test   %edx,%edx
44fbff:	0f 89 0c 01 00 00    	jns    0x44fd11
44fc05:	f7 da                	neg    %edx
44fc07:	89 55 f4             	mov    %edx,-0xc(%ebp)
44fc0a:	83 fa 40             	cmp    $0x40,%edx
44fc0d:	72 09                	jb     0x44fc18
44fc0f:	8b fb                	mov    %ebx,%edi
44fc11:	8b f3                	mov    %ebx,%esi
44fc13:	e9 bf 00 00 00       	jmp    0x44fcd7
44fc18:	33 c0                	xor    %eax,%eax
44fc1a:	8d 4a ff             	lea    -0x1(%edx),%ecx
44fc1d:	40                   	inc    %eax
44fc1e:	33 d2                	xor    %edx,%edx
44fc20:	e8 db 00 ff ff       	call   0x43fd00
44fc25:	8b 4d f4             	mov    -0xc(%ebp),%ecx
44fc28:	89 45 dc             	mov    %eax,-0x24(%ebp)
44fc2b:	83 c0 ff             	add    $0xffffffff,%eax
44fc2e:	89 55 e0             	mov    %edx,-0x20(%ebp)
44fc31:	83 d2 ff             	adc    $0xffffffff,%edx
44fc34:	89 45 e4             	mov    %eax,-0x1c(%ebp)
44fc37:	33 c0                	xor    %eax,%eax
44fc39:	89 55 e8             	mov    %edx,-0x18(%ebp)
44fc3c:	40                   	inc    %eax
44fc3d:	33 d2                	xor    %edx,%edx
44fc3f:	e8 bc 00 ff ff       	call   0x43fd00
44fc44:	23 c7                	and    %edi,%eax
44fc46:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
44fc4a:	23 d6                	and    %esi,%edx
44fc4c:	0b c2                	or     %edx,%eax
44fc4e:	75 03                	jne    0x44fc53
44fc50:	88 5d ff             	mov    %bl,-0x1(%ebp)
44fc53:	8b 45 dc             	mov    -0x24(%ebp),%eax
44fc56:	8b 4d e0             	mov    -0x20(%ebp),%ecx
44fc59:	23 c7                	and    %edi,%eax
44fc5b:	23 ce                	and    %esi,%ecx
44fc5d:	0b c1                	or     %ecx,%eax
44fc5f:	b1 01                	mov    $0x1,%cl
44fc61:	75 02                	jne    0x44fc65
44fc63:	8a cb                	mov    %bl,%cl
44fc65:	88 4d fd             	mov    %cl,-0x3(%ebp)
44fc68:	38 5d 18             	cmp    %bl,0x18(%ebp)
44fc6b:	74 10                	je     0x44fc7d
44fc6d:	8b 45 e4             	mov    -0x1c(%ebp),%eax
44fc70:	8b 55 e8             	mov    -0x18(%ebp),%edx
44fc73:	23 c7                	and    %edi,%eax
44fc75:	23 d6                	and    %esi,%edx
44fc77:	0b c2                	or     %edx,%eax
44fc79:	8a c3                	mov    %bl,%al
44fc7b:	74 02                	je     0x44fc7f
44fc7d:	b0 01                	mov    $0x1,%al
44fc7f:	88 45 fe             	mov    %al,-0x2(%ebp)
44fc82:	84 c9                	test   %cl,%cl
44fc84:	75 04                	jne    0x44fc8a
44fc86:	84 c0                	test   %al,%al
44fc88:	74 35                	je     0x44fcbf
44fc8a:	e8 54 29 02 00       	call   0x4725e3
44fc8f:	85 c0                	test   %eax,%eax
44fc91:	74 1b                	je     0x44fcae
44fc93:	3d 00 01 00 00       	cmp    $0x100,%eax
44fc98:	74 0f                	je     0x44fca9
44fc9a:	3d 00 02 00 00       	cmp    $0x200,%eax
44fc9f:	75 1e                	jne    0x44fcbf
44fca1:	38 5d 14             	cmp    %bl,0x14(%ebp)
44fca4:	0f 94 c3             	sete   %bl
44fca7:	eb 16                	jmp    0x44fcbf
44fca9:	8a 5d 14             	mov    0x14(%ebp),%bl
44fcac:	eb 11                	jmp    0x44fcbf
44fcae:	38 5d fd             	cmp    %bl,-0x3(%ebp)
44fcb1:	74 0c                	je     0x44fcbf
44fcb3:	38 5d fe             	cmp    %bl,-0x2(%ebp)
44fcb6:	75 05                	jne    0x44fcbd
44fcb8:	38 5d ff             	cmp    %bl,-0x1(%ebp)
44fcbb:	74 02                	je     0x44fcbf
44fcbd:	b3 01                	mov    $0x1,%bl
44fcbf:	8b 4d f4             	mov    -0xc(%ebp),%ecx
44fcc2:	8b c7                	mov    %edi,%eax
44fcc4:	8b d6                	mov    %esi,%edx
44fcc6:	e8 f5 00 ff ff       	call   0x43fdc0
44fccb:	8b f8                	mov    %eax,%edi
44fccd:	8b f2                	mov    %edx,%esi
44fccf:	0f b6 c3             	movzbl %bl,%eax
44fcd2:	99                   	cltd
44fcd3:	03 f8                	add    %eax,%edi
44fcd5:	13 f2                	adc    %edx,%esi
44fcd7:	8b 4d 1c             	mov    0x1c(%ebp),%ecx
44fcda:	e8 ef 31 00 00       	call   0x452ece